Changelog#
All notable changes to chartbook will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.0.6] - 2026-02-01#
Added#
data.get_docs(pipeline, dataframe)returns the documentation content for a dataframe as a string (works with bothdataframe_docs_pathanddataframe_docs_strmodes)data.get_docs_path(pipeline, dataframe)returns the path to the documentation source file (.mdfile for path mode,chartbook.tomlfor inline mode)New
chartbook lsCLI command to list catalog objects:chartbook lslists all pipelines, dataframes, and charts in a tree formatchartbook ls pipelineslists pipelines onlychartbook ls dataframeslists all dataframes across pipelineschartbook ls chartslists all charts across pipelinesSupports
--catalogoption to override the default catalog
New
chartbook dataCLI command group for data operations:chartbook data get-path --pipeline <id> --dataframe <id>prints the parquet file pathchartbook data get-docs --pipeline <id> --dataframe <id>prints the documentation contentchartbook data get-docs-path --pipeline <id> --dataframe <id>prints the documentation source pathAll commands support
--catalogoption to override the default catalog
Changed#
data.get_path()renamed todata.get_data_path()for clarityData download links (Parquet/Excel) are now disabled by default in generated documentation. Set
enable_data_download = truein the[site]section ofchartbook.tomlto enable them.
Fixed#
Fixed “Linked Charts” not rendering correctly in dataframe documentation pages. The linked charts are now displayed as a bulleted list below the metadata table instead of inside a table cell.
Extended full-width page layout to dataframe, pipeline, and diagnostics pages (previously only chart pages had full-width styling).
Fixed Git Repo URL in pipeline manifest displaying a broken icon (box character) by converting it to a proper markdown link.
[0.0.5] - 2026-01-26#
Added#
Catalog-aware data loading:
data.load(pipeline="yield_curve", dataframe="repo_public")loads dataframes from registered pipelines in a catalogdata.get_path()returns the resolved parquet path for a pipeline’s dataframepolars-lazyframeformat option fordata.load()(returnspl.scan_parquet)New
chartbook configCLI command to set the default catalog path in~/.chartbook/settings.tomlNew
chartbook.configmodule for reading/writing global settingsCatalogNotConfiguredErrorexception with actionable message when no catalog is configured
Changed#
data.load()anddata.get_path()now usepipelineanddataframeparameters (replacespipeline_id,dataframe_id,base_dir)tomliandtomli_wmoved from the[data]optional dependency group to base dependencies
[0.0.4] - 2026-01-22#
Added#
New
--warn-missingCLI flag forchartbook buildto warn instead of error when source files are missing.
Fixed#
Fixed notebook rendering in Sphinx documentation where notebooks were not appearing in the generated docs. The
notebook_listwas incorrectly using dictionary keys instead of the actual notebook paths, resulting in toctree entries missing the.ipynbextension.Build process now validates that all source files (notebooks, charts, dataframes) specified in
chartbook.tomlexist before starting the build. Missing files now produce a clear error message with the file path and thechartbook.tomlentry that references it. Use--warn-missingto continue with warnings instead.
Changed#
Standardized all docstrings across the codebase to use Sphinx-style format with
:param,:type,:returns, and:rtypetags for improved API documentation rendering
[0.0.3] - 2026-01-16#
Added#
New
chartbook.envmodule (renamed fromchartbook.settings) for project path managementget_project_root()function with configurablestart,markers,max_levels, anduse_cacheparametersget_os_type()function for cross-platform scripts (returns “nix”, “windows”, or “unknown”)get()function (renamed fromconfig()) for reading environment variables and.envfilesclear_cache()function to reset cached project root lookupsProjectRootNotFoundErrorexception with helpful error messagesBackwards compatibility alias:
config = get
[0.0.2] - 2026-01-03#
Added#
New
chartbook.plottingsubmodule for creating charts directly from DataFramesSimple, consistent API for common chart types:
line(),bar(),scatter(),pie(), andarea()dual()function for dual-axis charts combining different chart types on left and right y-axesBuilt-in support for chart overlays: NBER recession shading, horizontal/vertical reference lines, shaded regions, confidence bands, and regression lines
ChartResultobject with.show()for inline display and.save(chart_id)for multi-format export (HTML, PNG, SVG)Global configuration via
configure()for default output directory, backends, NBER recessions, and stylingset_style()for applying matplotlib styles, including a bundled “chartbook” styleSupport for both Plotly (interactive) and Matplotlib backends
Rich annotation support: titles, captions, notes, and source attribution
Added#
Initial release