Fetching failed executions

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
    import os
    # Authenticate yourself with the token.
    # Remember to follow your organization's security standards when handling the token.
    auth_token = os.environ['VH_API_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
    # 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.