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
| Implementation | Status | Summary |
|---|---|---|
| Delphi | ✅ | Reference 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
osfdatapackage —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
osftoolcommand line.
All implementations read the same set of example files and follow the same semantic rules of the specification.