All Projects → yukinarit → envclasses

yukinarit / envclasses

Licence: MIT license
envclasses is a library to map fields on dataclass object to environment variables.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to envclasses

php-env
A small and fast .env loader for PHP
Stars: ✭ 19 (-26.92%)
Mutual labels:  environment-variables, env
sicher
Sicher is a go module that allows secure storage of encrypted credentials in a version control system.
Stars: ✭ 27 (+3.85%)
Mutual labels:  environment-variables, env
fuck-env
Fuck environment variables everywhere
Stars: ✭ 14 (-46.15%)
Mutual labels:  environment-variables, env
dotenvy
Speed up your production sites by ditching .env for key/value variable pairs as Apache, Nginx, and shell equivalents
Stars: ✭ 31 (+19.23%)
Mutual labels:  environment-variables, env
jsonargparse
Implement minimal boilerplate CLIs derived from type hints and parse from command line, config files and environment variables
Stars: ✭ 168 (+546.15%)
Mutual labels:  environment-variables, dataclasses
vite-plugin-environment
Easily expose environment variables in Vite.js
Stars: ✭ 57 (+119.23%)
Mutual labels:  environment-variables, env
ts-dotenv
Strongly-typed environment variables for Node.js
Stars: ✭ 18 (-30.77%)
Mutual labels:  environment-variables, env
env-dot-prop
♻️ Get, set, or delete nested properties of process.env using a dot path
Stars: ✭ 31 (+19.23%)
Mutual labels:  environment-variables, env
envfile
Parse and write environment files with Node.js
Stars: ✭ 42 (+61.54%)
Mutual labels:  environment-variables, env
gatsby-plugin-dynamic-routes
Creating dynamic routes based on your environment and/or renaming existing routes
Stars: ✭ 14 (-46.15%)
Mutual labels:  environment-variables, env
ini
📝 Go INI config management. support multi file load, data override merge. parse ENV variable, parse variable reference. Dotenv file parse and loader. INI配置读取管理,支持多文件加载,数据覆盖合并, 解析ENV变量, 解析变量引用。DotEnv 解析加载
Stars: ✭ 72 (+176.92%)
Mutual labels:  environment-variables, env
tfenv
Transform environment variables for use with Terraform (e.g. `HOSTNAME` ⇨ `TF_VAR_hostname`)
Stars: ✭ 120 (+361.54%)
Mutual labels:  environment-variables, env
climatecontrol
Python library for loading settings and config data from files and environment variables
Stars: ✭ 20 (-23.08%)
Mutual labels:  environment-variables, dataclasses
envset
Set env vars before running your program, manage environment and secrets.
Stars: ✭ 34 (+30.77%)
Mutual labels:  environment-variables, env
exenv
Exenv makes loading environment variables from external sources easy.
Stars: ✭ 35 (+34.62%)
Mutual labels:  environment-variables, env
goodconf
Transparently load variables from environment or JSON/YAML file.
Stars: ✭ 80 (+207.69%)
Mutual labels:  environment-variables, env
checkdotenv
Verify environment variables presence for Node JS.
Stars: ✭ 12 (-53.85%)
Mutual labels:  environment-variables, env
envman
Manage your .env configuration easily
Stars: ✭ 20 (-23.08%)
Mutual labels:  environment-variables, env
env
A lightweight package for loading OS environment variables into structs for Go projects
Stars: ✭ 24 (-7.69%)
Mutual labels:  environment-variables, env
Node Convict
Featureful configuration management library for Node.js
Stars: ✭ 1,855 (+7034.62%)
Mutual labels:  environment-variables, env

envclasses

image image Test

envclasses is a library to map fields on dataclass object to environment variables.

Installation

pip install envclasses

Usage

Declare a class with dataclass and envclass decorators.

from envclasses import envclass, load_env
from dataclasses import dataclass

@envclass
@dataclass
class Foo:
    v: int

foo = Foo(v=10)
load_env(foo, prefix='foo')
print(foo)

Run the script

$ python foo.py
Foo(v=10)

Run with environment variable

$ FOO_V=100 python foo.py
Foo(v=100)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].