← Back to Product Feed

Hacker News Show HN: fenic – LLMs as dataframe operators, query meaning and structure

LLMs as first-class dataframe operators, enabling intelligent query planning and unifying structured/unstructured data processing beyond opaque UDFs.

3
Traction Score
0
Discussions
Jul 1, 2026
Launch Date
View Origin Link

Product Positioning & Context

AI Executive Synthesis
LLMs as first-class dataframe operators, enabling intelligent query planning and unifying structured/unstructured data processing beyond opaque UDFs.
fenic addresses a critical developer pain point in the LLM era: integrating large language models into data pipelines without sacrificing performance, observability, or data integrity. By treating LLMs as first-class semantic operators within a dataframe API, it enables intelligent query planning, cost optimization (e.g., token caching, concurrent dispatch), and structured output. This moves beyond ad-hoc UDFs, offering a robust framework for combining traditional data processing with AI-driven semantic analysis. The market trend is towards operationalizing LLMs within existing data infrastructure. fenic provides a sophisticated solution for data engineers and scientists to build scalable, cost-efficient, and transparent LLM-powered data workflows, transforming unstructured data into actionable, structured insights.
Hey friends. I'd like to share a project that's dear to me. fenic is a dataframe API with LLMs added as first-class citizens, a classic lazy dataframe API extended with new operators that are backed by LLMs.What this gets you is the ability to work with structured and unstructured data in the same context. Most importantly, the LLMs aren't integrates as opaque UDF black boxes. They're exposed as "semantic" operators that the planner can reason about alongside the classic ones.(There are examples and code snippets on the repo to see how everything works together)Why build this? I'm a data infra / systems person. When LLMs showed up, what I saw was a new type of compute that changes the characteristics of the
workloads we deal with. I wanted to experiment with how our current systems can absorb these new workloads and compute types, and what it would take to make the DX as seamless as possible, that's where the UDF + arbitrary prompt was feeling too problematic.To support this properly, we had to introduce a few really cool things:New plan operators. You don't just send prompts at an LLM. You use operators like semantic join, semantic map and reduce, and semantic filter, among others. They mix with the classic operators, and because the planner sees them as real operators rather than black boxes, it can reorder work around them.Typed outputs. There's ergonomics to turn the output of a semantic operator straight into a typed dataframe column. A Pydantic schema for the LLM output becomes a typed struct column you can unnest, explode, and so on.New data types like a markdown data type. Markdown became an important way to share information with LLMs, even though it started life as a way to format text for presentation. It carries structure, and being able to access that structure the way you would a struct or JSON type adds to the developer experience I mentioned.Async UDFs. One of the more interesting shifts in workloads from the LLM explosion is the need to put heavily I/O-bound steps in your pipeline: fetching a response from an API, crawling a website, and so on. Async UDFs fill that gap, and the implementation handles the nuances for you: concurrency, retries, and the rest.An LLM-inference-aware planner and runtime. This is one of the parts I'm most excited about, and there's a lot still to do. Today: identical prompts within a batch collapse to a single model call, so duplicates cost zero tokens; requests are dispatched concurrently under per-provider rpm/tpm limits with retries and backoff; null and empty cells skip the model entirely; and you get token and cost metrics per operator. There's also an optional persistent response cache so re-runs skip the model.MCP as a new catalog primitive. Much like a registered view, you can register a dataframe pipeline as an MCP tool in the catalog. fenic then serves an MCP server with that pipeline as the tool's logic, executed over your data.These are just some of what's gone into fenic while experimenting with how LLMs can become part of our compute infrastructure. There's more, and plenty more to polish on what's already there.I've been using fenic for all sorts of things. On the small/personal end, I use it to take my podcast audio recordings and turn them into nicely structured tables of metadata I can research. On the heavier end, I use it as tooling for agents to analyze agent traces exported from Pydantic Logfire, to discover evals and turn them into reproducible artifacts in the form of dataframe pipelines. pip install fenic
Repo: https://github.com/typedef-ai/fenic
Docs: https://docs.fenic.ai

There's also a skill you can use with claude code, codex etc. to quickly get started with fenic in your favourite agentic coding environment.I'd love to hear your thoughts, criticism, and anything else that comes to mind.I'm here to answer questions.
dataframe API LLMs as first-class citizens lazy dataframe API semantic operators planner structured and unstructured data UDF black boxes semantic join

Related Ecosystem & Alternatives

Discover adjacent products, open-source repositories, and developer tools sharing similar technical architecture.

Deep-Dive FAQs

What is fenic – LLMs as dataframe operators, query meaning and structure?
fenic – LLMs as dataframe operators, query meaning and structure is analyzed by our AI as: LLMs as first-class dataframe operators, enabling intelligent query planning and unifying structured/unstructured data processing beyond opaque UDFs.. It focuses on fenic addresses a critical developer pain point in the LLM era: integrating large language models into data pipelines without sacrificing performan...
Where did fenic – LLMs as dataframe operators, query meaning and structure originate?
Data for fenic – LLMs as dataframe operators, query meaning and structure was aggregated directly from the Hacker News community ecosystem, representing raw developer and early-adopter sentiment.
When was fenic – LLMs as dataframe operators, query meaning and structure publicly launched?
The initial public indexing or launch date for fenic – LLMs as dataframe operators, query meaning and structure within our tracked developer communities was recorded on July 1, 2026.
How popular is fenic – LLMs as dataframe operators, query meaning and structure?
fenic – LLMs as dataframe operators, query meaning and structure has achieved measurable traction, logging over 3 traction score and facilitating 0 recorded discussions or engagements.
Which technical categories define fenic – LLMs as dataframe operators, query meaning and structure?
Based on metadata extraction, fenic – LLMs as dataframe operators, query meaning and structure is categorized under topics such as: dataframe API, LLMs as first-class citizens, lazy dataframe API, semantic operators.
How does the creator describe fenic – LLMs as dataframe operators, query meaning and structure?
The original author or development team describes the product as follows: "Hey friends. I'd like to share a project that's dear to me. fenic is a dataframe API with LLMs added as first-class citizens, a classic lazy dataframe API extended with new operators that are backe..."

Community Voice & Feedback

No active discussions extracted yet.

Discovery Source

Hacker News Hacker News

Aggregated via automated community intelligence tracking.

Tech Stack Dependencies

No direct open-source NPM package mentions detected in the product documentation.

Media Tractions & Mentions

No mainstream media stories specifically mentioning this product name have been intercepted yet.

Deep Research & Science

No direct peer-reviewed scientific literature matched with this product's architecture.