Skip to main content
https://github.com/gtmanfred/figenv/workflows/Tests/badge.svg https://img.shields.io/codecov/c/github/gtmanfred/figenv https://img.shields.io/pypi/v/figenv https://img.shields.io/pypi/l/figenv https://img.shields.io/pypi/dm/figenv

Metaclass for handling configuration class objects using environment variables.

If an environment variable is specified, the metaclass will pull the variable from the environment, the variable defined on the class will be used.

This was built to be a dropin replacement for flask-env but supporting change environment variables after the meta class is loaded.

Config

There are 2 configuration options, that are set on the base class object.

ENV_LOAD_ALL = <True/False>

Setting this on the class will allow loading any environment variable even if it is not set on the base class.

ENV_PREFIX = <string>

Setting this will will be a prefix for variables in the environment.

Install

This should just be pip installed

python3 -m pip install figenv

Usage

The basic usecase is below.

import os

import figenv

class Config(metaclass=figenv.MetaConfig):

   ENV_LOAD_ALL = True
   ENV_PREFIX = 'ROCKSTEADY_'

   BLAH = True
   TIMEOUT = 5

assert Config.TIMEOUT == 5
assert Config.BLAH is True
try:
    Config.WHAT
except AttributeError:
    pass

os.environ.update({
    'ROCKSTEADY_BLAH': 'false',
    'ROCKSTEADY_TIMEOUT': '15',
    'ROCKSTEADY_WHAT': '2.9',
})

assert Config.TIMEOUT == 15
assert Config.BLAH is False
assert Config.WHAT == 2.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

figenv-0.1.6.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

figenv-0.1.6-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file figenv-0.1.6.tar.gz.

File metadata

  • Download URL: figenv-0.1.6.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for figenv-0.1.6.tar.gz
Algorithm Hash digest
SHA256 3553d24c7b0e1e73b4e63accb4600fc82d86d2661104311caa2d84755be1ad7b
MD5 2a3f95fa82a89149019677dbdafc5ce6
BLAKE2b-256 bfe3ce25ac0de55984f60075c76cf38886de0b5b5055249308c2943fa6ba185c

See more details on using hashes here.

File details

Details for the file figenv-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: figenv-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for figenv-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 baea6cd995ddd6a42ba6d49b723de93e36df907a10b089099952a12af83dfac4
MD5 0e035d0c03e540b80496978ed91981d3
BLAKE2b-256 e8cfd86b37d2b10ba3f6a7a6d12fed2f115127ef30f6a151f9d4f1e96d622389

See more details on using hashes here.

Supported by

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