OpenDataSuite (ODS)
A Rust-first, provider-neutral control plane for analytics engineering. It starts with dbt and Databricks, and every decision it makes can be explained.
Status: very experimental, pre-alpha. There is no release yet: the first, v0.0.1, is the State MVP with the first dashboard screens.
ods state, theods servedashboard, column-level lineage, ERDs and an MCP server work as previews; everything may change.Documentation: https://buchochelliq-labs.github.io/open-data-suite/ (built from
docs/with MkDocs:pip install -r requirements-docs.txt && mkdocs serve).Install: from v0.0.1,
pip install opendatasuiteputsodson your PATH next to dbt.cargo binstall, direct downloads and Homebrew (coming soon):docs/install.md. Until then, build from source:cargo install --locked --git https://github.com/buchochelliq-labs/open-data-suite ods-cli.
ods state build runs dbt build on only what changed (code, or upstream data), shows
each node's result as it finishes, and explains why each one ran:
ods serve is a read-only dashboard of the project and its state: the plan, the runs
with each node's stats, lineage coloured by what the next run does, and the catalog.
cd my-dbt-project
ods doctor # can ODS work here?
ods state plan # what would build, what would be reused, and why
ods state build # dbt build, on only what needs it; records the run
ods state explain customers # why a node builds, traced to the root cause
ods state history --run <run_id> # one run's per-node stats, from its journal
ods state retry --failed # build only what failed, or was skipped because of it
ods serve # the dashboard, on http://127.0.0.1:8765/
These recordings are the real ods on the demo project in fixtures/, with a fake dbt;
docs/recordings.md says how they're made and checked.
| Module | What it does | Target |
|---|---|---|
ods state |
Incremental, explainable "what needs to run", handed back to dbt with exact selection; per-node run stats and a run journal | v0.0.1 |
ods serve dashboard |
Read-only web view of State, runs, lineage and the catalog; every screen of the design by v0.1.0 | v0.0.1 (first screens), v0.1.0 (complete) |
ods lineage |
Column-level lineage, change impact, an offline explorer and OpenLineage export | preview |
ods erd / ods usage |
Entity-relationship model and real consumer usage | v0.3.0 (ods erd generate is a preview today) |
ods ci |
Change impact, selective CI, and PR reports | v0.4.0 |
ods lsp + VS Code |
Clean-room language server and editor extension | v0.5.0 |
ods agent |
Policy-controlled analytics-engineering agent and skills; ods mcp serves the engines to agents today |
v0.6.0 |
Releases stay v0.0.x until the whole dashboard design is built; v0.1.0 marks the complete dashboard.
- Roadmap, milestones, and releases:
docs/ROADMAP.md - Command reference:
docs/cli.md - Contributor and AI-agent guide:
AGENTS.md - Architecture decisions:
docs/adr/
Licence
Licensed under the Apache License, Version 2.0.
Metadata
Release files for opendatasuite 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| opendatasuite-0.0.1-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| opendatasuite-0.0.1-py3-none-musllinux_1_2_x86_64.whl | Python 3 | none | Linux musl 1.2+ x86-64 | Details |
| opendatasuite-0.0.1-py3-none-musllinux_1_2_aarch64.whl | Python 3 | none | Linux musl 1.2+ ARM64 | Details |
| opendatasuite-0.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| opendatasuite-0.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| opendatasuite-0.0.1-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| opendatasuite-0.0.1-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 81.2 MB
Release files / opendatasuite-0.0.1-py3-none-win_amd64.whl
| Download URL | opendatasuite-0.0.1-py3-none-win_amd64.whl |
|---|---|
| Size | 11.9 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2fb7ac2bd6d772149bb0ce0550000c1b61be04bc7505d5b5c7136e47650b5467
|
|
BLAKE2b-256 checksum How to use checksums |
cf3e8f0b17425fe8b0b76be82f1b7f029657a52a106b4a924d0691eb179e51c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / opendatasuite-0.0.1-py3-none-musllinux_1_2_x86_64.whl
| Download URL | opendatasuite-0.0.1-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
88d03debcd39f77ba17058a5cc56e61d1973578f3e25ce9292b1fcae15f39f87
|
|
BLAKE2b-256 checksum How to use checksums |
77bdd7c33dbb140945b4d7162c29d67ba348d517ce6ef9fecb6c33c344c79b4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / opendatasuite-0.0.1-py3-none-musllinux_1_2_aarch64.whl
| Download URL | opendatasuite-0.0.1-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 11.2 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
6e6b43c60f32e317b0df7f105427fb08224fbf29a8f3702fdcbe5bdd0297ca4b
|
|
BLAKE2b-256 checksum How to use checksums |
b617ff042e5c6c131cd1312ad060c6a51426ce3baca5c465676eb4e099d0002b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / opendatasuite-0.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | opendatasuite-0.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 12.1 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
1c5596beb867ef96a3a314f1189125f0b565bdd6bb40283a53a94a6cc9268d8a
|
|
BLAKE2b-256 checksum How to use checksums |
634511581e9cc174be3c5adfb25c0c7a721601b2e07a8e8bc34126870bca6f63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / opendatasuite-0.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | opendatasuite-0.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 11.2 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
689a7f2f6a3073cddf9239c52ae8c6648464553186e0382456476d5212315fee
|
|
BLAKE2b-256 checksum How to use checksums |
b9d01cfaae4c8f96c7eba6e1261aacd82d6e769344b072b855a3c975d12abd82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / opendatasuite-0.0.1-py3-none-macosx_11_0_arm64.whl
| Download URL | opendatasuite-0.0.1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 11.0 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
804abe6b7aea1c67c416edde4163f4e5b54e906cb8b52c29dfeb0ece60381876
|
|
BLAKE2b-256 checksum How to use checksums |
06bbaa485969128659ad9afb1d768de1d9a8a9c4887a8749ec66400248253610
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / opendatasuite-0.0.1-py3-none-macosx_10_12_x86_64.whl
| Download URL | opendatasuite-0.0.1-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 11.6 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
c86fb822fc6151226d9c6dc58e4c9dd00f463c49e24d1701374be4197b712941
|
|
BLAKE2b-256 checksum How to use checksums |
04e711a381056631054016e4f539fa3ee6722fdf5a83a6fa575973c721d29d75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log