Skip to main content

Official Python SDK for DataCrunch Public API

Project description

DataCrunch Python SDK

The official DataCrunch.io Python SDK.

The SDK's documentation is available on ReadTheDocs

DataCrunch's Public API documentation is available here.

Getting Started - Using the SDK:

  • Install:

    # via pip
    pip3 install datacrunch
    
    # via uv
    uv add datacrunch
    
  • 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 DATACRUNCH_CLIENT_ID=YOUR_ID_HERE
    export DATACRUNCH_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 DATACRUNCH_INFERENCE_KEY=YOUR_API_KEY_HERE
    

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

  • Example for creating a new instance:

    import os
    from datacrunch import DataCrunchClient
    
    # Get credentials from environment variables
    CLIENT_ID = os.environ.get('DATACRUNCH_CLIENT_ID')
    CLIENT_SECRET = os.environ['DATACRUNCH_CLIENT_SECRET']
    
    # Create datcrunch client
    datacrunch = DataCrunchClient(CLIENT_ID, CLIENT_SECRET)
    
    # Get all SSH keys
    ssh_keys = datacrunch.ssh_keys.get()
    ssh_keys = list(map(lambda key: key.id, ssh_keys))
    
    # Create a new instance
    instance = datacrunch.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
    datacrunch.instances.action(instance.id, datacrunch.constants.instance_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:DataCrunch-io/datacrunch-python.git
cd datacrunch-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 datacrunch.datacrunch import DataCrunchClient

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

# Create datacrunch client
datacrunch = DataCrunchClient(CLIENT_ID, CLIENT_SECRET, base_url='http://localhost:3001/v1')

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

datacrunch-1.16.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

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

datacrunch-1.16.0-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file datacrunch-1.16.0.tar.gz.

File metadata

  • Download URL: datacrunch-1.16.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for datacrunch-1.16.0.tar.gz
Algorithm Hash digest
SHA256 2fb9e3f6b36cd91581e5acd3bc2c51b21f20fa014435120cb271aa75b842f4b2
MD5 b3b7ecc38a40dee08d0e9a53743b4f40
BLAKE2b-256 aa17be440ec3a980e5788c162c9ff89b9742e014d0f1b8a61ea6000e1035f00f

See more details on using hashes here.

File details

Details for the file datacrunch-1.16.0-py3-none-any.whl.

File metadata

File hashes

Hashes for datacrunch-1.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d23223c7fe13652ba70abc6a6293af8d1d255fc668213a0f114dbb2d8bd7b64
MD5 44bc666965cd32fa555799447ec30e29
BLAKE2b-256 e32dac9b62c2dd0ed6ac71ebcb3f9fa45c71f87e7afb94c966b04951186184ff

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