Skip to main content

Official Python SDK for Verda (formerly DataCrunch) Public API

Project description

Verda Python SDK

The official Verda (formerly DataCrunch) Python SDK.

The SDK's documentation is available on ReadTheDocs

Verda Public API documentation is available here.

This package was originally published under datacrunch name, see MIGRATION.md for details.

Getting Started - Using the SDK:

  • Install:

    # via pip
    pip install verda
    
    # via uv
    uv add verda
    
  • Generate your client credentials - instructions in the public API docs.

  • Add your client id and client secret to an environment variable (don't want it to be hardcoded):

    Linux (bash):

    export VERDA_CLIENT_ID=YOUR_ID_HERE
    export VERDA_CLIENT_SECRET=YOUR_SECRET_HERE
    
  • To enable sending inference requests from SDK you must generate an inference key - Instructions on inference authorization

  • Add your inference key to an environment variable

    Linux (bash):

    export VERDA_INFERENCE_KEY=YOUR_API_KEY_HERE
    

    Other platforms: https://en.wikipedia.org/wiki/Environment_variable

  • Example for creating a new instance:

    import os
    from verda import VerdaClient
    from verda.constants import Actions
    
    # Get credentials from environment variables
    CLIENT_ID = os.environ['VERDA_CLIENT_ID']
    CLIENT_SECRET = os.environ['VERDA_CLIENT_SECRET']
    
    # Create client
    verda = VerdaClient(CLIENT_ID, CLIENT_SECRET)
    
    # Get all SSH keys
    ssh_keys = [key.id for key in verda.ssh_keys.get()]
    
    # Create a new instance
    instance = verda.instances.create(instance_type='1V100.6V',
                                      image='ubuntu-24.04-cuda-12.8-open-docker',
                                      ssh_key_ids=ssh_keys,
                                      hostname='example',
                                      description='example instance')
    
    # Delete instance
    verda.instances.action(instance.id, Actions.DELETE)
    

    More examples can be found in the /examples folder or in the documentation.

Development

Set up the local development environment

Prerequisite: install uv.

Clone the repository, create local environment and install dependencies:

git clone git@github.com:verda-cloud/sdk-python.git
cd sdk-python
uv sync

Run Tests

  • Execute all tests

    uv run pytest
    
  • Execute a single test file

    uv run pytest tests/unit_tests/test_file.py
    

Local Manual Testing

Create a file in the root directory of the project:

# example.py
from verda import VerdaClient

CLIENT_SECRET = 'secret'
CLIENT_ID = 'your-id'

# Create client
verda = VerdaClient(CLIENT_ID, CLIENT_SECRET)

Run it:

uv run python example.py

Generating the documentation

If added a new service, create a documentation template under api/services for that service.

cd docs
make html

Code style

# Lint
uv run ruff check

# Format code
uv run ruff format

Contact

You can contact us here, or open an issue in the repo.

Project details


Download files

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

Source Distribution

verda-1.24.0.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

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

verda-1.24.0-py3-none-any.whl (44.0 kB view details)

Uploaded Python 3

File details

Details for the file verda-1.24.0.tar.gz.

File metadata

  • Download URL: verda-1.24.0.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for verda-1.24.0.tar.gz
Algorithm Hash digest
SHA256 fafb7c766bb0b6cb88a1fb5adb59739c39b9cc95fe7edc5067c03cbc850a80bf
MD5 eda6afb211c63813b5c191ccb3fb8798
BLAKE2b-256 a348f9ec761f5c3d2ea9c0b78ff27b8d71a833c8a7dd10c33cf6e44fbc6dd14d

See more details on using hashes here.

File details

Details for the file verda-1.24.0-py3-none-any.whl.

File metadata

  • Download URL: verda-1.24.0-py3-none-any.whl
  • Upload date:
  • Size: 44.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for verda-1.24.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52d7347087dce593181a73f972c3c99f7cdcafd49d6693c3d9bd2c5dd9c1234d
MD5 40b6d908c16d5b40b810c73de0762a73
BLAKE2b-256 8884b7538721b5ce938983b68a3590448bc7827dc677896357e89fe642d44fcd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page