fenic blog
Semantic DataFrames: engineering notes, shipping logs, and release notes.
Why and how we extended Polars with Rust expression plugins for fenic
The text operations an AI pipeline needs — chunking, prompt templating, jq, fuzzy matching, markdown and transcript parsing — aren't in Polars, and Python UDFs are slow and break composition. Here's why we wrote nine Rust expression plugins to extend Polars' engine, and how they're built, with the real code.
fenic 0.7.0: Gemini 3 Flash, Granular Thinking Levels — plus session and docs improvements
fenic 0.7.0 adds Gemini 3 Flash Preview with four thinking levels, optional usage summary suppression, and a use-case-first README overhaul.
fenic 0.6.0: LLM Caching, New Models, DataFrame Ops — plus PDF and Agent upgrades
fenic 0.6.0 adds persistent LLM response caching, Claude 4.5 / GPT-5.1 / Gemini 3 Pro support, 20+ new DataFrame operations, and expands PDF parsing to OpenAI and OpenRouter.
Why we built fenic
What would a data processing framework look like if we built it today? With modern workloads, unstructured data, and LLM inference as first-class compute.
