This repository contain a demo multilingual Streamlit app with authentication provided by the great Streamlit-Authenticator package.
This repository contains:
- Code of the web application with its Dockerfile for deployment:
- Directory .streamlit/: Streamlit configuration
- Directory src/: Application sources
- Directory config/: App and streamlit-authenticator configuration files
- Directory assets/: App assets (Can contain stylesheets, images...). It contains app strings for the different languages in the lang/ subdirectory.
- File requirements.txt: App requirements
This project is a simple demo/boilerplate streamlit multilingual application with user authentication.
This project use the following technologies:
- Streamlit framework for the web UI streamlit
- The streamlit-authenticator package for user authentication
The application configuration is made via two yaml configuration files:
- config/app_config.yaml:
- The main application configuration file, that contains:
- Path of the streamlit-authenticator configuration file
- Paths of the languages files that contains strings of the application
- Default language to use
- The main application configuration file, that contains:
- config/auth.yaml:
- The streamlit-authenticator configuration file, more information on the streamlit-authenticator documentation
The assets/lang/ directory contain the lang yaml files containing the strings for each language of the application. The paths can be configured in the config/app_config.yaml file.
It can be deployed by following the instructions of the streamlit deployment documentation.
The repository contains a DockerFile for deploying it with docker, more information can be found of the streamlit docker deployment documentation.
docker build -t [image_name] .
Verifying that the image was built:
docker images
docker run -p 8501:8501 [image_name]
Contributions to enhance the script or fix issues are welcome. Please feel free to fork the repository, make your changes, and submit a pull request.
This project is Open Source and is available under the Apache License 2.0.