Skip to main content

dstack is an open-source orchestration engine for running AI workloads on any cloud or on-premises.

Project description

dstack is an open-source container orchestration engine designed for running AI workloads across any cloud or data center. It simplifies dev environments, running tasks on clusters, and deployment.

Cloud and on-prem

dstack allows workload orchestration on both cloud and on-prem servers. Supported cloud providers include AWS, GCP, Azure, OCI, Lambda, TensorDock, Vast.ai, RunPod, and CUDO. For on-prem servers, see fleets.

Accelerators

dstack supports NVIDIA GPUs and Google Cloud TPUs out of the box.

Major news ✨

Installation

Before using dstack through CLI or API, set up a dstack server.

Install the server

The easiest way to install the server, is via pip:

pip install "dstack[all]" -U

Configure backends

If you have default AWS, GCP, Azure, or OCI credentials on your machine, the dstack server will pick them up automatically.

Otherwise, you need to manually specify the cloud credentials in ~/.dstack/server/config.yml.

See the server/config.yml reference for details on how to configure backends for all supported cloud providers.

Start the server

To start the server, use the dstack server command:

$ dstack server

Applying ~/.dstack/server/config.yml...

The admin token is "bbae0f28-d3dd-4820-bf61-8f4bb40815da"
The server is running at http://127.0.0.1:3000/

Note It's also possible to run the server via Docker.

Add on-prem servers

If you'd like to use dstack to run workloads on your on-prem servers, see on-prem fleets command.

How does it work?

1. Define configurations

dstack supports three types of run configurations:

  • Dev environments — for interactive development using a desktop IDE
  • Tasks — for any kind of batch jobs or web applications (supports distributed jobs)
  • Services— for production-grade deployment (supports auto-scaling and authorization)

Each type of run configuration allows you to specify commands for execution, required compute resources, retry policies, auto-scaling rules, authorization settings, and more.

Configuration can be defined as YAML files within your repo.

2. Run configurations

Run any defined configuration either via dstack CLI or API.

dstack automatically handles provisioning, interruptions, port-forwarding, auto-scaling, network, volumes, run failures, out-of-capacity errors, and more.

3. Manage fleets

Use fleets to provision and manage clusters and instances, both in the cloud and on-prem.

More information

For additional information and examples, see the following links:

Contributing

You're very welcome to contribute to dstack. Learn more about how to contribute to the project at CONTRIBUTING.md.

License

Mozilla Public License 2.0

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dstack-0.18.7rc2.tar.gz (308.1 kB view details)

Uploaded Source

Built Distribution

dstack-0.18.7rc2-py3-none-any.whl (466.8 kB view details)

Uploaded Python 3

File details

Details for the file dstack-0.18.7rc2.tar.gz.

File metadata

  • Download URL: dstack-0.18.7rc2.tar.gz
  • Upload date:
  • Size: 308.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for dstack-0.18.7rc2.tar.gz
Algorithm Hash digest
SHA256 5cb07dac6f88976ce35b17c5b49f02cddd0aa78796551630eb21a3fe54160cea
MD5 73ba6e430c5d56955bab5bcd8b381d80
BLAKE2b-256 e9e8c5ffd432664003f7e2f826443da7663783c17f2353424562df21efba168f

See more details on using hashes here.

File details

Details for the file dstack-0.18.7rc2-py3-none-any.whl.

File metadata

  • Download URL: dstack-0.18.7rc2-py3-none-any.whl
  • Upload date:
  • Size: 466.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for dstack-0.18.7rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 c331d5dcdbcd5a100b12419a000eafafb8bb6b56e208991e49c254a1235278a1
MD5 86f0fc7e34f4a8cf399927394afea030
BLAKE2b-256 485287448a9504baf8e5adad66af54d1560a1cdf187c0d31a69b7fab8d952a3a

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