Metadata-Version: 2.5
Name: auraagent
Version: 1.1.0
Summary: Aura — Carbon tracking and AI bias analysis toolkit
Project-URL: Homepage, https://cevia.ai
Author-email: CEVIA <info@cevia.ai>
License: MIT License
        
        Copyright (c) 2025 CEVIA
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Keywords: ai,bias,carbon,emissions,fairness,sustainability,tracking
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: System :: Monitoring
Requires-Python: <3.14,>=3.10
Requires-Dist: aura-contracts<2,>=1.1.0
Requires-Dist: click>=8.1.0
Requires-Dist: codecarbon>=2.4.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: requests>=2.31.0
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: mypy>=1.9.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.3.0; extra == 'dev'
Description-Content-Type: text/markdown

# auraagent

Agent client de la plateforme [AURA](https://cevia.ai) — audit de biais et
suivi carbone des systèmes d'IA, pour la conformité au règlement (UE) 2024/1689.

Développé par **CEVIA** (KIMANI Group SRL).

---

## Installation

```bash
pip install auraagent
aura init
```

Python 3.10 à 3.13, sous Linux, macOS et Windows.

---

## Audit de biais

**Votre modèle ne quitte pas votre infrastructure.** L'agent récupère les
questions, les pose au modèle chez vous, et ne renvoie que les réponses brutes.
C'est le mode par défaut.

```bash
aura audit bias \
  --model mon-modele-v2 \
  --command "python interroger.py {question}"
```

L'évaluation s'appuie sur le benchmark **BBQ** et sur les métriques de **HELM** :
biais en contexte ambigu, en contexte désambiguïsé, exactitude.

Un score de biais va de **-1 à +1**, et **zéro est le bon résultat** :

| Valeur | Lecture |
|---|---|
| `0` | aucun penchant décelé |
| `> 0` | réponses alignées sur le stéréotype |
| `< 0` | penchant inverse au stéréotype |
| absent | non mesurable — **pas** « zéro » |

Voir [`docs/LOCAL_MODE.md`](docs/LOCAL_MODE.md).

---

## Suivi carbone

```bash
aura audit carbon -- python entrainer.py --epochs 10
```

Les valeurs remontées sont celles que CodeCarbon a mesurées sur votre machine.
Une métrique indisponible reste vide plutôt que d'être remplacée par zéro —
zéro signifierait « aucune émission ».

Le code de sortie de la commande mesurée est propagé : un script d'intégration
continue échoue si ce qu'il mesure a échoué.

En bibliothèque :

```python
from aura import AuraCarbon

with AuraCarbon(execution_id="run-2026-001") as suivi:
    entrainer_le_modele()

print(suivi.metrics())
```

---

## Rapport de conformité

```bash
aura report 3f2504e0-4f89-11d3-9a0c-0305e82c3301
```

Trois codes de sortie : `0` le rapport est enregistré, `1` l'exécution est
introuvable, `2` le rapport n'est pas encore composé — il suffit d'attendre.

---

## Documentation

| Document | Sujet |
|---|---|
| [`docs/CLI.md`](docs/CLI.md) | référence de chaque commande |
| [`docs/CONFIGURATION.md`](docs/CONFIGURATION.md) | `~/.aura.config`, variables d'environnement |
| [`docs/LOCAL_MODE.md`](docs/LOCAL_MODE.md) | souveraineté : ce qui circule, ce qui ne circule pas |
| [`docs/MIGRATION_0.x_to_1.0.md`](docs/MIGRATION_0.x_to_1.0.md) | ruptures de contrat depuis les versions 0.x |
| [`docs/CHANGELOG.md`](docs/CHANGELOG.md) | historique des versions |

---

## Migration depuis 0.x

La 1.0 **rompt le contrat** : les réponses sont des objets validés, et le score
de biais change de nature — un taux d'erreur devient un score signé où zéro est
le bon résultat. Voir [`docs/MIGRATION_0.x_to_1.0.md`](docs/MIGRATION_0.x_to_1.0.md).

---

## Sécurité

`~/.aura.config` contient votre clé d'API. Il est créé lisible par son seul
propriétaire (`0600`), et la clé n'apparaît jamais — ni à l'écran, ni dans un
journal, ni dans un message d'erreur.

---

## Licence

MIT. Voir [`LICENSE`](LICENSE).
