Authoritative, versioned PDF facts contract for Think Neverland tools.
Project description
title: "Overview" description: "Authoritative read-only PDF facts + render engine for Print with Synergy / Think Neverland tools. Versioned contract, schema-validated output, deployed as three services." group: "Getting started" order: 1 slug: "overview"
codexPDF
codexPDF is the authoritative, read-only PDF facts + render reference
for the Print with Synergy / Think Neverland tool family.
Other engines consult codexPDF for canonical document facts instead
of re-parsing PDFs independently. The contract is versioned and
schema-validated.
Status
codex-pdf 1.7.0. Current surface includes:
- Python package (
codex_pdf) with typedpydanticmodels. - CLI (
codex-pdf extract|schema|contract|validate|probe|parity|render|serve). - HTTP API (
/v1/extract,/v1/probe,/v1/extract/stream,/v1/render/{page,separations,heatmap,layer},/v1/sample/{color,density},/v1/walk/{type4,content-stream},/v1/color/{resolve,match-pantone,inkbook},/v1/geom/{tile,intersect,union,difference}). - TypeScript client (
@printwithsynergy/codex-client) mirroring the Pythoncodex_pdf.clientsurface, with SSE streaming for probe and extract. - Versioned schemas in
schemas/v1/(document, color, geom). - Cloudflare Worker (
codex-edge) providing a KV-backed write-through cache layer in front of the API. - Redis-Streams speculator (
codex-speculator) that pre-warms Phase 1 + Phase 2 caches.
See CLAUDE.md for the full deployed-service map
(URLs, account IDs, version-bump checklist).
Quickstart
uv sync
uv run codex-pdf probe input.pdf --json
uv run codex-pdf extract input.pdf --pretty > out.json
uv run codex-pdf validate out.json
uv run codex-pdf parity --fixtures-root tests/fixtures --profile summary --max-files 5
Run the HTTP API locally:
uv run codex-pdf serve --host 0.0.0.0 --port 8080
curl localhost:8080/v1/version
Contract
The public surface is the JSON contract rooted at CodexDocument,
plus the per-section contracts under color and geom.
- Document schema:
schemas/v1/codex-document.schema.json - Runtime model:
codex_pdf.models.v1.CodexDocument - Stability policy: SemVer (
majorfor breaking contract changes; field additions are minor bumps). - Live contract endpoint:
GET /v1/contractreturns the endpoint inventory plussection_schema_versions.
Documentation
| Topic | Doc |
|---|---|
| Architecture and boundaries | docs/architecture.md |
| CLI commands and usage | docs/cli.md |
| Contract and schema versioning | docs/contract.md |
| Deploying the API + speculator + edge | docs/deploy.md |
| Parity profiles and baselines | docs/parity.md |
| Preflight ingest adapters | docs/preflight-ingest.md |
| Service-ownership contract | docs/service-ownership-contract.md |
| Codex change ripple rule | docs/operations/codex-change-ripple.md |
| Marketing deploy template | docs/operations/marketing-deploy-template.md |
Contributing
We welcome PRs that fit codex's lane (extraction, normalization, detection signals). Display concerns belong in Loupe; rule pass/fail logic belongs in Lint.
Read CONTRIBUTING.md for the dev setup, test
commands, schema-bump rules, and release checklist.
Security
Please report vulnerabilities privately to
security@thinkneverland.com — do not open a public issue.
The full disclosure policy, supported-version matrix, and scope
(including the read-only PDF invariant) live in
SECURITY.md.
License
codexPDF is distributed under the GNU Affero General Public
License v3.0 or later (SPDX-License-Identifier: AGPL-3.0-or-later). The full license text is in
LICENSE.
AGPL applies in particular when codex is reachable over a network — modifications served to remote users must be made available to those users under the same terms.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codex_pdf-1.8.0.tar.gz.
File metadata
- Download URL: codex_pdf-1.8.0.tar.gz
- Upload date:
- Size: 726.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cd06d93c51ef092835eb9a303e9ad6c91237306ae9e071886dbf48d5692d242
|
|
| MD5 |
1ecd164fcfa477e314d77d0b450f86d4
|
|
| BLAKE2b-256 |
5784efa87815b81ef1b18e17c27e0e2d89ffdd8899859b7b83e854acb3c114da
|
File details
Details for the file codex_pdf-1.8.0-py3-none-any.whl.
File metadata
- Download URL: codex_pdf-1.8.0-py3-none-any.whl
- Upload date:
- Size: 605.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa7657f3f69b34eb5501ce93b5beb91a884e13c8f77472b0214e1d7b594e67e4
|
|
| MD5 |
7dee908b9ad7875be1efa4bfa9048ceb
|
|
| BLAKE2b-256 |
b79be092ab175b35685dc95f0c801bb62568462ccbe6518a1ca1a17c803b9128
|