Skip to main content

Implementations

OSF implementations

OSF is an open format — deliberately kept simple enough to be implemented standalone in any language. This chapter describes the concrete implementations of the format per programming language: what they can do, how to install or build them, and where the source code lives.

This is distinct from the Integrations chapter, which is about connecting to ecosystems (Arrow, PyTorch, MCP …), not about the language implementations themselves.

Status overview

Legend: ✅ available · 🚧 in active development · 📋 planned

ImplementationStatusSummary
DelphiReference implementation — full library, demos and the osftool CLI (Windows / RAD Studio)
Rust (osf-core)Read, write and transparent OSFZ; also the foundation of the Python binding
Python (osfdata)PyO3 bindings over the Rust core, NumPy integration; see Python integration
C++Standalone C++17 implementation — reader, both writers, C ABI; CI on Linux/macOS/Windows. Detailed developer handbook under C++ in detail
Java📋Architecture decided (Java 25, Maven, JPMS); no code yet
Other languages📋C, C#, MATLAB, JavaScript/TypeScript, Swift — planned

The repository on GitHub carries the most up-to-date status.

Where to start?

  • Analyse data (Python/notebook, pandas, ML): the osfdata package — pip install osfdata, load a file, channels as NumPy arrays.
  • Native integration / high performance (server, embedded): the Rust or C++ implementation.
  • Windows tooling / reference behaviour: the Delphi implementation together with the osftool command line.

All implementations read the same set of example files and follow the same semantic rules of the specification.