Trackio documentation
API Python pour la gestion des exécutions
API Python pour la gestion des exécutions
Trackio fournit une classe d’API Python (trackio.Api()) qui vous permet de gérer les exécutions de vos projets de manière programmatique. Cette API est similaire à wandb.Api() et propose des méthodes pour supprimer des exécutions, les déplacer entre les projets et accéder aux informations d’exécution.
Remarque : Cela diffère de Trackio en tant que serveur API, qui exécute le tableau de bord Trackio en tant que serveur web avec des points de terminaison API. L'API Python (trackio.Api()) est une interface côté client pour gérer les exécutions dans votre base de données Trackio locale.
Utilisation de base
import trackio
# Initialize the API
api = trackio.Api()
# Get all runs in a project
runs = api.runs("my_project")
# Access individual runs
for run in runs:
print(f"Run: {run.name}, Project: {run.project}")
print(f"Config: {run.config}")
# Or access by index
first_run = runs[0]Suppression des exécutions
api = trackio.Api()
runs = api.runs("my_project")
# Delete a specific run
run = runs[0]
success = run.delete() # Returns True if successfulDéplacer des exécutions entre les projets
api = trackio.Api()
runs = api.runs("source_project")
# Move a run to a different project
run = runs[0]
success = run.move("target_project") # Returns True if successful
# After moving, the run object's project is updated
print(run.project) # "target_project"Lorsque vous déplacez une exécution, toutes les données associées sont transférées :
- Toutes les métriques et journaux
- Configuration d'exécution
- Métriques système
- Fichiers multimédias (images, vidéos, audio)
L'exécution est complètement supprimée du projet source et ajoutée au projet cible.
Référence de l'API
Api
Point d'entrée principal de l'API Python de Trackio.
api = trackio.Api()
Méthodes
runs(project: str) -> Runs: Renvoie une collection d’exécutions pour le projet spécifié. LèveValueErrorsi le projet n’existe pas.
Exécutions
Une collection d'exécutions qui prend en charge l'itération et l'indexation.
runs = api.runs("my_project")
len(runs) # Number of runs
runs[0] # First run
for run in runs: # Iterate over runs
...Exécuter
Représente une exécution unique dans un projet.
Propriétés
id: identificateur stable d'exécution utilisé en interne par Trackioname: Nom de l'exécution lisible par un humain. Plusieurs exécutions peuvent partager le même nom.project: le projet auquel cette exécution appartientconfig: le dictionnaire de configuration de l'exécution (chargement différé)
Note : Plusieurs exécutions peuvent partager le même name, car Trackio utilise l'identifiant id pour les distinguer en interne.
Méthodes
delete() -> bool: Supprime l'exécution de son projet. RenvoieTrueen cas de succès,Falsesinon.move(new_project: str) -> bool: Déplace l’exécution vers un autre projet. RenvoieTrueen cas de succès,Falsesinon. Met à jour la propriétéprojectde l’exécution après un déplacement réussi.
Exemples
Lister toutes les exécutions à travers les projets
import trackio
from trackio.sqlite_storage import SQLiteStorage
api = trackio.Api()
# Get all projects
projects = SQLiteStorage.get_projects()
# List runs in each project
for project in projects:
print(f"\nProject: {project}")
runs = api.runs(project)
for run in runs:
print(f" - {run.name}")Nettoyer les anciennes exécutions
api = trackio.Api()
runs = api.runs("my_project")
# Delete runs older than a certain date
from datetime import datetime
cutoff_date = datetime(2024, 1, 1)
for run in runs:
if run.config and "_Created" in run.config:
created = datetime.fromisoformat(run.config["_Created"])
if created < cutoff_date:
run.delete()
print(f"Deleted old run: {run.name}")Organiser les exécutions en les déplaçant
api = trackio.Api()
# Move all runs from "experiments" to "archive"
source_runs = api.runs("experiments")
for run in source_runs:
run.move("archive")
print(f"Moved {run.name} to archive")