Metadata-Version: 2.4
Name: ppi_analyser
Version: 0.1.8.3
Summary: Analyse automatique de phrases préfabriquées des interactions (PPI) — pipeline NLP + serveur FastAPI
Author: Youssef Zeroual
License: MIT
Project-URL: Homepage, https://github.com/YoussefZeroual/ppi-analyser
Project-URL: Repository, https://github.com/YoussefZeroual/ppi-analyser
Project-URL: Issues, https://github.com/YoussefZeroual/ppi-analyser/issues
Keywords: nlp,phraseology,french,corpus-linguistics,fastapi,stanza
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: fastapi>=0.111.0
Requires-Dist: uvicorn[standard]>=0.29.0
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: flask>=3.0.0
Requires-Dist: flask-cors>=4.0.0
Requires-Dist: torch>=2.3.1
Requires-Dist: stanza>=1.8.0
Requires-Dist: nltk>=3.8.1
Requires-Dist: mistralai>=1.0.0
Requires-Dist: openai>=1.30.0
Requires-Dist: ollama>=0.2.0
Requires-Dist: google-generativeai>=0.7.0
Requires-Dist: groq>=0.9.0
Requires-Dist: pandas>=2.2.0
Requires-Dist: openpyxl>=3.1.2
Requires-Dist: xlsxwriter>=3.2.0
Requires-Dist: reportlab>=4.1.0
Requires-Dist: markdown
Requires-Dist: weasyprint
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: requests>=2.31.0
Requires-Dist: httpx>=0.27.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"

# PPI Analyser

Outil d'analyse automatique de phrases préfabriquées d'interaction (PPI) françaises.

## Installation
```bash
python -m venv myenv
source myenv/bin/activate
pip install -e .
```

## Configuration

Copy `.env.example` to `.env` and fill in your API keys:
```bash
cp .env.example .env
```

## Usage
```python
from ppi_analyser.core import PPIAnalyser
from ppi_analyser.config import PipelineConfig, AnalysisMode

analyser = PPIAnalyser()
config = PipelineConfig(
    models=["mistral_mistral-medium-latest"],
    expression="je t'en prie",
    sentence_file="path/to/corpus.xlsx",
    mode=AnalysisMode.ORAL,
    output_dir="path/to/output",
)
df, state = analyser.process_sentences(config)
```

## Modes

- `ORAL` — corpus oral
- `ECRIT` — corpus écrit (segmentation automatique)
- `ECRIT_IA` — corpus écrit avec détection des tours de parole par LLM
- `ECRIT_TEST` — mode test rapide

## Models supported

- Mistral (`mistral_mistral-medium-latest`)
- Ollama (`ollama_mistral:7b`)
- Groq (`groq_moonshotai/kimi-k2-instruct`)
- DeepSeek (`deepseek_deepseek-chat`)
- Gemini (`gemini_gemini-3-flash-preview`)
# ppi_analyser
