All Projects → dstackai → Dstack

dstackai / Dstack

Licence: apache-2.0
An open-source tool to rapidly develop data applications with Python

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Dstack

Awesome Ai
A curated list of artificial intelligence resources (Courses, Tools, App, Open Source Project)
Stars: ✭ 161 (-7.47%)
Mutual labels:  data-science
Aulas
Aulas da Escola de Inteligência Artificial de São Paulo
Stars: ✭ 166 (-4.6%)
Mutual labels:  data-science
Jaxnet
Concise deep learning for JAX
Stars: ✭ 171 (-1.72%)
Mutual labels:  data-science
Learnpythonforresearch
This repository provides everything you need to get started with Python for (social science) research.
Stars: ✭ 163 (-6.32%)
Mutual labels:  data-science
Handout
Turn Python scripts into handouts with Markdown and figures
Stars: ✭ 1,973 (+1033.91%)
Mutual labels:  data-science
Airbyte
Airbyte is an open-source EL(T) platform that helps you replicate your data in your warehouses, lakes and databases.
Stars: ✭ 4,919 (+2727.01%)
Mutual labels:  data-science
Presentations
Slide show presentations regarding data driven investing.
Stars: ✭ 162 (-6.9%)
Mutual labels:  data-science
Anndata
Annotated data.
Stars: ✭ 171 (-1.72%)
Mutual labels:  data-science
Fedmsg
Federated Messaging with ZeroMQ
Stars: ✭ 165 (-5.17%)
Mutual labels:  data-science
Covid19 Severity Prediction
Extensive and accessible COVID-19 data + forecasting for counties and hospitals. 📈
Stars: ✭ 170 (-2.3%)
Mutual labels:  data-science
Competition Baseline
数据科学竞赛知识、代码、思路
Stars: ✭ 2,553 (+1367.24%)
Mutual labels:  data-science
Boostaroota
A fast xgboost feature selection algorithm
Stars: ✭ 165 (-5.17%)
Mutual labels:  data-science
Matplotplusplus
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
Stars: ✭ 2,433 (+1298.28%)
Mutual labels:  data-science
Sweetie Data
This repo contains logstash of various honeypots
Stars: ✭ 163 (-6.32%)
Mutual labels:  data-science
Data Science Resources
👨🏽‍🏫You can learn about what data science is and why it's important in today's modern world. Are you interested in data science?🔋
Stars: ✭ 171 (-1.72%)
Mutual labels:  data-science
Bookstore
📚 Notebook storage and publishing workflows for the masses
Stars: ✭ 162 (-6.9%)
Mutual labels:  data-science
Auptimizer
An automatic ML model optimization tool.
Stars: ✭ 166 (-4.6%)
Mutual labels:  data-science
Deep Spying
Spying using Smartwatch and Deep Learning
Stars: ✭ 172 (-1.15%)
Mutual labels:  data-science
100 Days Of Ml Code
A day to day plan for this challenge. Covers both theoritical and practical aspects
Stars: ✭ 172 (-1.15%)
Mutual labels:  data-science
Data Science Toolkit
Collection of stats, modeling, and data science tools in Python and R.
Stars: ✭ 169 (-2.87%)
Mutual labels:  data-science

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

Discord Chat

Installation

Installing and running dstack is very easy:

pip install dstack==0.6.4
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 dstack, click the URL provided in the output. If you try to access dstack 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 dstack user. The page you'll see is Applications. It shows you all published applications which you have access to. The sidebar on the left lets you open other pages: ML Models, Settings, Documentation, and Chat.

Minimal Application

Here's an elementary example of using dstack. 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 as ds
import plotly.express as px

app = ds.app()  # create an instance of the application


# an utility function that loads the data
def get_data():
    return px.data.stocks()


# a drop-down control that shows stock symbols
stock = app.select(items=get_data().columns[1:].tolist())


# a handler that updates the plot based on the selected stock
def output_handler(self, stock):
    # a plotly line chart where the X axis is date and Y is the stock's price
    self.data = px.line(get_data(), x='date', y=stock.value())


# a plotly chart output
app.output(handler=output_handler, depends=[stock])

# deploy the application with the name "stocks" and print its URL 
url = app.deploy("stocks")
print(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

dstack 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.

dstack's ML Registry supports Tensorflow, PyTorch, or Scikit-Learn models.

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

from sklearn.svm import SVC
from sklearn.multiclass import OneVsRestClassifier
from sklearn.preprocessing import LabelBinarizer
import dstack as ds

X = [[1, 2], [2, 4], [4, 5], [3, 2], [3, 1]]
y = [0, 0, 1, 1, 2]

classif = OneVsRestClassifier(estimator=SVC(random_state=0))
classif.fit(X, y)

url = ds.push("classif", classif)
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

X = [[1, 2], [2, 4], [4, 5], [3, 2], [3, 1]]

classif = ds.pull('/dstack/classif')
classif.predict(X)

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

Feedback

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 dstack? Please share your feedback with us using this form!

Documentation

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

Contribution

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

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].