Skip to main content

Secure environment variable manager with encryption and team sharing

Project description

EnvMan ⚡

PyPI version Python Versions License: MIT

Secure environment variable manager with encryption and team sharing.

Stop juggling dozens of .env files. Manage them all in one place with military-grade encryption.

✨ Features

  • 🔐 AES-256 Encryption - Your secrets stay secret
  • 🌍 Multiple Environments - Dev, staging, production, and more
  • 👥 Team Sharing - Share encrypted env files safely
  • 💾 Auto Backups - Never lose your configs
  • 🔄 Easy Switching - One command to change environments
  • 📊 Diff Tool - Compare environments instantly

🚀 Quick Start

Install:

pip install envman-cli

Initialize:

envman init
# Enter your master password (used to encrypt all variables)

Add an environment:

envman add production
envman add staging

Load variables from existing .env file:

envman load production .env

Switch environment:

envman use production
# Creates .env file in current directory with production variables

📖 Commands

Setup

envman init                    # Initialize with master password
envman add <name>              # Create new environment

Daily Usage

envman use <env>               # Switch to environment
envman list                    # Show all environments
envman show <env>              # List variables (hidden by default)
envman show <env> --show-values # Show actual values

Managing Variables

envman set <env> <KEY>         # Set a variable (prompts for value)
envman load <env> <file>       # Load from .env file
envman export <env>            # Export to .env file

Team Collaboration

envman share <env> -o team.json        # Export for sharing
envman import team.json                # Import shared environment

Advanced

envman diff prod staging       # Compare environments
envman backup <env>            # Create backup

💡 How It Works

Encryption

  • Uses AES-256-GCM for encryption
  • Master password derives encryption keys using PBKDF2 (100k iterations)
  • Each value encrypted separately with unique salt and nonce
  • No plain text stored anywhere

Storage

  • SQLite database at ~/.envman/envman.db
  • All values encrypted before storage
  • Automatic backups with timestamps
  • Fast lookups and comparisons

Workflow Example

# 1. Initialize once
envman init

# 2. Create environments
envman add development
envman add production

# 3. Load your existing .env files
envman load development .env.dev
envman load production .env.prod

# 4. Switch between them
cd ~/my-project
envman use development  # Creates .env with dev vars

cd ~/my-other-project
envman use production   # Creates .env with prod vars

# 5. Share with team
envman share production -o prod-config.json
# Send prod-config.json to teammate
# They run: envman import prod-config.json

🔒 Security Best Practices

  1. Master Password: Use a strong, unique password
  2. Shared Files: Already encrypted, but still share securely (not in git)
  3. Backups: Run envman backup before major changes
  4. .gitignore: Never commit .env or ~/.envman/ to version control

🏗️ Project Structure


## 🤝 Contributing

Contributions welcome! Please:
1. Fork the repo
2. Create a feature branch
3. Make your changes
4. Submit a pull request

## 📝 License

MIT License - see LICENSE file

## 🙏 Why EnvMan?

Managing environment variables is painful:
- ❌ Scattered `.env` files across projects
- ❌ Manually copying configs between machines
- ❌ Accidentally committing secrets to git
- ❌ Forgetting which values go where

EnvMan solves all of this:
- ✅ One secure database for all environments
- ✅ Encrypted storage of all secrets
- ✅ Easy switching between environments
- ✅ Safe team sharing

---

**Made with ❤️ for developers who are tired of `.env` chaos**

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

envman_cli-1.0.3.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

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

envman_cli-1.0.3-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file envman_cli-1.0.3.tar.gz.

File metadata

  • Download URL: envman_cli-1.0.3.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for envman_cli-1.0.3.tar.gz
Algorithm Hash digest
SHA256 15374c570868df301536c2e949edae877442f05d3fa1744f571c0fc5a9e258fe
MD5 4bdf2407e17d26734c2a5e95bf2458da
BLAKE2b-256 5438d44647cf60981575c814c8e3d6fe593ce57d3aba1e0d47d0f2995448124b

See more details on using hashes here.

Provenance

The following attestation bundles were made for envman_cli-1.0.3.tar.gz:

Publisher: publish.yaml on ahmad0303/envman

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file envman_cli-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: envman_cli-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for envman_cli-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 438c56eceff034b7fd3351200c39515040683e8504ef7fbc1091d7bf65d472d8
MD5 8cf65628928f13fa01c6ef6613bd8c27
BLAKE2b-256 4d72d195db5c442bd5a773bf38151fa901ca0cf9fe636d0c5c9eef78619c77bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for envman_cli-1.0.3-py3-none-any.whl:

Publisher: publish.yaml on ahmad0303/envman

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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