Metadata-Version: 2.4
Name: pycsv2chart
Version: 0.1.0
Summary: CSV/Excel から散布図 PNG を生成する CLI
Project-URL: Homepage, https://gitlab.tokyo.optim.co.jp/naganuma-test/pycsv2chart
Project-URL: Repository, https://gitlab.tokyo.optim.co.jp/naganuma-test/pycsv2chart
Project-URL: Issues, https://gitlab.tokyo.optim.co.jp/naganuma-test/pycsv2chart/-/issues
Author-email: Shunsuke Naganuma <naganuma@optim.co.jp>
License: MIT
License-File: LICENSE
Keywords: chart,csv,excel,matplotlib,scatter-plot,visualization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.11
Requires-Dist: matplotlib>=3.8
Requires-Dist: openpyxl>=3.1
Requires-Dist: pandas>=2.0
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: twine>=6.2; extra == 'dev'
Description-Content-Type: text/markdown

# pycsv2chart

[[_TOC_]]

`pycsv2chart` は CSV または Excel (.xlsx) を読み込み、散布図を PNG として出力する CLI です。

## 動作要件

- Python 3.11 以上
- 日本語ラベルを正しく表示するには、システムに日本語フォント（例: `fonts-noto-cjk`）のインストールを推奨します。フォントが無い場合は警告を出しますが、グラフ生成自体は続行します。

## インストール

```bash
pip install pycsv2chart
```

ローカル wheel からインストールする場合:

```bash
uv pip install dist/pycsv2chart-*.whl
```

## 使い方

```bash
pycsv2chart -i data.csv -o chart.png
```

### 主なオプション

| オプション | 説明 |
| --- | --- |
| `-i`, `--input` | 入力 CSV または Excel (.xlsx) ファイル（必須） |
| `-o`, `--output` | 出力 PNG ファイル（必須） |
| `-x`, `--x-field` | X 軸フィールドまたは式（既定: `x`） |
| `-y`, `--y-field` | Y 軸フィールドまたは式（既定: `y`） |
| `--x-range` | X 軸範囲（`min,max`） |
| `--y-range` | Y 軸範囲（`min,max`） |
| `-g`, `--group` | グループ化フィールド |
| `-f`, `--filter` | フィルタ（`column=value`、複数指定で AND） |
| `-n`, `--name` | Excel の定義名またはテーブル名 |
| `-l`, `--label` | 各点に表示するラベル列 |

### 例

```bash
# グループ化とラベル表示
pycsv2chart -i data.csv -o chart.png -g category -l name

# フィルタと軸範囲
pycsv2chart -i data.csv -o chart.png -f status=active -f region=JP --x-range 0,100 --y-range 0,50

# 式で軸を指定
pycsv2chart -i data.csv -o chart.png -x "value_a + value_b" -y "value_c / value_d"

# Excel（定義名指定）
pycsv2chart -i data.xlsx -n MyTable -o chart.png
```

## 開発

```bash
uv sync --extra dev
MPLBACKEND=Agg uv run pytest tests/ -v
```

ビルドと公開手順は [doc/build_and_release.md](doc/build_and_release.md) を参照してください。

## ライセンス

MIT License。全文は [LICENSE](LICENSE) を参照してください。
