Skip to content
@docspec

docspec

DocSpec

Streaming document conversion for sovereign collaboration.

Documents, as they flow. DocSpec converts between document formats as a stream of typed events — one event at a time, in constant memory, never buffering the whole document. Built in Rust, from the same discipline end to end.

Funded by NLnet through the NGI0 Commons Fund, and the Netherlands' Ministry of the Interior and Kingdom Relations.

NLnet    NGI0 Commons Fund    Ministerie van Binnenlandse Zaken en Koninkrijksrelaties

Used by DINUM — La Suite Numérique.

Gouvernement    La Suite Numérique

Pipeline

Any reader feeds any writer; the event stream is the only contract between them.

What works today

  • Reads DOCX, HTML, Markdown
  • Writes HTML, Markdown, BlockNote JSON, oxa.dev JSON, Pandoc native
  • HTTP API — a streaming conversion server, available now: docspec http, or the ghcr.io/docspec/api image
  • Constant memory — documents stream through event by event, whatever their size

Planned: ODT, PDF, Typst, EPUB, and Tiptap.

In production

DocSpec powers document import for La Suite Docs, part of the Franco-German-Dutch sovereign collaboration stack under DC-EDIC.

Repositories

  • docspec/docspec — the Rust workspace: libraries, the CLI, and the HTTP server

Links

License

MIT

Thanks

This work grew out of the mentoring and support of @virgile-dev.

Pinned Loading

  1. spec spec Public archive

    TypeScript 1

Repositories

Showing 8 of 8 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…