Skip to main content

centml-python-client

Installation

To install without cloning, run the following command:

pip install git+https://github.com/CentML/centml-python-client.git@main

Alternatively to build from source, clone this repo then inside the project's base directory, run the following command:

pip install . 

Authentication

For interactive use, authenticate once with the CLI. SDK examples reuse the stored credentials and refresh them when needed.

centml login
python examples/sdk/validate_auth.py

For service-to-service use, provide both service-account environment variables:

export CENTML_SERVICE_ACCOUNT_ID="<service-account-id>"
export CENTML_SERVICE_ACCOUNT_SECRET="<service-account-secret>"
python examples/sdk/validate_auth.py

CENTML_PLATFORM_API_URL can be set when targeting a non-production API.

Dynamo SDK example

The Dynamo example uses SDK authentication separately from the bearer token that protects the deployed inference endpoint:

export CENTML_CLUSTER_ID="<cluster-id>"
export CENTML_HARDWARE_INSTANCE_ID="<hardware-instance-id>"
export CENTML_ENDPOINT_BEARER_TOKEN="<new-endpoint-token>"
# Required only for gated Hugging Face models:
export HF_TOKEN="<hugging-face-token>"

python examples/sdk/create_dynamo.py

Use python examples/sdk/get_clusters.py and python examples/sdk/manage_hardware_instances.py to discover the required IDs. Creating the example reserves GPU capacity and may incur usage charges. It does not delete the deployment automatically.

Deployment logs SDK example

Logs are read per pod. Discover pod names with get_deployment_pods() (terminated pods still within log retention are included), then read with a deployment_log_session(): fetch_older() pages toward the beginning of history and fetch_newer() returns only new lines, while the session keeps the merged, ordered log in .events. get_deployment_logs_range() fetches a specific time window (epoch-millisecond bounds, both optional) and, with pod=None, merges every pod's stream chronologically. The same paging is available statelessly through get_deployment_logs(before=..., after=...), anchored on events you already hold or on a bare epoch-millisecond boundary:

python examples/sdk/get_deployment_logs.py

Un-installation

To uninstall centml, simply do:

pip uninstall centml

CLI

Once installed, use the centml CLI tool with the following command:

centml 

If you want tab completion, run

source scripts/completions/completion.<shell language>

Shell language can be: bash, zsh, fish (Hint: add source /path/to/completions/completion.<shell language> to your ~/.bashrc, ~/.zshrc or ~/.config/fish/completions/centml.fish)

Tests

To run tests, first install required packages:

pip install -r requirements-dev.txt
cd tests

When running on a local machine, it is recommended to run tests with the following command. This skips tests that require a GPU.

pytest --sanity

To run all the tests, use:

pytest

Common Issues

  • SSL certificate on MacOS

    Sometimes, you will see issues when using command like centml cluster [CMD], where the output might look like:

    File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/urllib3/util/retry.py", line 519, in increment
    
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    
    urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.centml.com', port=443):
    
    Max retries exceeded with url: /deployments
    
    (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)')))
    

    Solution: To fix this issue, navigate to your python installation directory and run the Install Certificates.command file located there.

    For example, if you are using python3.10, the file path would be: /Applications/Python 3.10/Install Certificates.command

Download files

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

Source Distribution

centml-0.6.0.tar.gz (37.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

centml-0.6.0-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file centml-0.6.0.tar.gz.

File metadata

  • Download URL: centml-0.6.0.tar.gz
  • Upload date:
  • Size: 37.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for centml-0.6.0.tar.gz
Algorithm Hash digest
SHA256 f5aa1e6d4a7eeac56b9c639c1749130112d1b69c6c02395238487f480915c4bf
MD5 67672d8e0fc62f723c9535cda28741bb
BLAKE2b-256 c6393f20e40d3994255f03875eda248bca8363dcb999f3fb0a3a2d7288baaddb

See more details on using hashes here.

Provenance

The following attestation bundles were made for centml-0.6.0.tar.gz:

Publisher: publish.yml on CentML/centml-python-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file centml-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: centml-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for centml-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3fe6e8bbac06b587ee1e68afb2e63d1ba930eb37c55eb07a153eaba6fc181ae1
MD5 d5719ce2b9a03a1e4f618929f623ae52
BLAKE2b-256 acadb0bde5d8a3a82c84ebfa95c11f84ef90e37ea59c7a1be45c3b440a454ba8

See more details on using hashes here.

Provenance

The following attestation bundles were made for centml-0.6.0-py3-none-any.whl:

Publisher: publish.yml on CentML/centml-python-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 files

0.5.3

2 files

0.5.2

2 files

0.5.0

2 files

0.4.11

2 files

0.4.10

2 files

0.4.9

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page