Skip to content

Repository files navigation

Welcom to DataStack

The Fastest way to build apps in python

Datastack is an open-source framework that enables you to easily build real-time web apps, internal tools, dashboards, weekend projects, data entry forms, or prototypes using just Python—no frontend experience required.

Installation

pip install pydatastack

Build from Source

pip install git+https://github.com/data-stack-hub/DataStack.git#subdirectory=lib

or

git clone https://github.com/data-stack-hub/DataStack.git
cd DataStack\lib
pip install .

Quickstart

Create new file counter.py with following code:

fromdatastackimportdatastackds=datastack(main=True)
ds.subheader('DataStack click counter app')
count=0definc_count():
globalcountcount+=1ds.button('Click', on_click=inc_count)
ds.write('counts: '+str(count))

Now run it to open the app!

$ datastack run counter.py

Open app in browser localhost:5000

Alt text

DataStack Widgets

# write textds.write('some text')
# dropdown selectionds.subheader('Dropdown Selection')
selected_value=ds.select(['a','b','c'])
ds.write('selected value: '+selected_value)
# listds.subheader('List')
selection_from_list=ds.list(['a','b','c'])
ds.write('Selected Option: '+selection_from_list)
# Buttondefinc_count(a):
globalcountcount+=1ds.subheader('Button click')
count=0ds.button('Click', on_click=inc_count)
ds.write('Count value: '+str(count))
# inputds.subheader('Input value')
input_value=ds.input(input_value)
ds.write('Input: '+input_value)
# HTMLds.subheader("HTML")
ds.html("<div style='color:green'>HTML Text</div>")
# Iframeds.subheader('Iframe')
defchange_iframe(a):
globalurlifa['payload'] =='Wikipedia':
url='https://www.wikipedia.org/'elifa['payload'] =='ML':
url='https://en.wikipedia.org/wiki/ML'else:
url='https://www.wikipedia.org/'ds.list(['Wikipedia','ML'], on_click=change_iframe)
url='https://www.wikipedia.org/'ds.iframe(url)
# page dividerds.divider()
# dataframedf=pd.DataFrame(
[["a", "b"], ["c", "d"]],
index=["row 1", "row 2"],
columns=["col 1", "col 2"])
ds.write('dataframe')
ds.dataframe(df)
# tableds.write('table')
ds.table(df)
# data inputdate=ds.date_input()

About

The Fastest way to build apps in python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages