Skip to main content

Emit the activation command for the nearest Python virtual environment and install shell bootstrap wrappers.

Project description

envon

Emit the activation command for the nearest or specified Python virtual environment, and install shell bootstrap wrappers for seamless activation in your favorite shell.

Features

  • Auto-detects and activates Python virtual environments in your project.
  • Supports multiple shells: bash, zsh, sh, fish, powershell, pwsh, nushell, cmd, csh/tcsh/cshell.
  • Installs a shell bootstrap function for one-command activation.
  • Flexible CLI flags for advanced usage.

Supported Shells

  • bash (full auto-activation)
  • zsh (full auto-activation)
  • sh (full auto-activation)
  • fish (full auto-activation)
  • powershell, pwsh (full auto-activation)
  • cmd, batch, bat (prints command for manual activation)
  • nushell, nu (prints command for manual activation)
  • csh, tcsh, cshell (prints command for manual activation)

For detailed shell support and limitations, see docs/user_guide.md.

Installation

Recommended: Install with pipx for isolated environments:

pipx install envon

Alternative: Install with pip (may fail on some distros like Ubuntu or Windows due to PEP 668):

python3 -m pip install envon

After installation, run:

envon --install

This detects your shell and sets up the bootstrap for auto-activation.

For more detailed installation instructions, see docs/installation.md.

Usage

After installation and bootstrap setup, run:

envon

This will activate the nearest virtual environment in your project.

Supported flags: --emit [SHELL], --print-path, --install [SHELL].

For advanced usage, examples, and all flags, see docs/user_guide.md.

Development

For development setup, building, and project structure, see docs/development.md.

Contributor Note

envon is in its early phase. Basic functionality is solid, but we welcome help!

  • TCSH/cshell and Nushell support need improvement (auto-activation, overlays).
  • If you find issues, please raise an issue.
  • If you'd like to contribute, fork and submit a PR—contributions are very welcome!

Let's make envon the best Python venv activator for every shell!

Release Notes

Version 0.1.1 (First Release)
This is the initial release of envon. A lot of work is still ongoing, especially in the testing, CI, and adding support for missing shells (e.g., full auto-activation for Nushell and csh/tcsh).

If you see any issues, feel free to open an issue. If you're interested in contributing, feel free to submit a PR. If you have ideas or anything regarding the project, feel free to open a discussion or feature request in an issue.

Check out the project on PyPI.

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

envon-0.1.1.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.

envon-0.1.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file envon-0.1.1.tar.gz.

File metadata

  • Download URL: envon-0.1.1.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for envon-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fefab90ff9cddd05c00475f499e862ffc399965c5df4eb9aa531a7dfdf735a2a
MD5 1c55453add771fad2329f153807394bb
BLAKE2b-256 246c685420cc90c2f5e57846cd405400eb6ed62b5fb82a2c143df25bd4976e73

See more details on using hashes here.

File details

Details for the file envon-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: envon-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for envon-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e53f72963fee8017d3262dbbb7be3dd88d306f9f85048ff0ebd32fa6327c7f9
MD5 9804c30d5cc6e50a6028bc1d5237a880
BLAKE2b-256 c66580fb5081333bbbd1a62abb5a2b594449eeceead64b5ad19e6e6c65122165

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