Metadata-Version: 2.4
Name: plotlet
Version: 0.5.0
Summary: Python library for SVG plots, with multi-panel composition and an extension API for custom plot types.
Author: gitbamboo42
License-Expression: MIT
Project-URL: Homepage, https://github.com/gitbamboo42/plotlet
Project-URL: Repository, https://github.com/gitbamboo42/plotlet
Project-URL: Issues, https://github.com/gitbamboo42/plotlet/issues
Keywords: plot,svg,scientific,visualization,jupyter,reproducible
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Multimedia :: Graphics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fonttools>=4.0
Requires-Dist: scipy>=1.10
Provides-Extra: dev
Requires-Dist: jupyter; extra == "dev"
Requires-Dist: nbconvert; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7; extra == "test"
Dynamic: license-file

# plotlet

plotlet is a Python library for SVG plots. It provides reproducible, byte-identical multi-panel scientific figures with a standard plotting vocabulary and a first-class extension story for custom plot types.

## Documentation

Hands-on tour with executable examples:

- [notebooks/00_introduction.ipynb](notebooks/00_introduction.ipynb) — long-form data, aesthetic inheritance, layering, composition

Reference docs in [`docs/`](docs/):

- [API reference](docs/API.md) — mark methods, frame options, scales, tick overrides
- [Philosophy](docs/PHILOSOPHY.md) — what's in core, what's not, and why
- [Subplots](docs/SUBPLOTS.md) — multi-panel composition, shared scales
- [Extending](docs/EXTENDING.md) — write your own plot type
- [Themes](docs/THEMES.md) — visual presets
- [AI attributes](docs/AI_ATTRS.md) — `data-plotlet-*` schema for automation

Reference plot types beyond the standard vocabulary live in [`src/plotlet/extensions/`](src/plotlet/extensions/) (single-file) and [`cookbook/`](cookbook/) (multi-file projects).

## Dependencies

plotlet supports Python 3.10+.

Required: `fonttools`, `scipy` (used by regression, qq, pointplot, dendrogram). numpy / pandas / polars inputs work transparently.

Optional: `cairosvg` for PNG / PDF export.

## Installation

```bash
pip install plotlet
```

## Testing

```bash
pip install -e ".[test]"
pytest tests/                  # check vs. committed baselines
pytest tests/ --update         # regenerate (review the diff!)
```

## Development

Development takes place on GitHub. Please submit bugs to the issue tracker with a reproducible example.

## License

MIT
