hfjev
Python and Node library that classifies Hugging Face dataset rows on typed Choice, Score and Noul dimensions using Jev.
Overview
hfjev loads any Hugging Face dataset and classifies each row across semantic dimensions with TypeSafe Jev System One. It is aimed at people curating or auditing datasets who want per-row labels with probabilities instead of free-text LLM annotations. The library picks a default rubric pack based on the dataset domain (reviews, news, LLM tuning data, support) and runs all questions for a row in a single parallel System One call.
Users can override the defaults with their own Choice, Noul or Score primitives through adapt(), stream results row by row for live feeds, or use a CLI. Packages exist for both Python (PyPI) and JavaScript (npm), and an interactive web studio on GitHub Pages lets you import datasets or local CSV/JSON files, classify them, and export enriched data with scores and token telemetry. A bench folder compares fan-out execution latency.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this about artificial intelligence? | yes · no |
| Score | Rate story urgency | Low · Breaking |
| Choice | Domain-specific label chosen by the auto-adapted rubric pack(inferred) | — |
How it works
- Load a Hugging Face dataset or local file by name
- Auto-select a domain rubric or supply custom dimensions with adapt()
- Send each row's text plus all questions in one parallel Jev call
- Collect per-answer probabilities, stream or batch
- Export enriched rows to CSV, JSON or JSONL
Strengths
- One call per row covers every dimension, keeping cost and latency down
- Probabilities per answer rather than generated text
- Same API in Python and JavaScript, plus a no-install web studio
Caveats
- Requires a TypeSafe API key and network access
- Default domain packs may not match niche datasets without customisation
Getting started
`pip install hfjev` or `npm install hfjev`, then `hfjev cornell-movie-review-data/rotten_tomatoes --limit 5`.At a glance
- Type
- Project
- Status
- beta
- Language
- Python, TypeScript
- Runtime
- Python library, Node library, CLI, browser studio
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Classify Hugging Face datasets across typed semantic dimensions with TypeSafe Jev System One. Auto-adapts evaluation rubrics to dataset domains (reviews, news, LLM tuning, support) and classifies rows in a single parallel System One call with calibrated probabilities.
logicrw/awesome-jev-projects
Frequently asked questions
What does hfjev decide?
It answers typed questions about each dataset row, such as topic yes/no or an urgency score, and returns probabilities for each answer.
Can I define my own labels?
Yes. adapt() accepts your own Choice, Noul or Score dimensions and replaces the default domain pack.
Is there a way to try it without code?
Yes, the hosted studio at hemanth.github.io/hfjev lets you import, classify and export datasets in the browser.
Related projects
Polars library for parallel LLM inference that also asks Jev per-row Noul, Choice and Score questions through a native Rust layer.
LibrarybetaPythonPython library with a TypeScript port that turns Jev questions into functions over lists and DataFrames, with caching and escalation.
LibrarybetaPython, TypeScriptpandas and Polars .jev accessor for classifying, sentiment-scoring and grading DataFrame rows with Jev probabilities.
DemobetaPythonNushell plugin that asks Jev noul, choice and score questions about a state or each table row, returning typed answers to filter.
PluginbetaRustPython batching proxy that asks the same Jev questions about many states and streams answers back as Apache Arrow tables.
ProxyprototypePythonCommand-line tool for Laya typed decisions with presets, batch streaming, shortlisting, evaluation and a resident daemon.
CLIbetaPython