Fetch failed executions with Valohai APIs

Using the Valohai APIs is rather straightforward, you’ll need to create an API token to authenticate your requests and then write your code to send & receive requests.

  • Go to your profile setting and create an authentication token
    • In our sample we’ll paste this directly to the file but you should consider saving this token in a configuration file or database for secure storage.
  • Consider creating a custom virtual environment for Python before continuing.
    • python3 -m virtualenv .venv
    • source .venv/bin/activate
  • You’ll need the ID of a single project to fetch its executions. You can get it from the projects’ setting page or query for it using the Valohai APIs results.

  • Create a new file fetchExecutions.py
    import requests
    import json
    
    # Authenticate yourself with the token
    auth_token = '<your-auth-token>'
    headers = {'Authorization': 'Token %s' % auth_token}
    
    # Send a request (with the authentication headers) to fetch all executions in a project
    # You can get the project ID for example
    resp = requests.get('https://app.valohai.com/api/v0/executions/?project={project_id}', headers=headers)
    
    # To fetch all failed executions you could run
    # https://app.valohai.com/api/v0/executions/?project={project_id}&status=error
    
    resp.raise_for_status()
    
    # Print the response you've received back
    print('# API Response:\n')
    print(json.dumps(resp.json(), indent=4))
    
  • Save and run python fetchExecutions.py and you’ll see a list of executions with their details.