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.
Metadata
Release files for verda 1.24.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| verda-1.24.1.tar.gz | 35.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| verda-1.24.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 92.2 kB
Release files / verda-1.24.1.tar.gz
| Download URL | verda-1.24.1.tar.gz |
|---|---|
| Size | 35.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7fdade7fab74aa1880f8e3eb19744d44abcfe0a951e282366b5b9aaeb0f86bed
|
|
BLAKE2b-256 checksum How to use checksums |
48554ed9bbcabce1f31036f649797cb1983baebdbd2763a5af2cd1b6ff876f8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / verda-1.24.1-py3-none-any.whl
| Download URL | verda-1.24.1-py3-none-any.whl |
|---|---|
| Size | 56.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
989cb81ac9238d850ba2a2d1d0d21101b3c0353b251a8aabc3cdc683a917349e
|
|
BLAKE2b-256 checksum How to use checksums |
515335bc00f16d19cae4f560956749bd37ccd06f54903ae89844d2172ae1fa85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|