Base modules to use in a Streamlit basic project
Project description
streamapp
Base modules to use in a Streamlit project.
- Snowflake connection with templates
- Cards generator for landing page
- Environment selector if needed
- Auth module to login users and grant roles
- Report generator for .xlsx files and templates
- Request handler to integrate with .secrets
- Subpages selector
Requirements
streamlit>=1.30.0
streamlit-authenticator==0.2.2
snowflake-connector-python>=3.0.4
openpyxl==3.1.2
pydantic>=2.5.3
Secrets file
# environment variables
key = streamlit cookies key for auth module
snow_key = key for hased snowflake password with Fernet
queries_path = 'static/queries' # your folder queries path
utils_files = 'static/consume' # your static files path
admin_contact = 'admin@admin.com' # show contact if something went wrong
dev = false # sert true to see a detailed error in development
allowed_roles = ['analysts', 'support', 'guess', 'admin'] # roles for UI interface
# snowflake credentials
# see snowflake documentation
[SNOW_SERVER]
account = '************'
database = '*********'
warehouse = '******'
role = '*********'
user = '**********'
password = '***********'
# see streamlit authenticator documentation
[credentials.usernames]
Pepe.name = '**********'
Pepe.roles = ['admin', 'dev', 'other]
Pepe.password = 'password hash'
# if you prefer user credentials in an Mongo DDBB
[mongo_auth]
host = 'localhost'
port = 27017
username = 'root'
password = 'example'
[mongo_conf] # Optional if you prefer set up an specific database and collection
database = 'credentials_test' # Mongo database name, default credentials
collection = 'users_test' # Mongo database collection, default users
[auth_cookie]
cookie_name = 'cookie'
cookie_key = 'INTJB0EvLz1PzeEVp...'
cookie_expiry_days = 1
[ENVIRONMENTS]
name.image = '' # Some image to show for the environment
name.url = 'https://pokeapi.co' # host url for request with different environments
[REQUESTS]
get_pockemon.url = '/api/v2/berry/'
get_pockemon.method = 'get'
Generate Passwords
To generate passwords use Hasher from streamlit_authenticator
Hasher([password]).generate()[0]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
streamapp-0.0.13.tar.gz
(23.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file streamapp-0.0.13.tar.gz.
File metadata
- Download URL: streamapp-0.0.13.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50314ea10496c3bcd567231aa150cc4a0f3356c5a775a86f809ed91112e51e50
|
|
| MD5 |
f65dc3cf27849344eac38e974446a2c4
|
|
| BLAKE2b-256 |
b04e470e81f389442737d69092ee1091fb4f392f0a5c78c782734dcde903b06b
|
File details
Details for the file streamapp-0.0.13-py3-none-any.whl.
File metadata
- Download URL: streamapp-0.0.13-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
415de571536f35bff671b3b6701a4e76f2908b4960f4ecb2bb3b78cb1b6a6dfe
|
|
| MD5 |
ab1f8bc057d65fb25bdb5cc7a1650be4
|
|
| BLAKE2b-256 |
cdc23c2478449034244311de966b477e77057f9fd29e0b6f0254da475528780f
|