skillfed

envier

Python application configuration via the environment

envier Permissive license MIT License Copyright (c) 2022 Datadog, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal… (full text in the JSON record) Active 9 v0.6.1 released

Install

envier on PyPI

pip

pip install envier

uv

uv add envier

poetry

poetry add envier

Package facts

License MIT License Copyright (c) 2022 Datadog, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 660 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: envier-0.6.1-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

About envier

from the package's own PyPI description — quoted content, verbatim

<h1 align="center">Envier</h1> <h2 align="center">Python application configuration from the environment</h2>

Synopsis

Envier is a Python library for extracting configuration from environment variables in a declarative and (eventually) 12-factor-app-compliant way.

Usage

The following example shows how to declare the configuration for an application that uses the MYAPP_DEBUG, MYAPP_SERVICE_HOST and MYAPP_SERVICE_PORT variables from the environment.

&gt;&gt;&gt; from envier import Env
&gt;&gt;&gt; 
&gt;&gt;&gt; class GlobalConfig(Env):
&gt;&gt;&gt;     __prefix__ = "myapp"
&gt;&gt;&gt;     
&gt;&gt;&gt;     debug_mode = Env.var(bool, "debug", default=False)
&gt;&gt;&gt; 
&gt;&gt;&gt;     service_host = Env.var(str, "service.host", default="localhost")
&gt;&gt;&gt;     service_port = Env.var(int, "service.port", default=3000)
&gt;&gt;&gt; 
&gt;&gt;&gt;     _is_default_port = Env.der(bool, lambda c: c.service_port == c.spec.service_port.default)
&gt;&gt;&gt; 
&gt;&gt;&gt; config = GlobalConfig()
&gt;&gt;&gt; config.service_port
3000
&gt;&gt;&gt; config._is_default_port
True

Configurations can also be nested to create namespaces:

~~~ python >>> from envier import Env >>> >>> class ServiceConfig(Env): >>> prefix = "service" >>> >>> host = Env.var(str, "host",...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Envier extracts application configuration from environment variables using a declarative class-based syntax, supporting type conversion, nested namespaces, and derived fields.

No runtime dependencies and a pure-Python wheel distribution keep installation friction minimal. The project is actively maintained with recent commits and supports Python 3.7–3.13.

Licensed under the MIT License (permissive), allowing free use, modification, and distribution with minimal restrictions.

Usage

pip install envier

from envier import Env

class Config(Env):
    __prefix__ = "myapp"
    debug = Env.var(bool, "debug", default=False)
    port = Env.var(int, "port", default=3000)

config = Config()
print(config.port)

Verdict: Envier is a lightweight, actively maintained configuration library with zero runtime dependencies, permissive licensing, and broad Python version support. It is well-suited for 12-factor-compliant applications that need declarative environment-variable binding with type safety.

Needs verification

  • Whether the mypy plugin (mentioned in docs) is bundled or requires separate installation beyond the optional extra
  • Performance characteristics when dealing with deeply nested configuration hierarchies
environment variable configuration12-factor app configdeclarative env parsingtyped environment confignested config from envenvironment variable extraction

Similar packages