Detect environment type and work within.
Project description
envbox
https://github.com/idlesign/envbox
Description
Detect environment type and work within.
Features
- Environment type detection (extendable system);
- Support for
.envfiles; - Convenient
os.environproxying (with optional values casting into Python natives); - Automatic submodule-for-environment import tool;
- Cosy per-thread settings container with environment var support;
- CLI for environment probing.
Code sample
from envbox import get_environment
# Detect current environment type
# and get its object.
#
# Default detection sources:
# 1. ``PYTHON_ENV`` env variable
# 2. ``environment`` file contents
#
# By default this function will also try to read env variables from .env files.
env = get_environment()
env.name
# >> development
env.is_production
# >> False
env.get('HOME') # The same as env['HOME'] and env.HOME
# >> /home/idle/
env.getmany('PYTHON')
# {'UNBUFFERED': '1', 'IOENCODING': 'UTF-8', 'PATH': ...}
.env files
Now you may want to put your environment vars into .env files
(e.g.: .env, .env.development .env.production) to be read by envbox:
MY_VAR_1=value1
HOME=/home/other/
# comments are ignored, just as lines without definitions
# mathing quotes (" and ') are stripped
MY_QUOTED="some quoted "
# ${VARNAME} will be replaced by value from env (if available)
MY_VAR_2="${MY_QUOTED}"
# multiline with dangling quotes
MULTI_1="
line1
line2
"
# multiline classic
MULTI_2="line1
line2
line3"
# multiline as one line
MULTI_3="one\ntwo"
Read the docs for more examples.
CLI
$ envbox probe
# >> Detected environment type: development (Development)
$ envbox show
# >> [...]
# >> SHELL = /bin/bash
# >> [...]
!!! note
envbox CLI requires click package available.
Documentation
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
envbox-2.0.1-py3-none-any.whl
(10.8 kB
view details)
File details
Details for the file envbox-2.0.1-py3-none-any.whl.
File metadata
- Download URL: envbox-2.0.1-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d205e208fa0c6fad967c8cd499a40251aaf22bc5e1bfe6ef7d50863aeecde890
|
|
| MD5 |
f6a83184e31a1eb4479e53127b88188c
|
|
| BLAKE2b-256 |
5f23add38be557d20742bde746c13511f3ad9f074657a5614af5f06486f32bf0
|