ChartBook
A developer platform for data science teams.
Discover, document, and share data science work across your organization. ChartBook provides a centralized catalog for data pipelines, charts, and documentation—making it easy to find, understand, and reuse analytics work.
Installation
pip install chartbook
One install, everything included: data loading, plotting utilities, and the CLI for building documentation.
Quick Start
Load data from a pipeline
from chartbook import data
df = data.load(pipeline="fred_charts", dataframe="fred")
Build documentation
chartbook docs generate
chartbook docs generate -f --watch # rebuild as you edit; refresh the browser
Check a project in CI
chartbook check # fails on broken paths, expiring licenses, and fields a [policy] requires
Ask the manifest where a file belongs
chartbook path repo_public # the path chartbook.toml declares for that dataframe
chartbook path chart/repo_rates # ...and for that chart
from chartbook import assets, data
df.to_parquet(data.path("repo_public")) # a dataframe
fig.write_html(assets.path("chart/repo_rates")) # anything else says its kind
Declare a trained model
[models.rate_forecaster]
path = "./_models/rate_forecaster.joblib"
trained_on = ["repo_public"]
metrics_path = "./_output/rate_forecaster_metrics.json"
from chartbook import models
joblib.dump(model, models.path("rate_forecaster")) # the model gets a page: scores, lineage
Browse your catalog
# List all pipelines, dataframes, and charts
chartbook ls
# List dataframes only
chartbook ls dataframes
# Get path to a dataframe's parquet file
chartbook data get-path --pipeline fred_charts --dataframe fred
See the documentation for configuration options and detailed guides.
Terminology
ChartBook supports two project types:
- Pipeline — A single analytics pipeline with its own charts, dataframes, and documentation
- Catalog — A collection of multiple pipelines aggregated into a unified documentation site
See Documenting a Pipeline and Catalogs and Data Access for how the two fit together, and Vocabulary for the words ChartBook uses: a manifest asks, a lockfile records what was got, a snapshot records what was made, and an index records what a site shows.
Features
- Pipeline Catalog — Organize and discover data pipelines across your team
- Documentation Generation — Build searchable documentation websites from your analytics work
- Data Governance — Track data sources, licenses, and access permissions
- Programmatic Data Access — Load pipeline outputs directly into pandas or polars
- Multi-Pipeline Catalogs — Aggregate multiple pipelines into a single documentation site
Documentation
Full documentation is available at backofficedev.github.io/chartbook.
Contributing
Contributions are welcome. See CONTRIBUTING for guidelines.
To work on ChartBook itself you need uv and nothing else. From a clone:
uv sync # the project, editable, and its dev toolchain, from uv.lock
uv run doit # notebooks, docs, examples, the package, then the test matrix
uv run doit build_package is the same without the tests, and uv run doit test is the suite on one Python.
License
Modified BSD License
Metadata
Release files for chartbook 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chartbook-0.2.0.tar.gz | 11.9 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chartbook-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.9 MB
Release files / chartbook-0.2.0.tar.gz
| Download URL | chartbook-0.2.0.tar.gz |
|---|---|
| Size | 11.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12e62ee47709d4623cc700c486e8aee7ed53adc085bee8c78d777401379f476c
|
|
BLAKE2b-256 checksum How to use checksums |
027c3c50b103e4560c221622394e29f4612e88aa1b6e966649b46f884c73780c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.28.1
|
Release files / chartbook-0.2.0-py3-none-any.whl
| Download URL | chartbook-0.2.0-py3-none-any.whl |
|---|---|
| Size | 12.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
77392b84cc07d70da25f1921b7fc6b782907542a6d25640feccf44f3f4beca7d
|
|
BLAKE2b-256 checksum How to use checksums |
51bdd55ee31820f68bc658f8a71f7dc3763522093a429f75dace977303850f9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.28.1
|
Security for chartbook 0.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.