Polyaxon client is python module that can be used to interact with Polyaxon API in a programmatic way.

Install

$ pip install -U polyaxon-client

for python3

$ pip3 install -U polyaxon-client

Clients

This module includes a client that can be used to interact with Polyaxon API in a programmatic way.

  • Auth: A client for handling authentication and user information.
  • Cluster: A client for getting cluster and cluster nodes information.
  • User: A client to manage users and superuser roles.
  • Project: A client for doing CRUD operations on projects, as well as getting and creating experiments and experiment groups, creating and stopping tensorboard/notebook, and uploading code.
  • Experiment group: A client for doing CRUD operations on experiment groups, as well as fetching experiments per group.
  • Experiment: A client for doing CRUD operations on experiments, as well as statuses, jobs, resources, and logs.
  • Experiment Job: A client for getting information, resources, and logs of experiment jobs.
  • Job: A client for getting information, resources, and logs of jobs.
  • Build Job: A client for getting information, resources, and logs of build jobs.
  • Bookmark: A client for getting bookmarks.
  • Version: A client to get current and supported versions of several Polyaxon component.

Usage

from polyaxon_client.client import PolyaxonClient

polyaxon_client = PolyaxonClient(
    host=POLYAXON_IP,
    token=MY_TOKEN, 
    port=POLYAXON_PORT)

polyaxon_client.auth
polyaxon_client.cluster
polyaxon_client.user
polyaxon_client.project
polyaxon_client.experiment
polyaxon_client.experiment_group
polyaxon_client.experiment_job
polyaxon_client.job
polyaxon_client.build_job
polyaxon_client.bookmark
polyaxon_client.version

Authentication

In-cluster

You can create an instance of PolyaxonClient in your code when running a job or experiment in-cluster simply by running:

client = PolyaxonClient()

Polyaxon provides a context for all its runs enabling users to access scoped token to communicate with the API.

Locally with an authenticated Polyaxon CLI

If your Polyaxon CLI is authenticated, you can create an instance of PolyaxonClient with the CLI authentication information.

e.g.

client = PolyaxonClient()

The client will check for the current authenticated user and raise if non found.

Not in-cluster and no authenticated CLI

When you need to authenticate a client in an environment outside of a Polyaxon cluster and no authenticated CLI, Polyaxon provides several option:

  • Authenticating with Environment variables:

    You can set environment variables containing:
    * POLYAXON_SECRET_USER_TOKEN * POLYAXON_API_HOST * POLYAXON_HTTP_PORT

    Once these environment variables are set, you can run:

    client = PolyaxonClient()

    Authentication using environment variables could be useful to keep you code behave similarly on different environment.

  • Provide authentication params:

    client = PolyaxonClient(token=MY_TOKEN, host=HOST_IP, port=HTTP_PORT, use_https=None, verify_ssl=None)
  • Provide an ApiConfig instance:

    api_config = ApiConfig(token=MY_TOKEN, host=HOST_IP, port=HTTP_PORT, use_https=None, verify_ssl=None)
    client = PolyaxonClient(api_config=api_config)