Skip to main content

Python bindings for the CometML REST API.

Project description

comet_ml_api

This is a set of unofficial Python bindings for the CometML REST API. There are functions for all current endpoints as well as a couple of functions that build on the basic endpoint ones to provide, e.g., simpler output or filtering. I haven't used all of the endpoints myself, so some of the functions haven't been tested at all (e.g. get_html). Documentation is currently limited but the functions provided are generally quite simple.

See Endpoints for the official documentation of the REST API.

Authentication

See this page first for how to generate your REST API key. There are two possible methods of authentication using that key:

  1. Store the key in ~/.comet_rest_key. When you import the api script, it will automatically load a key that it finds in this file.
  2. Call the set_api_key function and pass your key in. The key will be saved in a global variable so that the same key is used for all subsequent requests unless you explicitly set a new key.

Endpoints

Most of the basic endpoint functions are named get_<endpoint> where <endpoint> is the corresponding endpoint (e.g. get_workspaces to access https://www.comet.ml/api/rest/v1/workspaces). However, there are a few exceptions.

Metrics

There are two endpoints for metrics: metrics and metrics-raw. I call both of these "raw" because they return data that isn't well-formatted for immediate plotting/analysis. As the metrics endpoint only return the min, max, and most recent data points for a given metric, I call that one a summary, hence get_raw_metric_summaries; the function for metrics-raw is get_raw_metrics. There is also a helper function get_metrics which converts the metrics into a better format for visualization or analysis.

Params

Similarly to metrics, the raw parameters data may not be in the most usable format right away. I thus also call this endpoint get_raw_params and have a helper function get_params which provides a more concise output.

Other

As for params except, though the endpoint is log-other, the functions are get_raw_others and get_others.

Images

The images endpoint doesn't return the images themselves, just the data about them (including the URLs from which the actual images can be downloaded?). I call this endpoint get_image_data, but I haven't tested it.

Example Usage

from comet_ml_api import api

workspaces = api.get_workspaces()
project_ids = api.get_project_names_and_ids(workspaces[0]) # {name: id}
experiments = api.get_experiments(project_ids.popitem()[1])
api.get_params(experiments[0]["experiment_key"])

Project details


Release history Release notifications

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for cometml-api, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size cometml_api-0.1.tar.gz (3.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page