Skip to main content

Run Python jobs on the cloud using DISCO

Project description

Dis.co Python SDK

Coverage Status

This package lets you run jobs on Dis.co platform from a Python program.

Using the SDK, you can create computing jobs, run them on Dis.co, and get their results to your local machine. It is possible to offload any kind of Python program to be run on Dis.co.

Prerequisites

  1. An Dis.co account.

  2. Python version 3.6 and up.

  3. Dis.co Python SDK installed:

    $ pip install disco
    

Example

import disco
import pathlib

disco.set_credentials('john@example.com', 'my_password', save_to_config=True)

my_file_id = disco.upload_file('my_file.py', pathlib.Path('/home/bob/my_file.py'))
job = disco.Job.create(my_file_id)
job.start()

(task_result,) = job.get_results(block=True)
task_result.write_files('/home/bob/my_result')

The code above uploads the file /home/bob/my_file.py, runs it on Dis.co cloud, waits for the job to finish, and writes the results to /home/bob/my_result.

When the job has been created, you can see it listed in list_jobs():

>>> import disco
>>> disco.Job.list_jobs())
[{'id': '5d650d25179854000d72b8cc', 'archived': False, 'name': 'd08e3e029bfc412ebc316e21f1a7dae0', 'status': 'Done', 'taskStates': ['Success']}]

This functions returns an instance of Job, which gives access to many useful operations on a job (see the API documentation).

Environment variables

The disco package supports these environment variables:

  • DISCO_BASE_URL - base URL of the Dis.co server. Default: https://app.dis.co
  • DISCO_EMAIL - user's email to for authenticating with the Dis.co server.
  • DISCO_PASSWORD - password for authenticating with the Dis.co server.
  • DISCO_LIVE_TESTS - set true to run our live tests.

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

disco-1.31.3.tar.gz (66.6 kB view hashes)

Uploaded Source

Built Distribution

disco-1.31.3-py3-none-any.whl (96.3 kB view hashes)

Uploaded Python 3

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