Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
MarcSkovMadsen opened this issue Jan 6, 2020 · 14 comments
Labels
area:deployment Related to deploying Streamlit apps status:unlikely Will probably not implement but looking for further feedback type:enhancement Requests for feature enhancements or new features

Comments

@MarcSkovMadsen
Copy link

MarcSkovMadsen commented Jan 6, 2020

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.

@MarcSkovMadsen MarcSkovMadsen added the type:enhancement Requests for feature enhancements or new features label Jan 6, 2020
@MarcSkovMadsen MarcSkovMadsen changed the title Enable Streamlit to run multiple application on Django via Django Chanels instead of Tornado Enable Streamlit to run multiple applications on Django via Django Channels instead of Tornado Jan 6, 2020
@hurleyLi
Copy link

Hi @MarcSkovMadsen , just wondering have you figured out a way to incorporate Steamlit within Django apps?

@joewandy
Copy link

joewandy commented Sep 4, 2020

Anybody made any kind of progress at all? It sounds like a massive undertaking. Would be good if the team could provide some rough breakdown of what needs to be done for this to even be possible at all.

@MarcSkovMadsen
Copy link
Author

No. I just know that bokeh and panel supports this. And they also run on tornado natively. So I guess inspiration could be found there.

@AhmedSalam22
Copy link

any good news sir?

1 similar comment
@AhmedSalam22
Copy link

any good news sir?

@incognitoluke
Copy link

Just saw this YouTube video. Perhaps django and streamlit has worked for this person.

@yuweichen1008
Copy link

I don't think someone did that

@abbaskal
Copy link

Is there any update on this issue?

@toppylawz
Copy link

So far, don't think there's any update yet

@bsivanantham
Copy link

Is there any update on this issue?

@JPereira-FJB
Copy link

Any update?

1 similar comment
@EminemJK
Copy link

EminemJK commented Mar 1, 2023

Any update?

@jrieke jrieke added the status:unlikely Will probably not implement but looking for further feedback label Jun 21, 2023
@jrieke
Copy link
Collaborator

jrieke commented Jun 21, 2023

We don't have any plans to implement this right now. But will leave open since it has a few upvotes.

@LukasMasuch LukasMasuch added the area:deployment Related to deploying Streamlit apps label Jul 23, 2023
@Edmonstone
Copy link

What is the secure way to integrate my Streamlit app inside Django? I am wide open to everyone's opinions on this to learn all the ways of secure integration, Now am using <iframe> which doesn't satisfy me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:deployment Related to deploying Streamlit apps status:unlikely Will probably not implement but looking for further feedback type:enhancement Requests for feature enhancements or new features
Projects
None yet
Development

No branches or pull requests