Skip to main content

ChartBook

A developer platform for data science teams.

PyPI - Version PyPI - Python Version GitHub Stars Documentation

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)

Source distribution for chartbook 0.2.0
File Size Uploaded Provenance
chartbook-0.2.0.tar.gz 11.9 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for chartbook 0.2.0
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page