Skip to main content

Pit-Viper is a Python package that offers configuration management capabilities like the Viper package in Golang.

Project description

pit-viper

Pit-Viper is a Python package that offers configuration management capabilities like the Viper package in Golang.

Table of Contents

  1. Installation

  2. Usage

  3. Development

Installation

You can install pit-viper using pip:

pip install pit-viper

Usage

Environment Variables

The pit-viper package provides the auto_env function that loads environment variables from a .env file. The function returns a dict of all existing environment variables.

from pit import viper

env = viper.auto_env()

Config Files

Config files are another config source for pit-viper. The package supports loading, accessing, and setting defaults for a config. Supported file formats are JSON, TOML, and YAML.

from pathlib import Path
from pit import viper

MY_CONFIG_DIR = Path() / "config"

viper.set_config_path(MY_CONFIG_DIR)
viper.set_config_name("my_config")
viper.set_config_type("toml")

viper.set("foo", "default-value")

viper.load_config()

bar = viper.get("foo")
nested_parameter = viper.get("my.nested.parameter")

Development

We use Poetry for packaging and dependency management. After installing Poetry, consider running the command below to configure Poetry to create virtual environments in a folder named .venv within the project's root directory.

poetry config virtualenvs.in-project true

Afterward, you can run the install command to install the dependencies (including development requirements) specified in the pyproject.toml or poetry.lock file.

poetry install

For a more comprehensive description of the Poetry setup and commands, see their documentation.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pit_viper-0.2.0-py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 3

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