Skip to main content

Run any code on the cloud, instantly.

Project description

Nomad logo

Tests PyPI version Python version Checked with mypy Checked with flake8

Welcome to Nomad!

Nomad is the easiest way to run any code on the cloud! Nomad is designed to be used with Prism projects, but it can be used to any arbitrary code (e.g., functions, scripts, Jupyter notebooks, or entire projects)!

Getting Started

Nomad can be installed via pip. Nomad requires Python >= 3.8.

pip install --upgrade pip
pip install nomad-dev

Then, initialize a configuration file with the nomad init CLI command. This command will automatically prompt you for all the information needed to configure your cloud environment.

$ nomad init

What type of cloud environment do you want to use [ec2]? ec2
What would you like the name of your configuration file to be (default: nomad.yml)?

<HH:MM:SS> | INFO | Building configuration file...
<HH:MM:SS> | INFO | Done!

To run your project on your cloud environment, use the nomad build command. Under the hood, this command:

  1. Builds the cloud environment according to instructions contained in the configuration file, and
  2. Executes your project on the cloud.
$ nomad build -f nomad.yml
<HH:MM:SS> | INFO  | my_cloud_agent[build]  | Created key pair my_cloud_agent
<HH:MM:SS> | INFO  | my_cloud_agent[build]  | Created security group with ID sg-XXXXXXXXXXXXXXXXX in VPC vpc-XXXXXXXXXXXXXXXXX
<HH:MM:SS> | INFO  | my_cloud_agent[build]  | Created EC2 instance with ID i-XXXXXXXXXXXXXXXXX
<HH:MM:SS> | INFO  | my_cloud_agent[build]  | Instance i-XXXXXXXXXXXXXXXXX is pending... checking again in 5 seconds
<HH:MM:SS> | INFO  | my_cloud_agent[build]  | Instance i-XXXXXXXXXXXXXXXXX is pending... checking again in 5 seconds
<HH:MM:SS> | INFO  | my_cloud_agent[build]  | Instance i-XXXXXXXXXXXXXXXXX is pending... checking again in 5 seconds
<HH:MM:SS> | INFO  | my_cloud_agent[build]  | Instance i-XXXXXXXXXXXXXXXXX is pending... checking again in 5 seconds
...
...
<HH:MM:SS> | INFO  | my_cloud_agent[run]    | Done!
<HH:MM:SS> | INFO  | my_cloud_agent[delete] | Deleting key-pair my_cloud_agent at /../../../my_cloud_agent.pem
<HH:MM:SS> | INFO  | my_cloud_agent[delete] | Deleting instance i-XXXXXXXXXXXXXXXXX
<HH:MM:SS> | INFO  | my_cloud_agent[delete] | Deleting security group sg-XXXXXXXXXXXXXXXXX

Alternatively, you could use the nomad apply command to first build the cloud environment and then use nomad run to actually run the code.

Check out our documentation to see the full list of CLI command and their usage!

Cloud environments

Nomad currently supports the following cloud environments (which we call "Agents"):

  • ec2

Product Roadmap

We're always looking to improve our product. Here's what we're working on at the moment:

  • Additional Agents: GCP Virtual Machines, EMR clusters, Databricks clusters, and more!
  • Managed service: Managed platform to easily view, manage, and schedule your different cloud deployments

Let us know if you'd like to see another feature!

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

waldo-dev-0.0.1.tar.gz (61.0 kB view details)

Uploaded Source

Built Distribution

waldo_dev-0.0.1-py3-none-any.whl (92.0 kB view details)

Uploaded Python 3

File details

Details for the file waldo-dev-0.0.1.tar.gz.

File metadata

  • Download URL: waldo-dev-0.0.1.tar.gz
  • Upload date:
  • Size: 61.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for waldo-dev-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5aaa94bee4f57467b258d87d69b68ce4cfc0b4b2c0a65fc3ede6510c9ca06fa0
MD5 8c108af39a59f5d75eb830c01b643b61
BLAKE2b-256 25c6a55074d56ac281a1cf5e2f88009ac8bfd8a916a0d386f708adc1c13c246c

See more details on using hashes here.

File details

Details for the file waldo_dev-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: waldo_dev-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 92.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for waldo_dev-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 205a3343d7e1e041e6bd2abb5a999f370ab41e010b938223203e94c2b2081c24
MD5 3169e1e6a7129ed7052da655b0866caa
BLAKE2b-256 0f4d5ae60e78afeb80d2b6276249be827c79bb5fd41aa2507654a263f1518560

See more details on using hashes here.

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