HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
typedef-ai
fenic
Python2025–2026
typedef-ai / fenic

fenic

Semantic DataFrames for humans and agents

2Distinct people
4Mentions
0Explicit recommenders
680GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Semantic DataFrames for humans and agents

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month4 dated mentions

Observed mentions: 2025-06-18 17:35:44 UTC to 2026-06-30 16:39:40 UTC.

0122025-06-01 00:00:00 UTC to 2025-07-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJun 20252025-07-01 00:00:00 UTC to 2025-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-08-01 00:00:00 UTC to 2025-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-09-01 00:00:00 UTC to 2025-10-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2025-10-01 00:00:00 UTC to 2025-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-01 00:00:00 UTC to 2025-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-12-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsDec 20252026-01-01 00:00:00 UTC to 2026-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-01 00:00:00 UTC to 2026-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-01 00:00:00 UTC to 2026-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-01 00:00:00 UTC to 2026-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-01 00:00:00 UTC to 2026-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-01 00:00:00 UTC to 2026-07-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJun 2026

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jun 20252025-06-01 00:00:00 UTC2025-07-01 00:00:00 UTC110
Jul 20252025-07-01 00:00:00 UTC2025-08-01 00:00:00 UTC000
Aug 20252025-08-01 00:00:00 UTC2025-09-01 00:00:00 UTC000
Sep 20252025-09-01 00:00:00 UTC2025-10-01 00:00:00 UTC211
Oct 20252025-10-01 00:00:00 UTC2025-11-01 00:00:00 UTC000
Nov 20252025-11-01 00:00:00 UTC2025-12-01 00:00:00 UTC000
Dec 20252025-12-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
Jan 20262026-01-01 00:00:00 UTC2026-02-01 00:00:00 UTC000
Feb 20262026-02-01 00:00:00 UTC2026-03-01 00:00:00 UTC000
Mar 20262026-03-01 00:00:00 UTC2026-04-01 00:00:00 UTC000
Apr 20262026-04-01 00:00:00 UTC2026-05-01 00:00:00 UTC000
May 20262026-05-01 00:00:00 UTC2026-06-01 00:00:00 UTC000
Jun 20262026-06-01 00:00:00 UTC2026-07-01 00:00:00 UTC110

What Hacker News says

4 sources
cpard·Jun 30, 2026Submission

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

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
Read the rest
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.
3 points · Open discussion
The valuable lesson from what Cloudflare claims is that if you want to make an LLM perform as you expect you have to build considering their strengths and weaknesses. You can see the same behavior if you try to ask an LLM to code in an API that is not commonly used. When it comes to MCP tooling I followed a different path but with similar assumptions. There are tools that LLMs have been Rled to death to use. So I’m modeling my tools after them. Specifically, I try to have a “glob” tool, used to let the LLM figure out structure. A search and a read tool and use regexp as much as possible for passing parameters. You can see an early version of this pattern here: https://github.com/typedef-ai/fenic/blob/main/examples/mcp/d... It has been working well, at least in terms of the model knowing how to invoke and use the tools. I have to say thoug
Read the rest
h that each model is different. I see differences between Claude code and Codex when I use the MCP for development, at least on how good they are in retrieving the information they need. Maybe I should try to run some benchmarking and compare more formally
In Show HN: I built an MCP server using Cloudflare's code mode pattern
cpard·Sep 10, 2025Submission

Show HN: A "Codebase" as an MCP Server

We built a reference MCP server that lets your editor/agent learn a codebase directly from source (signatures, types, AST, comments). Docs are optional. The reference impl runs on our open-source project’s codebase. Why we built it Docs are important, but they add another abstraction layer between your code and your users. Keeping them at the right quality is hard (especially at a startup), and LLM-generated docs are often mediocre until you invest real polish. Exposing code to the model in a structured way keeps answers grounded and current, and it’s always available. You can even switch across releases/branches. Why share this Building this for our own repo showed us how much leverage such a tool can give and how little glue you need to ship one. We did it for ourselves, but we think every repo can (and probably should) do it too. Bigge
Read the rest
r picture In platforms/infra, “learn a new paradigm” has been an incumbent moat. LLMs + the right MCP tools can flatten that curve so more people adopt new stacks quickly and ship faster. How to try it Hosted over HTTP [2]. With Claude Code: claude mcp add -t http fenic-docs https://mcp.fenic.ai Then ask: “What is fenic?” For local and more prompts, see [1]. If you want to take a look at the data without running the pipeline and performing the processing + inference, check [3]. Links [1] Example impl + prompt starter pack + local setup: https://github.com/typedef-ai/fenic/tree/main/examples/mcp/d... [2] Hosted endpoint: https://mcp.fenic.ai [3] Generated dataset used by the MCP server: https://huggingface.co/datasets/typedef-ai/fenic-0.4.0-codeb... It’s not perfect, but it meaningfully improves the DX. We’d love feedback!
20 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.