Configuration-driven database and storage utilities for Azure
Project description
streamlit-azure-kit
A JSON-based parameter-to-key mapper for database connections.
Installation
pip install streamlit-azure-kit
Quick Start
Database Connections
from streamlit_azure_kit.config import ConfigLoader
from streamlit_azure_kit.database import create_engine_from_config
# Load config and create database engine
config = ConfigLoader("config/endpoint_config.json")
db_config = config.get_database_config("my_dashboard", "primary_db")
engine = create_engine_from_config(db_config)
Blob Storage (Optional)
from streamlit_azure_kit.config import ConfigLoader
from streamlit_azure_kit.database import create_blob_client_from_config
# Load config and create blob storage client
config = ConfigLoader("config/endpoint_config.json")
storage_config = config.get_storage_config("my_dashboard", "blob_storage")
blob_client = create_blob_client_from_config(storage_config)
# Use the client
container = blob_client.get_container_client("mycontainer")
Authentication (Optional - Streamlit Apps Only)
from streamlit_azure_kit.auth import AuthHandler
# Optional - only for Streamlit dashboards
auth = AuthHandler("config/user_roles.json")
auth.require_auth()
Configuration
Your application needs an endpoint_config.json file.
Minimal Database Configuration
{
"_database_definitions": {
"my_db": {
"server": "myserver.database.windows.net",
"database": "mydb",
"db_engine_type": "always_on",
"pool_size": 10,
"max_overflow": 20,
"pool_timeout": 30,
"pool_recycle": 3600,
"connection_timeout": 30,
"retry_config": {
"max_retries": 6,
"delay": 2.0
}
}
},
"my_app": {
"production": {
"primary_db": "my_db"
}
}
}
Storage Configuration (Optional)
{
"_storage_definitions": {
"my_storage": {
"account_name": "mystorageaccount",
"connection_timeout": 20
}
},
"my_app": {
"production": {
"blob_storage": "my_storage"
}
}
}
Note: Only account_name is required for storage. Optional parameters: connection_timeout, max_single_put_size, max_block_size.
Requirements
- Python >= 3.9
- SQLAlchemy >= 2.0.0
- Azure Identity >= 1.14.0
- PyODBC >= 4.0.0
- Pandas >= 2.0.0
- Azure Storage Blob >= 12.0.0
License
MIT License - See LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
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 streamlit_azure_kit-0.3.3-py3-none-any.whl.
File metadata
- Download URL: streamlit_azure_kit-0.3.3-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac824c0241a3f2c6bff5479b707898ae7ce9d6f5451f1842310e2178824586af
|
|
| MD5 |
c55cdfb403dec17961b067e12953ae87
|
|
| BLAKE2b-256 |
04d0a2f28ceb32bb7208466f6c1e8d193209fef29645e80828d89bef62de1ca6
|