CLI Reference#
Every command supports --help. Everything the CLI needs ships with pip install chartbook; see Getting Started.
Command |
Purpose |
|---|---|
|
Scaffold a new pipeline project |
|
Generate the documentation site |
|
Open the generated site in a browser |
|
Stage a pipeline’s publishable files into a directory |
|
Manage a catalog and its site |
|
List cataloged objects |
|
Look up a dataframe’s file or write-up |
|
Summarize every data file your |
|
Set the default catalog for data loading |
|
Install the bundled Claude Code skill (user-level by default) |
chartbook init#
Scaffold a new pipeline from the cookiecutter template, via cruft — so cruft update can pull template improvements later. Prompts for project name and author.
chartbook init
chartbook build#
chartbook build [OPTIONS] [OUTPUT_DIR]
Generate the HTML site into OUTPUT_DIR (default ./docs; it cannot be the current working directory itself). Works for both pipelines and catalogs — the project type comes from the manifest. Internals: How the Build Works.
Option |
Default |
Effect |
|---|---|---|
|
off |
Delete and recreate an existing output directory |
|
|
Project to build |
|
|
Strict: a |
|
|
File size (MB) above which parquet glimpses use memory-efficient loading |
|
on |
Strip Plotly’s MathJax 2 scripts from notebook outputs so they don’t clash with Sphinx’s MathJax 3 |
|
off |
Keep the intermediate |
|
|
Intermediate build directory |
|
|
Intermediate template directory |
|
|
Publish staging directory |
chartbook build # first build
chartbook build -f # rebuild
chartbook build ./site -f # custom output directory
chartbook browse#
Open the generated site (default ./docs/index.html) in your default browser.
chartbook browse [OUTPUT_DIR] [--project-dir PATH]
chartbook publish#
Copy the pipeline’s publishable source files — README, chartbook.toml, parquet artifacts, write-ups, chart HTML, and notebooks marked publishable = true — into a staging directory. This is for sharing the pipeline itself; build is what renders the website.
chartbook publish [--publish-dir PATH] [--project-dir PATH] [-v]
chartbook catalog#
Manage a catalog — by default the global one at ~/.chartbook/chartbook.toml (chartbook config can point these commands at a different catalog). Concepts and the auto-discovery alternative: Catalogs and Data Access.
catalog init#
Create the global catalog with an empty [pipelines] section.
chartbook catalog init [--title TITLE]
catalog add#
Register pipeline directories. For each path, the scoped key (scope/name) is derived from the target’s [project] id if set, otherwise from its git origin remote plus the directory name, falling back to the bare directory name. Paths are stored relative to the catalog; duplicates (by resolved path) are skipped, as are paths already covered by a pipelines.members pattern.
chartbook catalog add PATHS... [--catalog PATH] [-y]
chartbook catalog add ../crsp_treasury # one pipeline
chartbook catalog add ../repos/* -y # glob, no confirmation prompt
catalog disable / enable#
Switch a pipeline off or on without deleting its registration. Explicit entries get disabled = true; member-discovered pipelines are tracked on the pipelines.disabled ID list. In a catalog with only explicit entries, an unknown ID errors and lists the available pipelines; in a member-based catalog the ID is simply added to (or removed from) the list, and if it matches no pipeline the next build warns with a did-you-mean suggestion.
chartbook catalog disable ftsfr/sovereign_bonds [--catalog PATH]
chartbook catalog enable ftsfr/sovereign_bonds
catalog build#
Build the catalog’s site into ~/.chartbook/docs/ (or the configured catalog’s location). Unlike top-level build, the default here is --no-strict: one member pipeline with missing files is skipped with a warning instead of sinking the whole site.
chartbook catalog build [-f] [--strict/--no-strict]
catalog browse#
Open the built catalog site.
chartbook catalog browse
chartbook ls#
List cataloged objects. Without a subcommand, prints a tree of every pipeline with its dataframes and charts; subcommands print flat lists.
chartbook ls [pipelines|dataframes|charts] [--catalog PATH]
$ chartbook ls
Catalog: /data/my-catalog/chartbook.toml
[pipeline] acme/yield_curve: Yield Curve Analysis
[dataframe] acme/yield_curve/repo_public: Repo Public Data
[chart] acme/yield_curve/yield_spread: Yield Spread Chart
chartbook data#
Look up a cataloged dataframe from the shell. --pipeline accepts a bare name (when unambiguous), a scoped ID, or a repo URL; ambiguous bare names error with the candidates listed.
chartbook data get-path --pipeline yield_curve --dataframe repo_public # parquet path
chartbook data get-docs --pipeline yield_curve --dataframe repo_public # write-up content
chartbook data get-docs-path --pipeline yield_curve --dataframe repo_public # write-up source file
All three take --catalog PATH to override the configured catalog. The Python equivalents live in chartbook.data — see Catalogs and Data Access.
chartbook create-data-glimpses#
Parse dodo.py, find every CSV/parquet target your tasks produce, and write data_glimpses.md: file metadata, column types, null percentages, sample rows, and numeric summary stats.
chartbook create-data-glimpses [--no-samples] [--no-stats] [-o DIR] [--size-threshold MB]
chartbook config#
Interactively set the default catalog path (stored as catalog.path in ~/.chartbook/settings.toml). This is what data.load(), chartbook ls, chartbook data, and the catalog commands use when no explicit --catalog/catalog_path is given.
chartbook config
chartbook install skill#
Install the bundled Claude Code skill, giving Claude context about the CLI, manifest format, and data API. By default it installs user-level — ~/.claude/skills/chartbook/, or $CLAUDE_CONFIG_DIR/skills/chartbook/ when that variable is set — so the skill is available in every Claude Code session on your machine. Re-run it after upgrading chartbook; when nothing changed it reports “already up to date” and exits.
chartbook install skill # user-level (default)
chartbook install skill --project # ./.claude/skills/chartbook/ — commit it to share with a team
chartbook install skill -f # overwrite locally modified files without prompting
Files from older skill layouts are removed on install so the copy exactly mirrors the bundled skill, and the installing chartbook version is recorded in a .chartbook-skill-version stamp alongside the files.