Settus
Settings management using Pydantic Settings with cloud extensions.
Settus makes it possible to securely access local and cloud-stored secrets from multiple environments, with pre-defined fallback plans. Supported secrets provider are
- Azure Keyvault
- Databricks secrets [IN PROGRESS]
- AWS Secrets Manager
- GCP Secrets Manager [IN PROGRESS]
Help
See documentation for more details.
Installation
Install using
pip install laktory[{cloud_provider}]
where {cloud_provider} is azure, aws, databricks or gcp.
For more installation options, see the Install section in the documentation.
A Basic Example
import os
from settus import BaseSettings
from settus import Field
KEYVAULT_URL = "https://o3-kv-settus-dev.vault.azure.net/"
AWS_SECRET_NAME = "vault"
os.environ["MY_ENV"] = "my_value"
class Settings(BaseSettings):
# Value from environment variable "MY_ENV"
my_env: str = Field(default="undefined")
# Value from the Azure keyvault named `o3-kv-settus-dev` with secret key `my-secret`
my_azure_secret: str = Field(default="undefined", alias="my-secret", keyvault_url=KEYVAULT_URL)
# Value from the secret named `vault` in AWS secrets manager and having the secret key `my-secret`
my_aws_secret: str = Field(default="undefined", alias="my-secret", aws_secret_name=AWS_SECRET_NAME)
settings = Settings()
print(settings.my_env)
#> my_value
print(settings.my_azure_secret)
#> secret_sauce
print(settings.my_aws_secret)
#> secret_sauce
To get started with more examples, jump into the Quickstart.
Okube Company
Okube is dedicated to build open source frameworks, the kubes, that empower businesses to build and deploy highly scalable data platforms and AI models. Contributions are more than welcome.
Release files for settus 0.0.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| settus-0.0.11.tar.gz | 273.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| settus-0.0.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 283.7 kB
Release files / settus-0.0.11.tar.gz
| Download URL | settus-0.0.11.tar.gz |
|---|---|
| Size | 273.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e68f11cc7ceeabff1d30f33f8a4a63fb395cf2b243c6184697d3c5695957ecdc
|
|
BLAKE2b-256 checksum How to use checksums |
3c575cccb7c173bebb1ab0bea2d1ff5fac2e1f78fe742785c72808869f24adae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.13
|
Release files / settus-0.0.11-py3-none-any.whl
| Download URL | settus-0.0.11-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6114f93a67a46bb181541ad9c3487679e3ddff3b0f734792bfc4e1f346bfe57e
|
|
BLAKE2b-256 checksum How to use checksums |
79d4ff88c5c41e140658c4b5c5a5fc587e390d4ba6b7e1309565fed9180ffc63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.13
|