Skip to content

Releases: bushans/okfgen

okfgen v0.1.3 — ISO 8601 timestamps (OKF v0.2 revision)

Choose a tag to compare

@bushans bushans released this 07 Oct 03:36

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_modified in sources is 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.at already 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 okfgen

Full Changelog: v0.1.2...v0.1.3

okfgen v0.1.2 — turn any source into an Agent Skill

Choose a tag to compare

@bushans bushans released this 16 Aug 14:06

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-skill

It produces a SKILL.md with:

  • a name and a triggering description (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-skill

Links

Full Changelog: v0.1.1...v0.1.2

okfgen v0.1.1 — OKF v0.2 alignment + provenance

Choose a tag to compare

@bushans bushans released this 16 Aug 02:53

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 retired timestamp field).
  • 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 with usage_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

Full Changelog: v0.1.0...v0.1.1

okfgen v0.1.0 — make your systems agent-readable in one command

Choose a tag to compare

@bushans bushans released this 01 Jul 12:33

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.

demo

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.html

Links

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