Aura — Carbon tracking and AI bias analysis toolkit
Project description
auraagent
Carbon tracking and monitoring toolkit for AI engineers.
Track CO2 emissions from your Python scripts and AI training jobs, and visualize them on your AURA dashboard — with a single line of code.
Installation
# Package de base (tracking uniquement)
pip install auraagent
# Avec l'interface web locale
pip install "auraagent[web]"
Requires Python 3.9+
Premiers pas
1. Lancer l'interface de configuration
aura-web
Ouvre automatiquement http://localhost:8765 dans votre navigateur.
Connectez-vous avec votre email et votre clé API générée depuis votre dashboard AURA → Profil → Clés API.
2. Tracker des émissions dans votre code
Context manager :
from aura.carbon import AuraCarbon
import time
with AuraCarbon(project_name="mon-projet") as tracker:
# Votre code ici
time.sleep(5)
# Les émissions sont automatiquement envoyées au dashboard
Décorateur :
from aura.carbon import track_emissions
@track_emissions(project_name="fine-tuning-bert")
def train_model():
# Votre entraînement
pass
train_model()
Gestion manuelle :
from aura.carbon import AuraCarbon
tracker = AuraCarbon(project_name="inference")
tracker.start()
# ... votre code ...
emissions = tracker.stop()
print(f"Émissions : {emissions:.6f} kg CO₂")
CLI
# Lancer l'interface web
aura-web
# Voir le statut de la configuration locale
aura status
# Se déconnecter (supprime ~/.aura.config)
aura logout
Configuration avancée
La configuration est stockée dans ~/.aura.config après la première connexion :
[aura]
api_endpoint = https://cevia.ai/api
api_key = votre_cle_api
user_id = 42
machine_id = uuid-de-votre-machine
organization = CEVIA
default_project = mon-projet
Tester en local / réseau privé
Pour pointer vers un serveur Django local au lieu de cevia.ai :
# Serveur local
export AURA_SERVER_URL=http://127.0.0.1:8000
aura-web
# Réseau local (autre machine)
export AURA_SERVER_URL=http://192.168.1.42:8000
aura-web
Ou de façon permanente dans votre ~/.zshrc / ~/.bashrc :
export AURA_SERVER_URL=http://127.0.0.1:8000
Architecture
auraagent/
├── aura/
│ ├── carbon/
│ │ ├── tracker.py # AuraCarbon — wrapper CodeCarbon
│ │ ├── output.py # AuraOutput — envoi HTTP vers le serveur
│ │ └── decorators.py # @track_emissions
│ ├── web/
│ │ ├── main.py # Lance FastAPI + ouvre le navigateur
│ │ ├── app.py # Application FastAPI
│ │ ├── routers/ # auth, tracker, config
│ │ ├── services/ # Logique métier (singleton tracker)
│ │ └── templates/ # Pages HTML (login, dashboard, settings)
│ └── core/
│ ├── constants.py # AURA_SERVER_URL (surchargeable via env)
│ ├── config.py # Lecture/écriture ~/.aura.config
│ ├── auth.py # Vérification email + clé API
│ ├── models.py # Modèles Pydantic
│ └── exceptions.py # AuraError, AuraAuthError, etc.
├── installer/
│ ├── install.py # Script d'installation (crée icône bureau)
│ └── build.py # Compilation PyInstaller
└── tests/
Flux de données
Votre code Python
│
▼
AuraCarbon (wrapper CodeCarbon)
│ mesure CPU/GPU/RAM
▼
AuraOutput (BaseOutput)
│ POST /api/emissions/
│ Authorization: Token <api_key>
▼
Serveur Django AURA
│
▼
Dashboard cevia.ai
Flux d'authentification (première connexion)
aura-web (localhost:8765)
│ email + api_key
▼
POST /api/auth/verify/ → retourne api_endpoint, user_id, organization
│
▼
POST /api/machines/register/ → retourne machine_id
│
▼
~/.aura.config ← écrit la configuration locale
Dépendances
| Dépendance | Rôle |
|---|---|
codecarbon |
Mesure de la consommation électrique |
requests |
Envoi HTTP des émissions |
pydantic |
Validation des modèles de données |
click |
Interface CLI |
rich |
Affichage terminal |
fastapi (web) |
Interface web locale |
uvicorn (web) |
Serveur ASGI |
jinja2 (web) |
Templates HTML |
Licence
MIT — CEVIA
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file auraagent-0.2.1.tar.gz.
File metadata
- Download URL: auraagent-0.2.1.tar.gz
- Upload date:
- Size: 44.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb48073d55a9490c9fecd4c40e23d9cba865e40f0241316056a849c092efff23
|
|
| MD5 |
4ec43130945a80cf4def9f934995154c
|
|
| BLAKE2b-256 |
12be2ec290a37d9a78c758771d2bfcf8ced213aea279709222902c5e4582d545
|
File details
Details for the file auraagent-0.2.1-py3-none-any.whl.
File metadata
- Download URL: auraagent-0.2.1-py3-none-any.whl
- Upload date:
- Size: 24.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7239847d27496be62987d06e0ab4d1006d8e97750ba67c95004f8ae17d033c55
|
|
| MD5 |
315d34f270f527946169db0b3222900b
|
|
| BLAKE2b-256 |
010204baf3ed9d93c80c60e88652412f7828296de6eb706d8019566639c60b98
|