Skip to main content

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

🧪 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 .env files
  • ✅ Easy to convert into .env, .yaml, 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....

GitHub X LinkedIn


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

envyro-0.2.1.tar.gz (26.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envyro-0.2.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file envyro-0.2.1.tar.gz.

File metadata

  • Download URL: envyro-0.2.1.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

Hashes for envyro-0.2.1.tar.gz
Algorithm Hash digest
SHA256 0612fe9e4418202f883c7817c503379d1fb9c6c2a12519b5d5bd681fd10c97d6
MD5 90058e678e823d8921a71d732e9f3c58
BLAKE2b-256 79c96eb93d66b5083ca4b075fe573419f18d4741a8e4d9e48c9d341b78dffeed

See more details on using hashes here.

File details

Details for the file envyro-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: envyro-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for envyro-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e225fa6c32c64c3f4aeecadae494f95487a0a783e4851c6c74fce2cbb29ef1b7
MD5 ac81ebb625567f4252a4e8ac092ba7a6
BLAKE2b-256 ffe4235a302ccec3804cbb0f8ed6adf3314e5c3e84c35608fe77b574bd881779

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page