🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

dstack

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dstack

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

0.19.12
Source
PyPI
Maintainers
2

dstack

Last commit PyPI - License Discord

dstack is an open-source alternative to Kubernetes and Slurm, designed to simplify GPU allocation and AI workload orchestration for ML teams across top clouds and on-prem clusters.

Accelerators

dstack supports NVIDIA, AMD, Google TPU, Intel Gaudi, and Tenstorrent accelerators out of the box.

Latest news ✨

How does it work?

Installation

Before using dstack through CLI or API, set up a dstack server. If you already have a running dstack server, you only need to set up the CLI.

Set up the server

(Optional) Configure backends

To use dstack with cloud providers, configure backends via the ~/.dstack/server/config.yml file.

For more details on how to configure backends, check Backends.

For using dstack with on-prem servers, create SSH fleets once the server is up.

Start the server

You can install the server on Linux, macOS, and Windows (via WSL 2). It requires Git and OpenSSH.

uv
$ uv tool install "dstack[all]" -U
pip
$ pip install "dstack[all]" -U

Once it's installed, go ahead and start the server.

$ 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/

For more details on server configuration options, see the Server deployment guide.

Set up the CLI

Set up the CLI

Once the server is up, you can access it via the dstack CLI.

The CLI can be installed on Linux, macOS, and Windows. It requires Git and OpenSSH.

uv
$ uv tool install dstack -U
pip
$ pip install dstack -U

To point the CLI to the dstack server, configure it with the server address, user token, and project name:

$ dstack project add \
    --name main \
    --url http://127.0.0.1:3000 \
    --token bbae0f28-d3dd-4820-bf61-8f4bb40815da
    
Configuration is updated at ~/.dstack/config.yml

Define configurations

dstack supports the following configurations:

  • Dev environments — for interactive development using a desktop IDE
  • Tasks — for scheduling jobs (incl. distributed jobs) or running web apps
  • Services — for deployment of models and web apps (with auto-scaling and authorization)
  • Fleets — for managing cloud and on-prem clusters
  • Volumes — for managing persisted volumes
  • Gateways — for configuring the ingress traffic and public endpoints

Configuration can be defined as YAML files within your repo.

Apply configurations

Apply the configuration either via the dstack apply CLI command or through a programmatic API.

dstack automatically manages provisioning, job queuing, auto-scaling, networking, volumes, run failures, out-of-capacity errors, port-forwarding, and more — across clouds and on-prem clusters.

For additional information, 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

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts