Skip to main content

It loads different configurations depending on the environment variable.

Project description

bjorn

https://img.shields.io/pypi/v/bjorn.svg https://github.com/juanmcristobal/bjorn/actions/workflows/test.yml/badge.svg?branch=master https://coveralls.io/repos/github/juanmcristobal/bjorn/badge.svg?branch=master Documentation Status

The Bjorn module loads a configuration file for your python script.

Installation

To install bjorn, run this command in your terminal:

$ pip install bjorn

The basics

A settings file is just a Python module with module-level variables. Settings example:

import os

LOGGING_CONFIG = {
    "version": 1,
    "disable_existing_loggers": False,
    "formatters": {
        "standard": {"format": "%(asctime)s [%(levelname)s] %(name)s: %(message)s"},
    },
    "handlers": {
        "default": {
            "level": "INFO",
            "formatter": "standard",
            "class": "logging.StreamHandler",
        },
        "file_handler": {
            "level": "INFO",
            "filename": "/tmp/mylogfile.log",
            "class": "logging.FileHandler",
            "formatter": "standard",
        },
    },
    "loggers": {
        "job": {
            "handlers": ["default"],
            "level": os.environ.get("LOGGER_LEVEL", "INFO"),
            "propagate": True,
        },
    },
}

VALUE_TO_TEST = "A"

Because a settings file is a Python module, the following apply:

  • It doesn’t allow for Python syntax errors.

  • It can assign settings dynamically using normal Python syntax. For example:

MY_SETTING = [str(i) for i in range(30)]

Designating the settings

JOB_SETTINGS When you use Bjorn, you have to tell it which settings you’re using. Do this by using an environment variable, JOB_SETTINGS.

The value of JOB_SETTINGS should be in Python path syntax, e.g. mysite.settings. Note that the settings module should be on the Python import search path.

Usage

Create a settings.py file in the root of the project. Then you can call it from your script using the following way.

from bjorn.config import settings

if __name__ == '__main__':
    print(settings.VALUE_TO_TEST)

History

0.1.0 (2021-01-23)

  • First release on PyPI.

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

bjorn-0.1.5.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

bjorn-0.1.5-py2.py3-none-any.whl (4.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file bjorn-0.1.5.tar.gz.

File metadata

  • Download URL: bjorn-0.1.5.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for bjorn-0.1.5.tar.gz
Algorithm Hash digest
SHA256 41d495df8e316223a92c22dbc65cea05ec760fad6c56783656ce7978cab4da5f
MD5 446d0da3ceaf05ce9a3614422c95bd4e
BLAKE2b-256 54a1120a0b3e5c4af080226885dd27800198845fc330b32470a3c42bfae261cd

See more details on using hashes here.

File details

Details for the file bjorn-0.1.5-py2.py3-none-any.whl.

File metadata

  • Download URL: bjorn-0.1.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for bjorn-0.1.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1222ff5330eba71b4c078b284d8f9bd58cae066b46809d2dc09a316fd26bdcc8
MD5 bc35bd12e39d9a0715c325b4054d09a1
BLAKE2b-256 32ea4bef8f66c3c9d87726ec1c43e3c308641dae5e45379ab7a8a9dae7e50fb4

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