settus


Namesettus JSON
Version 0.0.11 PyPI version JSON
download
home_page
SummarySettings management using Pydantic, with ability to retrieve cloud secrets.
upload_time2024-02-23 19:17:09
maintainer
docs_urlNone
author
requires_python>=3.9
licenseMIT
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"
}
        
Elapsed time: 2.65222s