Skip to main content

Aura — Carbon tracking and monitoring 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

auraagent-0.1.3.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auraagent-0.1.3-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file auraagent-0.1.3.tar.gz.

File metadata

  • Download URL: auraagent-0.1.3.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for auraagent-0.1.3.tar.gz
Algorithm Hash digest
SHA256 aca8f46713cb5aac5a5fb92783c7093859e91292ec4b7fba55c25f598d22221a
MD5 c08b6cf204d5aa9d96030883ae51923f
BLAKE2b-256 a9bdc3740285b6dc1389afbd847c968c10a7cad3e2a9d1c7defe7897bfaceb6d

See more details on using hashes here.

File details

Details for the file auraagent-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: auraagent-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for auraagent-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4e91c4f1c0e4d47a63231d1f2d081515194436e5535086f8228453933510d6eb
MD5 62e90076749e1f41377136dd7857deff
BLAKE2b-256 ebe46dba34b07c4ef5334fa45ded06956ac0fce5fb60438e688d2f052adbd75f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page