Repository navigation
Releases: bushans/okfgen
Release list
okfgen v0.1.3 — ISO 8601 timestamps (OKF v0.2 revision)
Keeps okfgen faithful to the latest OKF v0.2 spec.
Google revised the OKF v0.2 specification in place (same version number) to require that every timestamp-valued key be an ISO 8601 datetime with an explicit UTC offset, not a bare YYYY-MM-DD date. okfgen's built-in spec-drift watcher caught it, and this release brings the output in line.
What changed
last_modifiedinsourcesis now emitted as a full ISO 8601 UTC datetime (e.g.2026-04-15T00:00:00Z) instead of a date.- The Socrata and git/local producers pass full timestamps through.
generated.atalready carried a UTC offset — unchanged.
Conformance rules are unchanged, so existing bundles still validate; this just makes okfgen's provenance timestamps match the revised spec exactly.
Install / upgrade
pip install -U okfgenFull Changelog: v0.1.2...v0.1.3
okfgen v0.1.2 — turn any source into an Agent Skill
okfgen can now turn any source into an Agent Skill.
Highlights
New: okfgen skill — turn a repo, database, docs site, open-data portal, or an existing OKF bundle into an Agent Skill folder:
okfgen skill ./my-repo -o my-skillIt produces a SKILL.md with:
- a
nameand a triggeringdescription(what it covers and when to use it, with real keywords pulled from the source), - lean instructions (how to use the reference, respect provenance, don't invent facts),
and the OKF bundle alongside under reference/ — progressive disclosure, so an agent loads detail only when it needs it. Deterministic by default; --llm sharpens the description.
Also available as the okfgen_skill MCP tool, so Claude/Cursor can say "make a skill from this repo" and get one.
Install / upgrade
pip install -U okfgen # or: uvx okfgen skill ./my-repo -o my-skillLinks
- 🎨 Live demo gallery: https://bushans.github.io/okfgen/
- 📦 PyPI: https://pypi.org/project/okfgen/
Full Changelog: v0.1.1...v0.1.2
okfgen v0.1.1 — OKF v0.2 alignment + provenance
okfgen now tracks OKF v0.2 — with provenance and real credibility signals.
Google bumped the Open Knowledge Format from v0.1 to v0.2 (a backward-compatible minor bump). okfgen's built-in spec-drift watcher caught it, and this release brings okfgen in line — and puts the new provenance model to work.
Highlights
OKF v0.2 alignment
- Bundles now declare
okf_version: "0.2". - Each concept records how it was produced:
generated: { by: okfgen/…, at: … }(the v0.2 replacement for the retiredtimestampfield). - Validator, consumer, and conventional headings updated to v0.2; existing v0.1 bundles still validate and load.
Provenance with real credibility signals (sources)
Every concept now records what it derives from in the v0.2 sources family — including the objective credibility signals the source actually exposes:
- CKAN: publisher + last-modified per dataset/resource.
- Socrata: publisher, real view counts (
usage_count), and last-updated — e.g. NYC 311 comes through withusage_count: 1281089. - git / local: per-file and per-module
last_modified(mtime). - schema / BigQuery / Firebase: resource + last-modified where available.
Install / upgrade
pip install -U okfgen # or: uvx okfgen generate .Links
- 🎨 Live demo gallery: https://bushans.github.io/okfgen/
- 📦 PyPI: https://pypi.org/project/okfgen/
Full Changelog: v0.1.0...v0.1.1
okfgen v0.1.0 — make your systems agent-readable in one command
okfgen turns any repo, database, docs site, or open-data portal into a portable, agent-ready knowledge graph — deterministically, with no LLM and no API key. It's a reference implementation of both sides of Google's Open Knowledge Format: producing OKF bundles and consuming them.
Install
uvx okfgen generate . # zero-install
pip install okfgen # or: pip install "okfgen[all]"Highlights
Producers — make a bundle from your data
git, local directory, database schema (schema:JSON/SQL), BigQuery (bq:), Firebase/Firestore (firebase:), web docs, and live open-data portals via CKAN (ckan:) and Socrata (socrata:) — no auth, works against data.gov, NYC, Toronto, and thousands of gov portals.- The core runs on the Python standard library alone — zero required third-party deps. Cloud SDKs are optional extras, loaded lazily.
Enrichment agent (pass 2)
- Infers foreign-key join paths between tables (
customer_id → customers) and wires backlinks so the graph is navigable both ways.
Consumers — read any bundle back
- visualize → a self-contained interactive graph (one HTML file, no backend, data never leaves the page)
- search → a TF-IDF full-text index
- ask → a reasoning agent that answers with citations and shows the concepts it traversed
- validate → OKF v0.1 conformance check
Use it inside your AI agent (MCP)
- Ships an MCP server (
okfgen-mcp) exposing generate/search/ask/validate/visualize as tools for Claude Desktop, Claude Code, and Cursor.
Deterministic by default — reproducible facts, not hallucinations; runs offline. An optional --llm flag adds Claude-written polish where you want it.
Try it
uvx okfgen generate . -o my-okf
uvx okfgen visualize my-okf -o my-okf/graph.htmlLinks
- 🎨 Live demo gallery: https://bushans.github.io/okfgen/
- 📦 PyPI: https://pypi.org/project/okfgen/
- 📖 Getting started: TESTING.md
Notes
- The OKF spec is a v0.1 draft; okfgen tracks it and includes an automated spec-drift watcher.
- Feedback very welcome — especially on the producer adapters and where the deterministic extraction falls short.
Full Changelog: https://github.com/bushans/okfgen/commits/v0.1.0
