Metadata-Version: 2.4
Name: scitex-plt
Version: 0.24.3
Summary: SciTeX plotting module (alias for figrecipe)
Project-URL: Homepage, https://github.com/ywatanabe1989/scitex-plt
Project-URL: Documentation, https://github.com/ywatanabe1989/figrecipe#readme
Project-URL: Repository, https://github.com/ywatanabe1989/scitex-plt.git
Project-URL: Issues, https://github.com/ywatanabe1989/figrecipe/issues
Author-email: Yusuke Watanabe <ywatanabe@scitex.ai>
License-Expression: AGPL-3.0-only
License-File: LICENSE
Keywords: figrecipe,matplotlib,plotting,publication,scientific,scitex,visualization
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.9
Requires-Dist: figrecipe>=0.24.0
Requires-Dist: pandas
Provides-Extra: all
Requires-Dist: myst-parser>=2.0; extra == 'all'
Requires-Dist: pytest; extra == 'all'
Requires-Dist: pytest-cov; extra == 'all'
Requires-Dist: ruff; extra == 'all'
Requires-Dist: sphinx-autodoc-typehints>=1.25; extra == 'all'
Requires-Dist: sphinx-copybutton>=0.5; extra == 'all'
Requires-Dist: sphinx-rtd-theme>=2.0; extra == 'all'
Requires-Dist: sphinx>=7.0; extra == 'all'
Provides-Extra: dev
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: docs
Requires-Dist: myst-parser>=2.0; extra == 'docs'
Requires-Dist: sphinx-autodoc-typehints>=1.25; extra == 'docs'
Requires-Dist: sphinx-copybutton>=0.5; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=2.0; extra == 'docs'
Requires-Dist: sphinx>=7.0; extra == 'docs'
Description-Content-Type: text/markdown

# scitex-plt

<!-- scitex-badges:start -->
[![PyPI](https://img.shields.io/pypi/v/scitex-plt.svg)](https://pypi.org/project/scitex-plt/)
[![Python](https://img.shields.io/pypi/pyversions/scitex-plt.svg)](https://pypi.org/project/scitex-plt/)
[![Tests](https://github.com/ywatanabe1989/scitex-plt/actions/workflows/test.yml/badge.svg)](https://github.com/ywatanabe1989/scitex-plt/actions/workflows/test.yml)
[![Install Test](https://github.com/ywatanabe1989/scitex-plt/actions/workflows/install-test.yml/badge.svg)](https://github.com/ywatanabe1989/scitex-plt/actions/workflows/install-test.yml)
[![Coverage](https://codecov.io/gh/ywatanabe1989/scitex-plt/graph/badge.svg)](https://codecov.io/gh/ywatanabe1989/scitex-plt)
[![Docs](https://readthedocs.org/projects/scitex-plt/badge/?version=latest)](https://scitex-plt.readthedocs.io/en/latest/)
[![License: AGPL v3](https://img.shields.io/badge/license-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
<!-- scitex-badges:end -->


**SciTeX plotting module** - an alias package for [figrecipe](https://github.com/ywatanabe1989/figrecipe).

> **Interfaces:** Python ⭐⭐⭐ (primary) · CLI ⭐⭐ · MCP ⭐⭐⭐ · Skills ⭐⭐ · Hook — · HTTP —

## Problem and Solution

| # | Problem | Solution |
|---|---------|----------|
| 1 | **Matplotlib boilerplate for publication figures** — manually setting DPI, fonts, axis labels, CSV sidecars, and mm-precision layout for every paper figure | **`stx.plt.subplots()`** — thin wrapper around figrecipe returning a tracked axes with `.plot_line(...)`, `set_xyt(...)`, and publication-ready defaults |
| 2 | **Figure and underlying data drift apart** — the PNG lives in the repo, the CSV that generated it sits in a notebook cell and eventually disappears | **Auto CSV export on save** — `stx.io.save(fig, "plot.png")` writes `plot.png` + `plot.csv` + `plot.yaml` atomically so the data is always reproducible |
| 3 | **No way for AI agents to generate figures** — coding agents need a structured API, not matplotlib's stateful pyplot | **MCP tools (`plt_line`, `plt_scatter`, `plt_stx_*`)** — agents compose publication plots from CSVs via column specs, no inline arrays needed |

## Installation

```bash
pip install scitex-plt
```

This will automatically install `figrecipe` as a dependency.

## Usage

```python
import scitex_plt as plt

fig, ax = plt.subplots()
ax.plot([1, 2, 3], [1, 4, 9])
plt.save(fig, "figure.png")
```

## About

`scitex-plt` is part of the [SciTeX](https://scitex.ai) ecosystem. It provides
the same API as `figrecipe` for users who prefer the `scitex-plt` package name.

For full documentation, see [figrecipe](https://github.com/ywatanabe1989/figrecipe).

## License

AGPL-3.0 - same as figrecipe.
