Apps
Apps are software programs with a graphic user interface designed for a specific task or purpose and run in a browser or on computer.
Coming soon
To learn more about App deployment, see:
Supported App Development Frameworks
Datatailr currently supports the following App Development Frameworks –
Streamlit
Streamlit apps are designed to process data streams in real-time using the Streamlit framework. The app typically receives input data as a continuous stream, performs operations on the data, and sends the processed data to an output stream. Streamlit is known for its simplicity and quick development cycle.
To deploy a Streamlit application –
import streamlit as st
import dt.streamlit
def main():
# the logic of your app
pass
application = dt.streamlit.Streamlit()
# the app entrypoint makes the app deployable on Datatailr
def __app_main__():
return application
# this block makes the app runnable in your IDE for debugging purposes
if __name__ == '__main__':
# feel free to modify the port if 12345 is taken
application.run(port=12345)
Dash
Dash apps are web apps for creating interactive web-based visualizations using the Dash framework. Dash integrates well with Plotly for creating complex charts and dashboards, and is often used for data analysis and machine learning applications.
To deploy a Dash application –
import dash
import dt.dash
def create_app(port=None):
dash_application = dt.dash.Dash('Dash Demo', port=port)
# the logic of your app
return dash_application
# the app entrypoint makes the app deployable on Datatailr
def __app_main__():
return create_app().application
# this block makes the app runnable in your IDE for debugging purposes
if __name__ == '__main__':
# feel free to modify the port if 12345 is taken
app = create_app(port=12345)
app.run('0.0.0.0', debug=False)
Panel
Panel apps are built using the Panel library, which is a high-level app and dashboarding solution for Python. Panel allows for the creation of interactive dashboards and works well with other visualization libraries like Bokeh and Matplotlib.
To deploy a Panel application –
import panel as pn
import dt.panel
def main(doc):
# the logic of your app
pass
panel = dt.panel.Panel('My App', main, debug=True)
panel.run()
# the app entrypoint makes the app deployable on Datatailr
def __app_main__():
return panel.application
# this block makes the app runnable in your IDE for debugging purposes
if __name__ == '__main__':
# feel free to modify the port if 12345 is taken
application.run('0.0.0.0', port=12345, debug=True)
Flask
Flask apps are web applications built using the Flask framework, a lightweight WSGI web application framework in Python. Flask is known for its simplicity, flexibility, and fine-grained control over the application’s behavior. It's often used for small to medium-sized applications and APIs.
To deploy a Flask application –
from flask import Flask
application = Flask(__name__)
# the logic of your app
# the app entrypoint makes the app deployable on Datatailr
def __app_main__():
return application
# this block makes the app runnable in your IDE for debugging purposes
if __name__ == '__main__':
# feel free to modify the port if 12345 is taken
application.run('0.0.0.0', port=12345, debug=True)
Bokeh
Bokeh apps are web-based apps built using the Bokeh library, which is a Python library for creating interactive visualizations for modern web browsers. Bokeh specializes in high-performance, large dataset visualizations that can be embedded into web applications.
To deploy a Bokeh application –
import bokeh
import dt.bokeh
def modify_doc(doc):
# the logic of your app
pass
bokeh = dt.bokeh.Bokeh('My App', modify_doc, debug=True)
bokeh.run()
# the app entrypoint makes the app deployable on Datatailr
def __app_main__():
return bokeh.application
# this block makes the app runnable in your IDE for debugging purposes
if __name__ == '__main__':
# feel free to modify the port if 12345 is taken
bokeh.application.run('0.0.0.0', port=12345, debug=True)
Voila
Voila apps are a dashboard or application created from Jupyter notebooks. Voila turns Jupyter notebooks into standalone web applications, allowing users to interact with the live code, visualizations, and widgets without needing to access the notebook interface directly.
Updated 7 months ago