How to deploy app

Hi, I would like to deploy an app on internet ie that others people could have access to my app.
What should I do ? How to manage the data file ? Is it possible to add a password to my app ? …

Thanks for your help.

PS: where is it possible to find information about all these steps from a beginner perspective.

I recommend starting with the tutorials in the knowledge base to get some starting ideas.

Thanks but I have many questions.
First it seems that there exists many option (cloud streamlit, docker…). Which one is best ?

Second it seems that I need to have a account GitHub (I have one) but how to put my app on it ? How to manage the data ?
Third, How to put my program the directory where to get my data (it used to be on my hard disk but if I transpose it on GitHub then how to proceed ? Which directory should I apply in my app to read my data ?

I hope it is clear. Sorry for the beginner questions.


This is too general of a question. Streamlit Cloud is probably the simplest but it comes with a lot of limitations (1GB resource limit; meant for educational/learning and not so much business/enterprise uses). You would need to describe fully your use case and data size/structure.

You need to save the files for your app into a repository. I recommend looking up introductions to GitHub and how to use it.

If you have small data files (e.g. less than a few hundred MB in total), you can save them into the same working directory as your app (e.g. in your repository) and provide relative paths to them. If you have more data or a complex data structure, you need to independently find some other method of hosting that data and connect to it by whatever means is appropriate for the selected method of storage/hosting. Again, what kind of data you have, its structure, its size, etc all matter here.

I have 5 files with size 38Mo, 21Mo, 38Mo, 390ko and 30ko. They are parquet type file.


If you are not modifying the files, that’s small enough you should be able to save those directly to your GitHub repository along with you app files if you want the simplest solution.

If you are modifying those files, I would generally go with a separate storage solution for the data files vs the app files. For something like Streamlit Cloud, any writing to files you do locally on the server will be at risk of being deleted if the app reboots; a reboot would copy everything fresh from GitHub and lose any changes that had been made by the app.

Thx I am going ti use streamlit.
On GitHub I need to put: Programm, an environnement.yms file and my data file. Correct ?

I do something like:

from pathlib import Path

path = Path('/Users/jacques/Library/Mobile Documents/com~apple~CloudDocs/Projets/Analyse fonds/Data')
df = pd.read_parquet(path / 'vl.parquet') 

how should the path should be modified to read my data from guithub ?


If you have:

|__ v1.parquet
|__ data/
    |___ v2.parquet

Then you simply navigate to your data via a relative path:

df = pd.read_parquet('vl.parquet')
df = pd.read_parquet('data/vl.parquet')

I tried to import my data to github but had an error message which is:
“Yowza, that’s a big file. Try again with a file smaller than 25MB.”
I suppose my data file are too large to enter GitHub (they are parquet files with respectively 38.6Mo, 37.6Mo, 21.2Mo, 390Ko, 90ko and 25Ko.
What should I do ? How can I proceed to deply streamlit app with my data files ?

I have to add that it is my first time on GitHub and also on streamlit.

Any help would be helpful.


I’ve definitely seen people use larger files than 25MB… According to GitHub, it warns at 50MB but doesn’t block until 100MB, at which point you should use “GitHub Large File Storage (LFS).”

Perhaps the method of uploading can affect what is allowed…

If you can’t get GitHub to work by some means, you could also put your files in a Google drive and use Google’s API to access them. I still think there should be a way for GitHub to accept your files though; I have definitely seen larger…