Skip to main content

pyenvedit

A CLI tool for editing .env files with an intuitive interface. Edit environment variables from the command line or through an interactive TUI.

Installation

Install from PyPI:

pip install pyenvedit

Usage

Command Line Interface

Display .env file contents

pyenvedit .env

Add a new environment variable

pyenvedit .env --add API_KEY=your_api_key_here
pyenvedit .env --add DATABASE_URL=postgresql://localhost/mydb

Edit an existing environment variable

pyenvedit .env --edit API_KEY=new_api_key_value
pyenvedit .env --edit DEBUG=true

Remove an environment variable

pyenvedit .env --remove API_KEY
pyenvedit .env --remove UNUSED_VAR

Interactive TUI Mode

Launch the interactive TUI by running pyenvedit without any flags on a non-existent file:

pyenvedit myproject.env

The TUI provides:

  • View: Browse all environment variables in a table
  • Add: Add new variables through a modal dialog
  • Edit: Edit existing variables by selecting them and clicking "Edit Selected"
  • Delete: Remove variables by selecting them and clicking "Delete Selected"
  • Navigation: Use arrow keys to navigate, Enter to select

Key Features

  • Safe editing: Preserves comments and formatting
  • Validation: Ensures variable names follow proper conventions
  • Error handling: Clear error messages for invalid operations
  • Cross-platform: Works on Windows, macOS, and Linux
  • UTF-8 support: Handles international characters in values

Examples

Basic Usage

# Display current .env file
pyenvedit

# Add a database URL
pyenvedit --add DATABASE_URL=sqlite:///app.db

# Update an API key
pyenvedit --edit API_KEY=sk-new-key-12345

# Remove an old variable
pyenvedit --remove OLD_API_KEY

# Edit a different env file
pyenvedit config/staging.env --add REDIS_URL=redis://localhost:6379

Interactive Mode

# Launch TUI for current directory's .env
pyenvedit

# Launch TUI for specific file
pyenvedit config/production.env

File Format Support

pyenvedit works with standard .env file format:

# Comments are preserved
API_KEY=your_key_here
DATABASE_URL=postgresql://user:pass@localhost/db
DEBUG=true

# Quoted values are supported
MESSAGE="Hello, World!"
PATH='/usr/local/bin:/usr/bin'

Requirements

  • Python 3.8 or higher
  • textual >= 0.40.0
  • click >= 8.0.0

Development

To set up for development:

git clone https://github.com/marcokotrotsos/envedit
cd envedit
pip install -e .

License

MIT License

Metadata

Release files for pyenvedit 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyenvedit 0.2.0
File Size Uploaded
pyenvedit-0.2.0.tar.gz 7.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyenvedit 0.2.0
File Interpreter ABI Platform
pyenvedit-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.1 kB

Release files / pyenvedit-0.2.0.tar.gz

Download URL pyenvedit-0.2.0.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
94d8bd0330212712330d51f73c471f278a289c4102b17ed14a9b06e76de83534
BLAKE2b-256 checksum
How to use checksums
884e2f7a48259b18b93c9a68a22d72723460b52cbadf8da4d619db1550b0de94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release files / pyenvedit-0.2.0-py3-none-any.whl

Download URL pyenvedit-0.2.0-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
337132f26a315bbaa15ae97c21fba2df6249d4722fe1007436f326456c065a4a
BLAKE2b-256 checksum
How to use checksums
6d23a13b165a4d25aa2795b90376f659c7473e18d1cdf880ae42eb34355a3618
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page