Name | settus JSON |
Version |
0.0.11
JSON |
| download |
home_page | |
Summary | Settings management using Pydantic, with ability to retrieve cloud secrets. |
upload_time | 2024-02-23 19:17:09 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.9 |
license | MIT |
keywords |
one
two
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Settus
[![pypi](https://img.shields.io/pypi/v/laktory.svg)](https://pypi.org/project/settus/)
[![test](https://github.com/okube-ai/settus/actions/workflows/test.yml/badge.svg)](https://github.com/okube-ai/settus/actions/workflows/test.yml)
[![downloads](https://static.pepy.tech/badge/settus/month)](https://pepy.tech/project/settus)
[![versions](https://img.shields.io/pypi/pyversions/settus.svg)](https://github.com/okube-ai/settus)
[![license](https://img.shields.io/github/license/okube-ai/settus.svg)](https://github.com/okube-ai/settus/blob/main/LICENSE)
Settings management using Pydantic Settings with cloud extensions.
<img src="docs/images/logo_sb.png" alt="settus logo" width="85"/>
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](https://www.okube.ai/settus) for more details.
## Installation
Install using
```commandline
pip install laktory[{cloud_provider}]
```
where `{cloud_provider}` is `azure`, `aws`, `databricks` or `gcp`.
For more installation options,
see the [Install](https://www.okube.ai/settus/install/) section in the documentation.
## A Basic Example
```py
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](https://www.okube.ai/settus/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.
Raw data
{
"_id": null,
"home_page": "",
"name": "settus",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "one,two",
"author": "",
"author_email": "Olivier Soucy <olivier.soucy@okube.ai>",
"download_url": "https://files.pythonhosted.org/packages/3c/57/5cccb7c173bebb1ab0bea2d1ff5fac2e1f78fe742785c72808869f24adae/settus-0.0.11.tar.gz",
"platform": null,
"description": "# Settus\n\n[![pypi](https://img.shields.io/pypi/v/laktory.svg)](https://pypi.org/project/settus/)\n[![test](https://github.com/okube-ai/settus/actions/workflows/test.yml/badge.svg)](https://github.com/okube-ai/settus/actions/workflows/test.yml)\n[![downloads](https://static.pepy.tech/badge/settus/month)](https://pepy.tech/project/settus)\n[![versions](https://img.shields.io/pypi/pyversions/settus.svg)](https://github.com/okube-ai/settus)\n[![license](https://img.shields.io/github/license/okube-ai/settus.svg)](https://github.com/okube-ai/settus/blob/main/LICENSE)\n\nSettings management using Pydantic Settings with cloud extensions.\n\n<img src=\"docs/images/logo_sb.png\" alt=\"settus logo\" width=\"85\"/>\n\nSettus makes it possible to securely access local and cloud-stored secrets from multiple environments, with pre-defined fallback plans. Supported secrets provider are\n\n* Azure Keyvault\n* Databricks secrets [IN PROGRESS]\n* AWS Secrets Manager\n* GCP Secrets Manager [IN PROGRESS]\n\n## Help\nSee [documentation](https://www.okube.ai/settus) for more details.\n\n\n## Installation\nInstall using \n```commandline\npip install laktory[{cloud_provider}]\n```\nwhere `{cloud_provider}` is `azure`, `aws`, `databricks` or `gcp`. \n\nFor more installation options,\nsee the [Install](https://www.okube.ai/settus/install/) section in the documentation.\n\n## A Basic Example\n\n```py\nimport os\nfrom settus import BaseSettings\nfrom settus import Field\n\nKEYVAULT_URL = \"https://o3-kv-settus-dev.vault.azure.net/\"\nAWS_SECRET_NAME = \"vault\"\n\nos.environ[\"MY_ENV\"] = \"my_value\"\n\nclass Settings(BaseSettings):\n # Value from environment variable \"MY_ENV\"\n my_env: str = Field(default=\"undefined\")\n \n # Value from the Azure keyvault named `o3-kv-settus-dev` with secret key `my-secret` \n my_azure_secret: str = Field(default=\"undefined\", alias=\"my-secret\", keyvault_url=KEYVAULT_URL)\n \n # Value from the secret named `vault` in AWS secrets manager and having the secret key `my-secret`\n my_aws_secret: str = Field(default=\"undefined\", alias=\"my-secret\", aws_secret_name=AWS_SECRET_NAME)\n\nsettings = Settings()\nprint(settings.my_env)\n#> my_value\nprint(settings.my_azure_secret)\n#> secret_sauce\nprint(settings.my_aws_secret)\n#> secret_sauce\n```\n\nTo get started with more examples, jump into the [Quickstart](https://www.okube.ai/settus/quickstart/).\n\n## Okube Company\nOkube 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.\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Settings management using Pydantic, with ability to retrieve cloud secrets.",
"version": "0.0.11",
"project_urls": {
"Bug Tracker": "https://github.com/opencubes-ai/settus/issues",
"Homepage": "https://github.com/opencubes-ai/settus"
},
"split_keywords": [
"one",
"two"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "79d4ff88c5c41e140658c4b5c5a5fc587e390d4ba6b7e1309565fed9180ffc63",
"md5": "dea66e8d9bd1ccdfd6512930abb8e2fb",
"sha256": "6114f93a67a46bb181541ad9c3487679e3ddff3b0f734792bfc4e1f346bfe57e"
},
"downloads": -1,
"filename": "settus-0.0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dea66e8d9bd1ccdfd6512930abb8e2fb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 10347,
"upload_time": "2024-02-23T19:17:07",
"upload_time_iso_8601": "2024-02-23T19:17:07.580904Z",
"url": "https://files.pythonhosted.org/packages/79/d4/ff88c5c41e140658c4b5c5a5fc587e390d4ba6b7e1309565fed9180ffc63/settus-0.0.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3c575cccb7c173bebb1ab0bea2d1ff5fac2e1f78fe742785c72808869f24adae",
"md5": "af7533f72f882a39bf8506797b842f09",
"sha256": "e68f11cc7ceeabff1d30f33f8a4a63fb395cf2b243c6184697d3c5695957ecdc"
},
"downloads": -1,
"filename": "settus-0.0.11.tar.gz",
"has_sig": false,
"md5_digest": "af7533f72f882a39bf8506797b842f09",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 273391,
"upload_time": "2024-02-23T19:17:09",
"upload_time_iso_8601": "2024-02-23T19:17:09.020658Z",
"url": "https://files.pythonhosted.org/packages/3c/57/5cccb7c173bebb1ab0bea2d1ff5fac2e1f78fe742785c72808869f24adae/settus-0.0.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-23 19:17:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "opencubes-ai",
"github_project": "settus",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "settus"
}