# インストールガイド

---

## 1. コア機能

CrystFlux のコア機能（Crystallizer のみ）をインストールします：

```bash
# pip を使用
pip install crystflux

# uv を使用
uv pip install crystflux
```

**注意**: コアインストールは外部の依存関係がありません（Python 標準ライブラリのみ）。

---

## 2. アダプタ

### 2.1 NumPy インテグレーション
NumPy 配列変換を有効にします：

```bash
# pip を使用
pip install "crystflux[numpy]"

# uv を使用
uv pip install "crystflux[numpy]"
```

### 2.2 Pydantic インテグレーション
Pydantic モデル変換を有効にします：

```bash
# pip を使用
pip install "crystflux[pydantic]"

# uv を使用
uv pip install "crystflux[pydantic]"
```

### 2.3 複数のアダプタ
複数のアダプタを組み合わせます：

```bash
# pip を使用
pip install "crystflux[numpy,pydantic]"

# uv を使用
uv pip install "crystflux[numpy,pydantic]"
```

### 2.4 全アダプタ
すべてのオプションアダプタをインストールします：

```bash
# pip を使用
pip install "crystflux[all]"

# uv を使用
uv pip install "crystflux[all]"
```

---

## 3. 開発環境

### 3.1 開発セットアップ（開発ツール付き）

リポジトリをクローン：

```bash
git clone https://codeberg.org/latentium/crystflux.git
cd crystflux/
```

開発環境のセットアップ：

```bash
# uv を使用（推奨）
uv venv
source .venv/bin/activate  # Linux/macOS
# または
.venv\Scripts\activate     # Windows
uv sync

# pip を使用
python -m venv .venv
source .venv/bin/activate  # Linux/macOS
# または
.venv\Scripts\activate     # Windows
pip install pytest pytest-cov ruff basedpyright mypy
```

### 3.2 コアのみのテスト（開発ツールなし）
開発ツールなしでコア機能をテスト：

```bash
# uv を使用
uv sync --no-dev

# pip を使用
pip install -e .
```

### 3.3 テスト用アダプタの追加
開発環境にアダプタを追加：

```bash
# uv を使用（特定のアダプタを追加）
uv sync --extra numpy
uv sync --extra pydantic
uv sync --extra all

# pip を使用
pip install numpy>=2.3
pip install pydantic
```

---

## コマンドクイックリファレンス

| 目的 | pip | uv |
|----------|-----|-----|
| コア機能 | `pip install crystflux` | `uv pip install crystflux` |
| NumPy アダプタ | `pip install "crystflux[numpy]"` | `uv pip install "crystflux[numpy]"` |
| Pydantic アダプタ | `pip install "crystflux[pydantic]"` | `uv pip install "crystflux[pydantic]"` |
| 全アダプタ | `pip install "crystflux[all]"` | `uv pip install "crystflux[all]"` |
| 複数アダプタ | `pip install "crystflux[numpy,pydantic]"` | `uv pip install "crystflux[numpy,pydantic]"` |
| 開発セットアップ | `pip install pytest pytest-cov ruff basedpyright mypy` | `uv sync` |
| コアのみテスト | `pip install -e .` | `uv sync --no-dev` |
| アダプタ追加 | `pip install numpy>=2.3` | `uv sync --extra numpy` |

---

## 注意事項

- **ライブラリ利用者**: `uv pip install` または `pip install` を使用します。`uv sync` は開発者用です。
- **開発者**: フル開発環境には `uv sync` を使用し、コアのみの場合は `uv sync --no-dev` を使用します。
- **pip の制限**: `pip` は `[dependency-groups]` をサポートしていないため、開発ツールを個別にインストールする必要があります。
