Skip to main content

saltant SDK for Python

Project description

Build Status Documentation Status PyPI PyPI - Python Version

saltant SDK for Python

NOTE: this project is an active work in progress

This attempts to follow the coding paradigms of docker-py fairly closely.

Example

from __future__ import print_function
import time
from saltant.client import Client
from saltant.constants import (
    SUCCESSFUL,
    FAILED,
)

API_TOKEN = 'p0gch4mp101fy451do9uod1s1x9i4a'
API_BASE_URL = 'https://shahlabjobs.ca/api/'
TASK_INSTANCE_UUID_TO_GET = '4ce0f9f1-9ae3-4baf-8838-76a19758fb29'


# Instantiate a Client object
client = Client(base_api_url=API_BASE_URL, auth_token=API_TOKEN)

# GET a task instance we know the UUID of. This will return an instance
# of the ExecutableTaskInstance model.
my_task_instance = client.executable_task_instances.get(
    uuid=TASK_INSTANCE_UUID_TO_GET)

# List attributes and methods of the task instance we just got.
print(dir(my_task_instance))

# Launch an instance of executable task type 1 :D
new_task_instance = client.executable_task_instances.create(
    name="saltant-py test",
    arguments={
        "tag_name": None,
        "output_dir": "/shahlab/archive/single_cell_indexing/NextSeq/fastq/160705_NS500668_0105_AHGTTWBGXY",
        "flowcell_id": "AHGTTWBGXY",
        "storage_name": "shahlab",
        "storage_directory": "/shahlab/archive"
    },
    task_queue_id=1,
    task_type_id=1,
)

# Wait until task instance completes
while True:
    # Wait a bit
    time.sleep(3)

    # Get job's status
    status = client.executable_task_instances.get(
        uuid=new_task_instance.uuid).state

    if status == SUCCESSFUL:
        print("yay!")
        break
    elif status == FAILED:
        print("noo!")
        break

Installation

Using pip,

pip install saltant-py

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

saltant-py-0.0.11.tar.gz (7.1 kB view hashes)

Uploaded Source

Supported by

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