Skip to main content

Managing environment config data

Project description

py-envconfig ⚙️

Managing config data from the environment, inspired by envconfig

envconfig

Install

pip install py-envconfig

Usage

Set some environment variable, or write a .env file.

HOST=localhost
PORT=6000

MY_APP_SERVICE=bookings
RELEASE_NUMBER=12
ENV=dev

Then specify your config:

from envconfig import param
from envconfig import EnvConfig


class AppConfig(EnvConfig):
    """App env config."""

    HOST = param.Str(required=True)
    PORT = param.Int(required=True)
    PASSWORD = param.Str(override="SECRET_REDIS_PW", required=True)

    SERVICE = param.Str(prefix="MY_APP_")
    VERSION = param.Int(override="RELEASE_NUMBER")
    ENV = param.Str(default="prod")


config = AppConfig()

# Access by class attribute or subscript
config.USER
config["USER"]

Setup flask config:

config = AppConfig()
app.config.from_object(config)

Point to a .env file

config = AppConfig("./.env")

Load Dotenv

Some functionality provided by dotenv

  • Increase verbosity

    AppConfig(verbose=True)
    
  • Override existing env vars with the env vars defined in .env.

    AppConfig(override=True)
    

Development

To publish package and tag git:

make tag

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

py-envconfig-0.7.0.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

py_envconfig-0.7.0-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file py-envconfig-0.7.0.tar.gz.

File metadata

  • Download URL: py-envconfig-0.7.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.7

File hashes

Hashes for py-envconfig-0.7.0.tar.gz
Algorithm Hash digest
SHA256 687bc3a127e03f4c7a5ef5b3d9b08e31fe8c98839cbfde2b74d0a93439a54b39
MD5 cf85f6884a50277f16785f30b9311b4d
BLAKE2b-256 bb8e2499680347528c86ede4fd437a69b3cb03dbaff53fa1cc06e889e75f83a0

See more details on using hashes here.

File details

Details for the file py_envconfig-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: py_envconfig-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.7

File hashes

Hashes for py_envconfig-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e9207903ca31dfb099b5e4bf9660c843835974d99a63c7e3b132287e734d2425
MD5 269b479dd84894dff44fbb07423a7a2b
BLAKE2b-256 6758f5afa7ff79c29003051b84e35d1d1eacdde7415d01df56e16487d591953c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page