Skip to main content

Run any code on the cloud, instantly.

Project description

Alto logo

Tests PyPI version Python version Checked with mypy Checked with flake8

Welcome to Alto!

Alto is the easiest way to run any code on the cloud! Alto 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

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

pip install --upgrade pip
pip install alto-dev

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

$ alto 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: alto.yml)?

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

To run your project on your cloud environment, use the alto 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.
$ alto build -f alto.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 alto apply command to first build the cloud environment and then use alto run to actually run the code.

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

Cloud environments

Alto 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

alto-dev-0.0.8.tar.gz (77.3 kB view details)

Uploaded Source

Built Distribution

alto_dev-0.0.8-py3-none-any.whl (116.1 kB view details)

Uploaded Python 3

File details

Details for the file alto-dev-0.0.8.tar.gz.

File metadata

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

File hashes

Hashes for alto-dev-0.0.8.tar.gz
Algorithm Hash digest
SHA256 011167fd8a37999e9c5fd817d76b3c4f2a98ff8a7a9d5ba4cb3e8d1754457d83
MD5 9f66350309f848281b378878728938ef
BLAKE2b-256 8cf0aae79f93f3a0cf524c3806ee2b14e9bed8695ad9161372cbc37f1f3e03a3

See more details on using hashes here.

File details

Details for the file alto_dev-0.0.8-py3-none-any.whl.

File metadata

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

File hashes

Hashes for alto_dev-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 46a2caabe33a423025ef96f7c3f338725bcc42111277f1ea14629aa1dd444fec
MD5 1836d80e01e0ae3a541048c4693202e5
BLAKE2b-256 0322437e2f64c73a6ac78c2e091034d7a22726b9c4ba2e74f6e9f34bbecf8526

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