dbt-ditto
same as above. dbt-ditto propagates column documentation down the dbt graph and
writes it back into your schema YAML. It reads the manifest.json and
catalog.json dbt already wrote, so it needs no dbt, no Python and no warehouse
connection — a single static Go binary.
uv add dbt-ditto # or: pip install dbt-ditto
dbt-ditto inherit path/to/project
What it does
- Inherits descriptions, meta and tags down the DAG, and syncs the column list, data types and schema-file placement against the catalog.
- Reproduces dbt-osmosis byte for byte, reading your existing
+dbt-osmosis:path templates as-is. No migration. - Crosses project boundaries for dbt-loom setups, reading
dbt_loom.config.ymlso the upstream list is not maintained twice. It does not replace loom: loom injects nodes at dbt runtime, ditto runs afterwards over artifacts on disk. - Documents source tables, which inheritance can never reach, from warehouse comments, backfill from downstream, or source providers that ask the warehouse directly.
- Takes explicit instructions for renamed columns, and has a
--checkmode that fails CI on stale documentation without writing.
An order of magnitude faster than dbt-osmosis, never re-parsing the project (benchmark).
flowchart LR
UM["upstream project<br/>manifest + catalog"] --> DITTO
DM["your project<br/>manifest + catalog"] --> DITTO["dbt-ditto inherit"]
LC["dbt_loom.config.yml"] -.-> DITTO
SP["source provider"] -.-> DITTO
DITTO --> DY["your schema YAML"]
DITTO --> ERR["warnings on stderr"]
Active, pre-1.0. Support is best-effort via GitHub issues.
Documentation
Using it
- docs/usage.md — install, run, and every task it does.
- docs/configuration.md — every setting and default.
- docs/source-providers.md — raw tables from the warehouse.
Working on it
- CONTRIBUTING.md — build, test, parity proof, release.
- AGENTS.md — architecture, internals, traps.
License
MIT — see LICENSE.
Metadata
Release files for dbt-ditto 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| dbt_ditto-0.0.3-py3-none-win_arm64.whl | Python 3 | none | Windows ARM64 | Details |
| dbt_ditto-0.0.3-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| dbt_ditto-0.0.3-py3-none-musllinux_1_1_x86_64.whl | Python 3 | none | Linux musl 1.1+ x86-64 | Details |
| dbt_ditto-0.0.3-py3-none-musllinux_1_1_aarch64.whl | Python 3 | none | Linux musl 1.1+ ARM64 | Details |
| dbt_ditto-0.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| dbt_ditto-0.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| dbt_ditto-0.0.3-py3-none-macosx_11_0_x86_64.whl | Python 3 | none | macOS 11.0+ x86-64 | Details |
| dbt_ditto-0.0.3-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 12.0 MB
Release files / dbt_ditto-0.0.3-py3-none-win_arm64.whl
| Download URL | dbt_ditto-0.0.3-py3-none-win_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
e4817efcaff469ed9aa90219998b3407294173764cf6204daaa7ae3ce8978c36
|
|
BLAKE2b-256 checksum How to use checksums |
15e68be7570cfae2d2c68291d81a5f5bf3aaa5844eb19823177c02aab5052bd6
|
| 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 22, 2026.
Transparency logRelease files / dbt_ditto-0.0.3-py3-none-win_amd64.whl
| Download URL | dbt_ditto-0.0.3-py3-none-win_amd64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3f47d8b6b4c232220ca5a3babd254e7a4b16cbd8337c0993c1b5d645fcc7c271
|
|
BLAKE2b-256 checksum How to use checksums |
f81f11b972d3fa583cf74ffc2a8522d7cde0526b8c2ac7ffa9c48f0d40645b34
|
| 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 22, 2026.
Transparency logRelease files / dbt_ditto-0.0.3-py3-none-musllinux_1_1_x86_64.whl
| Download URL | dbt_ditto-0.0.3-py3-none-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Linux musl 1.1+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
a585ca6e7525a5778bb988d16a544a8777a6d3c35e08d19e20c46f46b60a9816
|
|
BLAKE2b-256 checksum How to use checksums |
3ef2a6691f6597fceb12adbaadf66b04a611c4d22141a14665e6317bdfdc478d
|
| 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 22, 2026.
Transparency logRelease files / dbt_ditto-0.0.3-py3-none-musllinux_1_1_aarch64.whl
| Download URL | dbt_ditto-0.0.3-py3-none-musllinux_1_1_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Linux musl 1.1+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
f2eb574df79f5e7688a7b742a85a66e79e7f1da3e939ad45f2f6ff794e360b55
|
|
BLAKE2b-256 checksum How to use checksums |
3e885bbb9fbcbe286068e7f41096c85d112ba31682dfc0f934cb35e2336df7ff
|
| 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 22, 2026.
Transparency logRelease files / dbt_ditto-0.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dbt_ditto-0.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
ae00449aca34696daa16c917956724a201f40568a158f86cdb0e99ef21d0a8ce
|
|
BLAKE2b-256 checksum How to use checksums |
0c789118e00eb03eb1bf3b47d5e1ae47e8edadc17ef499a609a8b955b2669bb2
|
| 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 22, 2026.
Transparency logRelease files / dbt_ditto-0.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | dbt_ditto-0.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
75063f81ccc17e54d0e6a5a51cc2cc1ae5985f68ce4889dd74f75df8eb4cd646
|
|
BLAKE2b-256 checksum How to use checksums |
27998535768e68f6d89039a9fc73c82b3973450e2c843e9a488f061abf0f6dcf
|
| 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 22, 2026.
Transparency logRelease files / dbt_ditto-0.0.3-py3-none-macosx_11_0_x86_64.whl
| Download URL | dbt_ditto-0.0.3-py3-none-macosx_11_0_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Python 3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
5a63628d41ac93df718d6bede38f0bed67056fe1d2ee7f49e0f125481599a85f
|
|
BLAKE2b-256 checksum How to use checksums |
60347f999ba3d66cc339aca12944b007c221a79a775a7e4cb06ec97b4ce2b060
|
| 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 22, 2026.
Transparency logRelease files / dbt_ditto-0.0.3-py3-none-macosx_11_0_arm64.whl
| Download URL | dbt_ditto-0.0.3-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
65a1e4a64d3b428c3c653fe4650e08189a5ffa6826e06f335f77786951dc956b
|
|
BLAKE2b-256 checksum How to use checksums |
8aeca7c985c952d4f87aa29640440b3fbe01aafffc97e2e716f7396f9dc99750
|
| 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 22, 2026.
Transparency logSecurity for dbt-ditto 0.0.3
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.
Full provenance
All 8 files in this release have been uploaded with provenance metadata.
Attestation for dbt_ditto-0.0.3-py3-none-win_arm64.whl
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 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.