Skip to main content

Create input-output web applications and user interfaces using Plotly Dash lightning fast..

Project description

Overview

Release Status CI Status MIT License Documentation

Fast Dash logo

Open source, Python-based tool to develop web applications lightning fast.



Fast Dash is a Python module that makes the development of web applications fast and easy. It is built on top of Plotly Dash and can be used to build web interfaces for Machine Learning models or to showcase any proof of concept without the hassle of developing UI from scratch.

Simple example

Run your app with three simple steps:

from fast_dash import FastDash
from fast_dash.Components import Text

# Step 1: Define your model inference
def text_to_text_function(input_text):
    return input_text

# Step 2: Specify the input and output components
app = FastDash(callback_fn=text_to_text_function, 
                inputs=Text, 
                outputs=Text, 
                title='App title')

# Step 3: Run your app!
app.run()

# * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

And just like that, we have a completely functional interactive app!

Output:

Simple example


In a similar way, we can add multiple input as well as output components at the same time.

from fast_dash import FastDash
from fast_dash.Components import Text, Slider

# Step 1: Define your model inference
def text_to_text_function(input_text, slider_value):
    processed_text = f'{input_text}. Slider value is {slider_value}.'
    return processed_text

# Step 2: Specify the input and output components
app = FastDash(callback_fn=text_to_text_function, 
                inputs=[Text, Slider], 
                outputs=Text,
                title='App title')

# Step 3: Run your app!
app.run()

# * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Simple example with multiple inputs

And with just a few more lines, we can add a title icon, subheader and social details.

...

app = FastDash(callback_fn=text_to_text_function, 
                inputs=[Text, Slider], 
                outputs=Text,
                title='App title',
                title_image_path='https://raw.githubusercontent.com/dkedar7/fast_dash/main/docs/assets/favicon.jpg',
                subheader='Build a proof-of-concept UI for your Python functions lightning fast.',
                github_url='https://github.com/dkedar7/fast_dash',
                linkedin_url='https://linkedin.com/in/dkedar7',
                twitter_url='https://twitter.com/dkedar')

...

Output:

Simple example with multiple inputs and details


Key features

  • Launch an app only by specifying the types of inputs and outputs.
  • Multiple input and output components simultaneously.
  • Flask-based backend allows easy scalability and customizability.
  • Build fast and iterate.

Some features are coming up in future releases:

  • More input and output components.
  • Deploy to Heroku and Google Cloud.
  • and many more.

Community

Fast Dash is built on open-source. You are encouraged to share your own projects, which will be highlighted on a common community gallery that's upcoming. Join us on Discord.

Credits

Fast Dash is inspired from gradio and built using Plotly Dash. Dash's Flask-based backend enables Fast Dash apps to scale easily and makes them highly compatibility with other integration services. Many documentation ideas and concepts are borrowed from FastAPI's docs project template.

The project template was created with Cookiecutter and zillionare/cookiecutter-pypackage.

Project details


Download files

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

Source Distribution

fast_dash-0.1.2.tar.gz (36.2 kB view hashes)

Uploaded Source

Built Distribution

fast_dash-0.1.2-py3-none-any.whl (32.7 kB view hashes)

Uploaded Python 3

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