Skip to content
CommunityTools & CLIs

DocJev

Classifies and splits PDFs, DOCX, and PPTX with local page text from LiteParse and category decisions from Jev.

Category
Tools & CLIs
Format
—
Published by
Community
Author
jerryjliu
Added
2026-09-28
Last verified
2026-09-28

jerryjliu/docjev

User repository on GitHub

View on GitHub

A very fast document classifier/splitter using Jev

GitHub stars
468
Forks
32
Primary language
Python
License
apache-2.0
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Sep 2026.

Highlights

  • Classify returns one category, probabilities, and review flags. Split returns ordered categories and page ranges.
  • On a 40-document pilot both engines classified 40 of 40 originals correctly. Jev split 7 of 8 packets exactly.
  • A 15-page public-finance packet keeps a ten-page BEA release together and separates two adjacent Treasury results.
  • DOCX and PPTX need LibreOffice. Native PDFs do not.
  • Local OCR does not make the Jev call offline.

Quickstart

bash
uv sync
uv run docjev classify examples/real/originals/r04.pdf \
  --rules examples/real/classify/rules.yaml

Watch out

Apache-2.0. Needs Python 3.11+ and TYPESAFE_API_KEY. Independent of LlamaIndex hosted classify or split. The next 40-document set is a protocol, not a measured result.

Related terms

Glossary definitions related to this entry.

More like this

297GitHub stars
An experimental Sutro CLI that evaluates CSV, Parquet, and JSONL data with Jev, asks you to label ambiguous and random audit rows, and uses GEPA to propose improved function definitions.
Tools & CLIs#community#python#cli
87GitHub stars
A Rust CLI and PyO3 library that streams JSONL and Parquet rows through Jev Noul and Score rubrics, writing clean and rejected records to disk without rewriting content.
Tools & CLIs#community#rust#cli
19GitHub stars
An IMAP client that turns each inbox category into a Noul, then tags, moves, flags, or calls a webhook when the probability clears that category's threshold.
Tools & CLIs#community#python#email

From the guides

Original write-ups that draw on this entry.

Jev labels a record that already exists. Code moves, flags, or holds it. How the document, mail, and transfer tools keep the action out of the model.
Tools & CLIs#classification#email#security
Read article
Back to all resources

From the community

Posts from builders shipping with Jev right now.

Follow @typesafeai

Browser Use Ultrafast, powered by Jev

A really smart switch statement

hype-free explanation of jev: jev does not replace gpt / claude jev is just a *really* smart switch statement like if 2016 ml classifiers got 2026 levels of intelligence it's a new* type of tool that will make a lot of workloads insanely fast, cheap, and accurate * = and by Show more

Diogo Almeida
Diogo Almeida
TypeSafe AI
@CompleteSkeptic

After co-inventing ChatGPT, I kept asking myself: why have superhuman chat models not led to AGI? I’ve spent the last 2 years in stealth building a new way to train models (RLCD), and a new type of frontier AI model that we are releasing today: Jev • 20-200x faster • 40-400x

Reply

When a designer gets Jev

Full Jev video tutorial

The case against Jev-scored compaction

This is a terrible compaction strategy that fundamentally doesn't understand how compaction and context management work. Seems like a lot of people are confused so let's break this down. 1. Compaction isn't a filter The role of compaction is to clean up history to keep the Show more

tamara
tamara
@tamarajtran

found the perfect use case for @typesafeai Jev: instant compaction in 2026, why is compaction still a summarization prompt? Jev can make it instant by scoring every tool call and dropping what’s irrelevant

Reply

Classifying rows in DuckDB