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.