Need help with dstack?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

156 Stars 9 Forks Apache License 2.0 544 Commits 22 Opened issues


An open-source tool to rapidly develop data applications with Python

Services available


Need anything else?

Contributors list

No Data

dstack is an open-source platform to build and share data and ML applications within hours

Discord Chat


Installing and running

is very easy:
pip install dstack
dstack server start

If you run it for the first time, it may take a while. Once it's done, you'll see the following output:

To access the application, open this URL in the browser: http://localhost:8080/auth/verify?user=dstack&code=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&next=/

The default profile in "~/.dstack/config.yaml" is already configured. You are welcome to push your applications using Python package.

To access

, click the URL provided in the output. If you try to access
without using this URL, it will require you to sign up using a username and a password.

If you open the URL, you'll see the following interface:

You'll be logged as the

user. The page you'll see is
. It shows you all published applications which you have access to. The sidebar on the left lets you open other pages:
ML Models
, and

Minimal Application

Here's an elementary example of using

. The application takes real-time stock exchange data from Yahoo Finance for the FAANG companies and renders it for a selected symbol. Here's the Python code that you have to run to make such an application:
import dstack.controls as ctrl
import dstack as ds
import as px

@ds.cache() def get_data(): return

def output_handler(self, ticker): = px.line(get_data(), x='date', y=ticker.value())

app =[(ctrl.ComboBox(items=get_data().columns[1:].tolist()))], outputs=[(ctrl.Output(handler=output_handler))])

result = ds.push("minimal_app", app) print(result.url)

If you run it and click the provided URL, you'll see the application:

To learn about how this application works and to see other examples, please check out the Tutorials documentation page.

To learn in more detail about what applications consist of and how to use all their features, check out the Concepts documentation page.

ML Models

decouples the development of applications from the development of ML models by offering an
ML registry
. This way, one can develop ML models, push them to the registry, and then later pull these models from applications.

ML Registry
, or

Here's a very simple example of how to push a model to

from sklearn import datasets
from sklearn import svm
import dstack as ds

digits = datasets.load_digits() clf = svm.SVC(gamma=0.001, C=100.)[:-1],[:-1])

url = ds.push("clf_app", clf) print(url)

Now, if you click the URL, it will open the following page:

Here you can see the snippet of how to pull the model from an application or from anywhere else:

import dstack as ds

model = ds.pull('/dstack/clf_app')

To learn how to build an application that uses a simple ML model, check out the corresponding tutorial.


Do you have any feedback either minor or critical? Please, file an issue in our GitHub repo or write to us on our Discord Channel.

Have you tried

? Please share your feedback with us using this form!


For more details on the API and code samples, check out the docs.


The instructions on how to build dstack from sources can be found here.


is an open-source library licensed under the Apache 2.0 license

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.