Streamlit doesn't support running under HTTPS, but you might want to do that. One way to achieve this is to use a reverse proxy, and enable HTTPS on the proxy server. The user's browser connects to the proxy over HTTPS. The proxy server terminates the HTTPS connection and forwards requests over HTTP to Streamlit. Responses from Streamlit go via the proxy, back to the user.
┌────────────┐ ┌─────────┐ ┌─────────────┐
│ │──────────▶│ │──────────▶│ │
│ Browser │ HTTPS │ Proxy │ HTTP │ Streamlit │
│ │◀ ─ ─ ─ ─ ─│ │◀ ─ ─ ─ ─ ─│ │
└────────────┘ └─────────┘ └─────────────┘
──────────▶ Request
◀ ─ ─ ─ ─ ─ Response
- Python 3.6.X
- Pandas
- Numpy
- Plotly
- Matplotlib
- Streamlit
- Docker
- Docker Compose
- openpyxl
- Deta
Deta
: Utilizado como uma solução de banco de dados e armazenamento na nuvem, fornecendo recursos de persistência de dados para o seu web app.
Matplotlib
: Uma biblioteca de visualização de dados em Python, utilizada para criar gráficos e visualizações.
Numpy
: Uma biblioteca Python utilizada para trabalhar com arrays. É uma biblioteca Python central para a computação científica.
Pandas
: Uma biblioteca Python utilizada para trabalhar com dados. Ela tem funções que tornam o trabalho com dados mais fácil.
Plotly
: Uma biblioteca Python utilizada para criar visualizações interativas.
Streamlit
: Uma biblioteca de criação de aplicativos da web para visualização interativa de dados, que permite criar interfaces de usuário interativas para explorar e apresentar dados.
- The web application is built using a python library -> Streamlit
- The entire application is finally deployed on Streamlit CLoud Share Platform
- See the deployed application here
Streamlit is an open source web framework that lets you build webpages using only Python 🐍. Thereby, removing the need for developers to use HTML, CSS and Js. It uses what is called as widgets/components to construct your website.
Developer Trivia: Streamlit components are essentially Python wrappers of React code (Judges, extra points 😁?).
pip install streamlit
Let us assume our file name to be 'streamlit_basics.py' and that we are in the correct directory.
streamlit run streamlit_basics.py
Clone this repository :
git clone https://github.com/estevam5s/big-data-drisssen
cd big-data-drisssen
You may want to use a virtual environment to keep a clean Python installation :
python3 -m venv myenv/
source myenv/bin/activate
pip install -r requirements.txt
streamlit run app.py --server.address 0.0.0.0 --server.port 8080
Prototyping a user interface with Streamlit
Sometimes we need to resolve very quickly a delivery or we have to validate a protopyte.
The objective of this project is to provide an interface that allows to a person (who don`t handle Conda or Jupyter Notebook) select an xls, process its content and obtain the result needed.
Here we go!
The first time the project is used, the following commands should be run:
-
Build container:
docker build -f docker/Dockerfile -t streamlitapp:latest .
-
Run container:
docker run -d -p 8501:8501 streamlitapp:latest
-
You can now view your Streamlit app in your browser http://localhost:8501
-
Browse to upload the xls file and select the example file located ./example/
-
Download the new file generated width the transform
-
To shut down container:
docker ps
docker stop CONTAINER_ID
First, install heroku and login.
To create a new deployment, run inside traingenerator
:
heroku create
git push heroku main
heroku open
To update the deployed app, commit your changes and run:
git push heroku main
Optional: If you set up a Github repo to enable the "Open in Colab" button (see above), you also need to run:
heroku config:set GITHUB_TOKEN=<your-github-access-token>
heroku config:set REPO_NAME=<user/notebooks-repo>
- Numpy - Fundamental package for scientific computing with Python,
- Pandas - Library providing data structures and data analysis tools for Python,
- Streamlit - Open-source app framework,
All the Python packages needed are listed in requirements.txt and on the Dependency Graph page.
amazing examples by Streamlit https://streamlit.io/gallery
For more, please refer to the Documentation
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License.