Metadata-Version: 2.5
Name: kouchou-ai-analysis-core
Version: 0.1.3
Summary: 広聴AI分析パイプラインコア - Broadlistening Analysis Pipeline Core
Project-URL: Homepage, https://github.com/digitaldemocracy2030/kouchou-ai
Project-URL: Repository, https://github.com/digitaldemocracy2030/kouchou-ai
Project-URL: Documentation, https://github.com/digitaldemocracy2030/kouchou-ai/blob/main/docs/CLI_QUICKSTART.md
Project-URL: Issues, https://github.com/digitaldemocracy2030/kouchou-ai/issues
Author-email: Digital Democracy 2030 <info@example.com>
License: AGPL-3.0
License-File: LICENSE
Keywords: analysis,broadlistening,clustering,llm,pipeline
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.12
Requires-Dist: numpy>=1.26.0
Requires-Dist: openai>=1.77.0
Requires-Dist: polars>=1.37.1
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: tenacity>=9.1.2
Requires-Dist: tqdm>=4.66.0
Provides-Extra: clustering
Requires-Dist: numba>=0.59.0; extra == 'clustering'
Requires-Dist: scikit-learn>=1.5.0; extra == 'clustering'
Requires-Dist: scipy>=1.15.1; extra == 'clustering'
Requires-Dist: umap-learn>=0.5.7; extra == 'clustering'
Provides-Extra: dev
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Provides-Extra: embeddings
Requires-Dist: sentence-transformers>=2.7.0; extra == 'embeddings'
Requires-Dist: torch>=2.0.0; extra == 'embeddings'
Provides-Extra: full
Requires-Dist: google-genai>=1.0.0; extra == 'full'
Requires-Dist: numba>=0.59.0; extra == 'full'
Requires-Dist: scikit-learn>=1.5.0; extra == 'full'
Requires-Dist: scipy>=1.15.1; extra == 'full'
Requires-Dist: sentence-transformers>=2.7.0; extra == 'full'
Requires-Dist: torch>=2.0.0; extra == 'full'
Requires-Dist: umap-learn>=0.5.7; extra == 'full'
Provides-Extra: gemini
Requires-Dist: google-genai>=1.0.0; extra == 'gemini'
Description-Content-Type: text/markdown

# kouchou-ai-analysis-core

広聴AIの分析パイプラインコアライブラリ。

## 概要

このパッケージは、コメントデータを分析し、クラスタリングと要約を行うパイプラインを提供します。

## 必要条件

- Python 3.12以上

## インストール

```bash
pip install 'kouchou-ai-analysis-core[embeddings,clustering]'
```

Geminiサポートを含める場合:
```bash
pip install 'kouchou-ai-analysis-core[gemini,embeddings,clustering]'
```

軽量な base install だけ欲しい場合:
```bash
pip install kouchou-ai-analysis-core
```

この場合でも `import analysis_core` や dry-run はできますが、local embedding や hierarchical clustering を実行するには対応する extras が必要です。

## 使用方法

詳細なチュートリアルは以下を参照してください：
- [CLIクイックスタート](../../docs/user-guide/cli-quickstart.md) - コマンドラインからの利用
- [インポート方法](../../docs/user-guide/import-quickstart.md) - Python スクリプトからの利用

### CLI

```bash
kouchou-analyze --config config.json
```

CLI の canonical output は `hierarchical_result.json` です。既定ではローカル確認用の補助 HTML として `report.html` も生成しますが、これは保存・配信の対象ではありません。

### ライブラリとして

```python
from analysis_core import PipelineOrchestrator, PipelineConfig

config = PipelineConfig.from_json("config.json")
orchestrator = PipelineOrchestrator.from_dict(config.to_dict())
result = orchestrator.run_default()
```

`run_default()` が current の canonical path です。`run()` も残っていますが、legacy direct-step 実行経路として deprecated 扱いです。

## プラグインシステム

analysis-core は拡張可能なプラグインアーキテクチャを採用しています。

### カスタムプラグインの作成

```python
from analysis_core.plugin import step_plugin, StepContext, StepInputs, StepOutputs

@step_plugin(
    id="mycompany.custom_step",
    version="1.0.0",
    inputs=["arguments"],
    outputs=["custom_result"],
)
def custom_step(ctx: StepContext, inputs: StepInputs, config: dict) -> StepOutputs:
    # カスタム処理
    output_path = ctx.output_dir / "custom_result.csv"
    return StepOutputs(artifacts={"custom_result": output_path})
```

### 外部プラグインの配置

```
plugins/analysis/
└── my-plugin/
    ├── manifest.yaml
    └── plugin.py
```

詳細は [プラグイン開発ガイド](../../docs/development/plugin-guide.md) を参照してください。

## 開発

```bash
# 依存関係のインストール
pip install -e ".[dev,embeddings,clustering]"

# テストの実行
pytest

# リンターの実行
ruff check .
```

## ライセンス

広聴AI本体と同じ **GNU Affero General Public License v3 (AGPL-3.0)** です。
ライセンス全文は [LICENSE](LICENSE) を参照してください。

以前のREADMEとパッケージメタデータ（PyPI 0.1.0 / 0.1.2を含む）のMIT表記は誤りです。
`analysis-core` の独立パッケージ化は、ライセンスをMITへ変更するものではありません。
