Skip to main content

A command line interface for running cloud jobs

Project description

o-o

o‑o is a command line interface for running jobs on ephemeral cloud instances with tracked inputs and outputs. Building data or MLOps pipelines is as simple as stringing together multiple commands, as easily as running locally, but with the power of cloud compute and storage.

Highlights

  • Easily run any command in any language in cloud compute environments
  • Flexible. Define your own run environments with docker images and machine types
  • Traceable. Trace all inputs to the commands that produced them
  • You control your data. Data and source code is stored in your managed buckets
  • Support for Scaleway and Google Cloud (more to come...)

Getting Started

Follow the installation instructions to configure o-o. Once setup, define environments and datastores in an .ooconfig file:

project: test-project
environments:
  scaleway:
    provider: Scaleway
    image: docker.io/debian:stable-slim
    machinetype: STARDUST1-S
    region: fr-par-1
  gcp:
    provider: gcp
    image: docker.io/debian:stable-slim
    machinetype: e2-highcpu-2
    region: northamerica-northeast1-b
datastores:
  my-datastore:
    provider: Scaleway
    bucket: o-o-data
    region: fr-par

Lets start with a simple example that creates a data.txt file containing "Hello World" (under the hood, o-o will start and configure our scaleway environment, execute our command, copy output files to our datastore, and finally, delete the Scaleway instance).

$ o-o run --environment scaleway --message "create data.txt" -- \
    'echo "Hello World" > o://output/data.txt'

We completed our first run! o-o run --list displays the run's id (in this case ntus965ryy) and message:

$ o-o run --list
ntus965ryy create data.txt

You are free to run commands in any configured environment. Let's run a second command in our gcp environment that uses the output of ntus965ryy as input, and simply prints the contents of data.txt:

$ o-o run --environment gcp --message "print data.txt" -- \
    cat o://ntus965ryy/data.txt
Hello World

$ o-o run --list
ntus965ryy create data.txt
cxdbx8am38 print data.txt

And that's the basics. Find out more in the documentation and with o-o --help.

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

o_o-0.4.1.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

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

o_o-0.4.1-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

Details for the file o_o-0.4.1.tar.gz.

File metadata

  • Download URL: o_o-0.4.1.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for o_o-0.4.1.tar.gz
Algorithm Hash digest
SHA256 1e0cc99a06757df68ed57459a30887fef77655f159935a4b08986bdd3ffc344a
MD5 b3f2728b315466e42ca2d90c5118f195
BLAKE2b-256 9608d6d174e5afa3045177f0ac697fdff3ba2f7d78f18f7ea3fc99809bd9ecd0

See more details on using hashes here.

File details

Details for the file o_o-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: o_o-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for o_o-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e01ade912555bfe12edb565ea69df17b88189b67ab3855a17bd19b976fcc71d4
MD5 05f4c0df04513da84767445739e4c842
BLAKE2b-256 364c428a600839ea0384891773fb1a4c3b98b608bd7cc8e12fbe2361e85454d4

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