Metadata-Version: 2.4
Name: chartcoach
Version: 0.1.7
Summary: Python package and CLI for the chartcoach visualization guideline catalog.
Keywords: data-visualization,guidelines,retrieval,visualization
Author: Péter Ferenc Gyarmati
Author-email: Péter Ferenc Gyarmati <dev.petergy@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Typing :: Typed
Requires-Dist: bibtexparser>=1.1
Requires-Dist: click>=8
Requires-Dist: duckdb>=1.1
Requires-Dist: mdformat>=1
Requires-Dist: platformdirs>=4
Requires-Dist: polars>=1
Requires-Dist: pydantic>=2
Requires-Dist: pyarrow>=18
Requires-Dist: pyyaml>=6
Requires-Dist: tabulate>=0.10.0
Requires-Dist: lancedb>=0.33 ; extra == 'index'
Requires-Dist: mcp[cli]>=1.9 ; extra == 'mcp'
Requires-Python: >=3.11, <3.15
Project-URL: Repository, https://github.com/chartcoach/chartcoach
Project-URL: Issues, https://github.com/chartcoach/chartcoach/issues
Provides-Extra: index
Provides-Extra: mcp
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://chartcoach.dev/brand/chartcoach-square-light.svg" width="128" alt="chartcoach logo">
</p>

# chartcoach

<p align="center">
  Python package and CLI for visualization design guidance.
</p>

<p align="center">
  <a href="https://pypi.org/project/chartcoach/"><img src="https://img.shields.io/pypi/v/chartcoach?label=PyPI" alt="PyPI version"></a>
</p>

chartcoach gives notebooks, scripts, command-line workflows, and agents access
to the chartcoach Guideline Catalog. Use it to find chart guidance, read
recommendations, cite sources, and query the catalog with [DuckDB](https://duckdb.org/) and [LanceDB](https://lancedb.com/).

Read the full Python docs at
[docs.chartcoach.dev/python](https://docs.chartcoach.dev/python).

## Install

```bash
uv add chartcoach
```

```bash
pip install chartcoach
```

Install `chartcoach[index]` for local search. Install `chartcoach[mcp]` when an
agent needs MCP tools.

## CLI

```bash
uvx chartcoach@latest catalog query --contains "pie chart" --limit 5 --format table
```

## Python

```python
import chartcoach

cc = chartcoach.open()
cc.catalog.guidelines().select("id", "title").head(5)
```

Query the catalog with DuckDB when a notebook or script needs SQL:

```python
conn = cc.catalog.duckdb()
conn.sql("select id, title from guidelines limit 5").pl()
conn.close()
```

## Agents

Equip agents with chartcoach through
[chartcoach/skills](https://github.com/chartcoach/skills).

```bash
npx skills add chartcoach/skills
```

## Learn More

- 🌐 Browse [chartcoach](https://chartcoach.dev/).
- 📚 Explore the [Guideline Catalog](https://chartcoach.dev/guidelines/).
- 🧭 Read the [catalog docs](https://docs.chartcoach.dev/catalog).
- ✨ Read the [agent docs](https://docs.chartcoach.dev/agents).

## License

Apache-2.0. See [LICENSE](LICENSE).
