Environment manager with multi-env parsing
Project description
🛠️ Envyro: Environment Configuration Simplified
Envyro is a modern configuration format and CLI tool for managing environment variables across multiple environments like dev, prod, stage, and local. It uses a custom .envyro format that supports nesting, multi-env inline values, and structured scoping.
🔍 Features
1. 🔄 Convert .envyro to .env
Generate traditional .env files for a specific environment by parsing a structured .envyro file.
Command:
envyro export --env dev
2. 📤 Export Environment Variables to Shell
Directly export variables to your current shell environment for a given environment.
Command:
source <(envyro export --env dev --shell)
3. 📦 Split .envyro into Multiple .env Files
Break a single .envyro file into multiple .env files like .env.dev, .env.prod, etc.
Command:
envyro split
4. 🎨 Export to Multiple Formats
Export your configuration to various formats including JSON, YAML, and TOML.
Commands:
# Export to JSON format
envyro export --env dev --format json
# Export to YAML format
envyro export --env dev --format yaml
# Export to TOML format
envyro export --env dev --format toml
# Export to custom output file
envyro export --env prod --format json --output config.production.json
Supported Formats:
env- Traditional .env format (default)json- JSON format with nested structureyaml- YAML format with nested structuretoml- TOML format with nested structure
🧪 Example .envyro Format
[envs]
environments = prod, dev, stage, local
default = dev
[app]
name = "MyApp"
version = [prod]:1.0.0 [dev]:0.1.0 [stage]:0.2.0 [local]:0.3.0
description = "Unified app config"
author = "John Doe"
[db]
host = [prod]:prod-db.example.com [*]:localhost
port = 5432
user = [prod]:prod_user [*]:local_user
password = [prod]:prod_pass [*]:dev_pass
[aws.s3]
bucket = [prod]:prod-bucket [dev]:dev-bucket [stage]:stage-bucket [local]:local-bucket
region = [*]:us-east-1
[aws.sns]
topic = [prod]:arn:aws:sns:us-west-1:123456789012:prod-topic [dev]:arn:aws:sns:us-west-2:123456789012:dev-topic
🧠 Advantages of .envyro
- ✅ Supports nesting like
[aws.s3],[db.connection] - ✅ Single-file config for all environments
- ✅ Allows default (
[*]) and environment-specific values - ✅ Cleaner and more maintainable than multiple
.envfiles - ✅ Easy to convert into
.env,.yaml,.json,.toml, or Python dict
🧰 Installation
You can install envyro CLI from pypy by running:
pip install envyro
or
python -m pip install envyro
or
python3 -m pip install envyro
👨💻 Author
Made with ❤️ by Manmeet Kohli, was there a need ? Don't know....
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
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
File details
Details for the file envyro-0.3.0.tar.gz.
File metadata
- Download URL: envyro-0.3.0.tar.gz
- Upload date:
- Size: 26.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
041ee2d971aaaee1839e61290ca5f2a841f7e62dbf679caa523354fdd518007c
|
|
| MD5 |
1259629646a85b8067de7e88871e4bf6
|
|
| BLAKE2b-256 |
b861863d2d90502261fcfcdd1e662b0bbe7fb0f92195b2adeea2330ecc85e5ea
|
File details
Details for the file envyro-0.3.0-py3-none-any.whl.
File metadata
- Download URL: envyro-0.3.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79fc15e7a152ca31bcf855a03d92f081f6b2e36f93ddef8268ee61f12d7af76c
|
|
| MD5 |
76170ac18888778b4cecdcbd70094f93
|
|
| BLAKE2b-256 |
ea228f75c7939bb1e4e7c181af13ef5b024c5e917a2a32300db32cf6603b1494
|