Metadata-Version: 2.4
Name: envon
Version: 0.1.5
Summary: Emit the activation command for the nearest Python virtual environment and install shell bootstrap wrappers.
Project-URL: Homepage, https://github.com/userfrom1995/envon
Project-URL: Repository, https://github.com/userfrom1995/envon
Author-email: User1995 <userfrom1995@gmail.com>
License: MIT License
        
        Copyright (c) 2025 USER1995
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Keywords: activation,bootstrap,shell,venv,virtualenv
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Shells
Requires-Python: >=3.8
Requires-Dist: virtualenv>=20
Description-Content-Type: text/markdown

# 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 and deactivation)
- **zsh** (full auto-activation and deactivation)
- **sh** (full auto-activation and deactivation)
- **fish** (full auto-activation and deactivation)
- **powershell**, **pwsh** (full auto-activation, manual deactivation)
- **cmd**, **batch**, **bat** (prints command for manual activation and deactivation)
- **nushell**, **nu** (prints command for manual activation and deactivation)
- **csh**, **tcsh**, **cshell** (prints command for manual activation and deactivation)

For detailed shell support and limitations, see [docs/user_guide.md](https://github.com/userfrom1995/envon/blob/main/docs/user_guide.md).

## Installation
**Recommended:** Install with pipx for isolated environments:
```bash
pipx install envon
```

**Alternative:** Install with pip (may fail on some distros like Ubuntu or Windows due to PEP 668):
```bash
python3 -m pip install envon
```

After installation, run:
```bash
envon --install
```
This detects your shell and sets up the bootstrap for auto-activation.

For more detailed installation instructions, see [docs/installation.md](https://github.com/userfrom1995/envon/blob/main/docs/installation.md).

## Usage
After installation and bootstrap setup, run:
```bash
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](https://github.com/userfrom1995/envon/blob/main/docs/user_guide.md).

## Development
For development setup, building, and project structure, see [docs/development.md](https://github.com/userfrom1995/envon/blob/main/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](https://github.com/userfrom1995/envon/issues).
- 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.5**
- Improved venv resolution logic: defaults to active venv if present before falling back to WORKON_HOME.
- Added WORKON_HOME fallback for default `envon` command (no arguments).
- Auto-selection of single environment in WORKON_HOME.
- Fixed shadowing issues where WORKON_HOME could override active environments.

**Version 0.1.4**  
This is one of the initial releases 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](https://github.com/userfrom1995/envon/issues). 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](https://pypi.org/project/envon/).
