Trackio documentation
API em Python para Gerenciar Execuções
API em Python para Gerenciar Execuções
O Trackio fornece uma classe de API em Python (trackio.Api()) que permite gerenciar programaticamente execuções em seus projetos. Esta API é semelhante à wandb.Api() e fornece métodos para excluir execuções, mover execuções entre projetos e acessar informações de execução.
Observação: Isso é diferente de Trackio como um Servidor de API, que executa o dashboard do Trackio como um servidor web com endpoints de API. A API em Python (trackio.Api()) é uma interface do lado do cliente para gerenciar execuções no seu banco de dados local do Trackio.
Uso Básico
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]Excluindo Execuções
api = trackio.Api()
runs = api.runs("my_project")
# Delete a specific run
run = runs[0]
success = run.delete() # Returns True if successfulMovendo Execuções Entre Projetos
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"Ao mover uma execução, todos os dados associados são transferidos:
- Todas as métricas e logs
- Configuração de execução
- Métricas do sistema
- Arquivos de mídia (imagens, vídeos, áudio)
A execução é removida completamente do projeto de origem e adicionada ao projeto de destino.
Referência da API
Api
Ponto de entrada principal da API Python do Trackio.
api = trackio.Api()
Métodos
runs(project: str) -> Runs: Retorna uma coleção de execuções para o projeto especificado. LançaValueErrorse o projeto não existir.
Execuções
Uma coleção de execuções que suporta iteração e indexação.
runs = api.runs("my_project")
len(runs) # Number of runs
runs[0] # First run
for run in runs: # Iterate over runs
...Executar
Representa uma única execução em um projeto.
Propriedades
id: O identificador estável de execução usado internamente pelo Trackioname: O nome legível da execução. Várias execuções podem compartilhar o mesmo nome.project: O projeto ao qual esta execução pertenceconfig: Dicionário de configuração da execução (carregado sob demanda)
Note: Multiple runs can share the same name, as Trackio will use the id identifier to disambiguate them internally.
Métodos
delete() -> bool: Remove a execução do seu projeto. RetornaTrueem caso de sucesso,Falsecaso contrário.move(new_project: str) -> bool: Move a execução para um projeto diferente. RetornaTrueem caso de sucesso,Falsecaso contrário. Atualiza a propriedadeprojectda execução após um movimento bem-sucedido.
Exemplos
Listar todas as execuções entre os projetos
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}")Limpar execuções antigas
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}")Organize execuções movendo-as
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")