Skip to content

Enable Streamlit to run multiple applications on Django via Django Channels instead of Tornado #927

@MarcSkovMadsen

Description

@MarcSkovMadsen

My Pain

I'm developing internal analytics applications together with many different colleagues and teams. Theres a lot of different technologies at play Streamlit, Bokeh, Panel, Dash, Voila, Sphinx, Pelican, Angular, React and Vue.

It's ok to build these as standalone micro apps but for the devops and for the users it's nice if they can be running out of the same server, the routing can be defined in one common place, there is a shared menu, the users can be governed by one authentication system and a common template can be used.

I would like Django to be the server gluing this together. Alternatively Flask.

Of course Sphinx, Pelican, Angular, React, and Vue can be served out of Django.

But also Bokeh and Panel can run on Django via Django Channels. See holoviz/panel#865.

And there is a Django Extension that enables using Dash in Django. See https://pypi.org/project/django-plotly-dash/.

So now I'm just lacking Streamlit and Voila.

Solution

Implement features to run Streamlit on Django Channels similarly to what is possible with Panel instead of Tornado server.


Community voting on feature requests enables the Streamlit team to understand which features are most important to our users.

If you'd like the Streamlit team to prioritize this feature request, please use the 👍 (thumbs up emoji) reaction in response to the initial post.

Views

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:deploymentRelated to deployment of Streamlit appsstatus:unlikelyWill probably not implement but looking for feedbacktype:enhancementRequests for feature enhancements or new features

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions