Only in /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1: .github Only in /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1: .idea diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/LICENSE /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/LICENSE --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/LICENSE 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/LICENSE 2020-02-02 00:00:00.000000000 +0000 @@ -1,21 +1,21 @@ -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. +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. Only in /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1: PKG-INFO diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/README.md /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/README.md --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/README.md 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/README.md 2020-02-02 00:00:00.000000000 +0000 @@ -1,72 +1,72 @@ -# 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](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.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](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/). +# 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](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.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](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/). diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/docs/development.md /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/docs/development.md --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/docs/development.md 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/docs/development.md 2020-02-02 00:00:00.000000000 +0000 @@ -1,80 +1,80 @@ -# Development Guide - -## Project Structure - -- `src/envon/`: Main package code. - - `envon.py`: Core logic for venv detection, activation, and CLI. - - `__main__.py`: Entry point for `python -m envon`. - - `bootstrap_*.sh`, `bootstrap_*.fish`, etc.: Shell-specific bootstrap scripts. -- `docs/`: Documentation. - - `installation.md`: Installation details. - - `user_guide.md`: Usage and flags. - - `development.md`: This file. -- `tests/`: Unit tests (currently removed, to be re-added later). -- `pyproject.toml`: Build configuration. -- `README.md`: Main project description. - -## Setup Development Environment - -1. Clone the repo: - ```bash - git clone https://github.com/userfrom1995/envon.git - cd envon - ``` - -2. Create and activate a virtual environment: - ```bash - python3 -m venv .venv - source .venv/bin/activate # On Windows: .venv\Scripts\Activate.ps1 - ``` - -3. Install in editable mode: - ```bash - pip install -e . - ``` - -4. (Optional) Install dev dependencies: - ```bash - pip install build twine # For building and publishing - ``` - -## Running the CLI - -From source: -```bash -python -m envon --help -envon --help -``` - -## Building and Publishing - -1. Build the package: - ```bash - python -m build - ``` - This creates `dist/` with `.whl` and `.tar.gz` files. - -2. Publish to PyPI: - ```bash - pip install twine - twine upload dist/* - ``` - Enter your PyPI credentials when prompted. - -For TestPyPI: -```bash -twine upload --repository testpypi dist/* -``` - -## Testing - -Tests are currently removed. To re-add, create `tests/test_envon.py` with unit tests for key functions. - -Run tests (once added): -```bash -python -m unittest discover tests/ -``` - -## Contributing - +# Development Guide + +## Project Structure + +- `src/envon/`: Main package code. + - `envon.py`: Core logic for venv detection, activation, and CLI. + - `__main__.py`: Entry point for `python -m envon`. + - `bootstrap_*.sh`, `bootstrap_*.fish`, etc.: Shell-specific bootstrap scripts. +- `docs/`: Documentation. + - `installation.md`: Installation details. + - `user_guide.md`: Usage and flags. + - `development.md`: This file. +- `tests/`: Unit tests (currently removed, to be re-added later). +- `pyproject.toml`: Build configuration. +- `README.md`: Main project description. + +## Setup Development Environment + +1. Clone the repo: + ```bash + git clone https://github.com/userfrom1995/envon.git + cd envon + ``` + +2. Create and activate a virtual environment: + ```bash + python3 -m venv .venv + source .venv/bin/activate # On Windows: .venv\Scripts\Activate.ps1 + ``` + +3. Install in editable mode: + ```bash + pip install -e . + ``` + +4. (Optional) Install dev dependencies: + ```bash + pip install build twine # For building and publishing + ``` + +## Running the CLI + +From source: +```bash +python -m envon --help +envon --help +``` + +## Building and Publishing + +1. Build the package: + ```bash + python -m build + ``` + This creates `dist/` with `.whl` and `.tar.gz` files. + +2. Publish to PyPI: + ```bash + pip install twine + twine upload dist/* + ``` + Enter your PyPI credentials when prompted. + +For TestPyPI: +```bash +twine upload --repository testpypi dist/* +``` + +## Testing + +Tests are currently removed. To re-add, create `tests/test_envon.py` with unit tests for key functions. + +Run tests (once added): +```bash +python -m unittest discover tests/ +``` + +## Contributing + See the Contributor Note in README.md. Fork, make changes, and submit a PR! \ No newline at end of file diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/docs/installation.md /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/docs/installation.md --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/docs/installation.md 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/docs/installation.md 2020-02-02 00:00:00.000000000 +0000 @@ -1,48 +1,48 @@ -# Installation Guide - -## Quick Install - -```bash -python3 -m pip install envon -``` - -## Development Install - -```bash -python3 -m pip install -e . -``` - -## Shell Bootstrap - -After installing, run: - -```bash -envon --install -``` - -This will auto-detect your shell and update your shell config file (e.g., `.bashrc`, `.zshrc`, `config.fish`, PowerShell profile, etc.). - -You can specify a shell explicitly: - -```bash -envon --install bash -envon --install zsh -envon --install fish -envon --install powershell -envon --install nushell -envon --install csh -``` - -### PowerShell Note -On Windows, you must manually add the bootstrap block to your profile file as instructed by the installer output. - -**Execution Policy Warning:** After adding the content to your profile file, you may still see execution policy-related warnings in your terminal. To make auto-activation work, set your execution policy: - -```powershell -Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -``` - -This allows local scripts to run while maintaining security for remote scripts. - -### Nushell and csh/tcsh/cshell -Auto-activation is not fully supported; you may need to run the printed command manually. +# Installation Guide + +## Quick Install + +```bash +python3 -m pip install envon +``` + +## Development Install + +```bash +python3 -m pip install -e . +``` + +## Shell Bootstrap + +After installing, run: + +```bash +envon --install +``` + +This will auto-detect your shell and update your shell config file (e.g., `.bashrc`, `.zshrc`, `config.fish`, PowerShell profile, etc.). + +You can specify a shell explicitly: + +```bash +envon --install bash +envon --install zsh +envon --install fish +envon --install powershell +envon --install nushell +envon --install csh +``` + +### PowerShell Note +On Windows, you must manually add the bootstrap block to your profile file as instructed by the installer output. + +**Execution Policy Warning:** After adding the content to your profile file, you may still see execution policy-related warnings in your terminal. To make auto-activation work, set your execution policy: + +```powershell +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser +``` + +This allows local scripts to run while maintaining security for remote scripts. + +### Nushell and csh/tcsh/cshell +Auto-activation is not fully supported; you may need to run the printed command manually. diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/docs/user_guide.md /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/docs/user_guide.md --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/docs/user_guide.md 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/docs/user_guide.md 2020-02-02 00:00:00.000000000 +0000 @@ -1,101 +1,105 @@ -# User Guide - -## CLI Flags - -- `target` (positional): Path, project root, or name (searched in WORKON_HOME) -- `--emit [SHELL]`: Emit activation command for the specified shell (bash, zsh, sh, fish, cshell, nushell, powershell, pwsh, cmd). If omitted, auto-detects shell. -- `--print-path`: Print only the resolved virtual environment path and exit. -- `--install [SHELL]`: Install envon bootstrap function directly to shell configuration file. If omitted, auto-detects shell. -- `-h`, `--help`: Show help message and exit. - -## Basic Functionality - -- If no target is provided, envon searches for a virtual environment in the current directory (preferred names: `.venv`, `venv`, `env`, `.env`). -- If multiple venvs are found, prompts for selection. -- If none found, walks up parent directories for preferred names. -- If still none, checks if `VIRTUAL_ENV` is set and valid. -- If all fail, raises an error. - -## Shell Support - -| Shell | Auto-activation | Notes | -|---------------|----------------|--------------------------------------------| -| bash | Yes | Full support | -| zsh | Yes | Uses bash bootstrap | -| sh | Yes | Full support | -| fish | Yes | Full support | -| powershell | Yes | Manual profile edit required on Windows | -| pwsh | Yes | Same as powershell | -| nushell, nu | No | Prints overlay use command; manual run | -| cmd, batch, bat | Yes | Prints activation command | -| csh, tcsh, cshell | No | Only prints command; no auto-activation | - - -## CLI Usage Patterns - -### Activate nearest venv (auto-detect shell) -```bash -envon -``` - -### Activate a specific venv by name or path -```bash -envon myenv -envon /path/to/venv -``` - -### Emit activation command for a specific shell -```bash -envon --emit fish -envon myenv --emit bash -envon /path/to/venv --emit powershell -``` - -### Print only the resolved venv path -```bash -envon --print-path -envon myenv --print-path -envon /path/to/venv --print-path -``` - -### Combine flags (order is flexible) -```bash -envon --emit zsh --print-path -envon myenv --emit fish --print-path -envon --print-path --emit powershell -``` - -## Argument Support for --emit and --print-path - -Both `--emit` and `--print-path` support an optional positional argument for the virtual environment name or path. If provided, they resolve the venv from that argument; if omitted, they use the default search logic. - -### With a Virtual Environment Argument -- **Behavior:** Resolves the venv from the provided name or path. -- **Search Logic:** - - If the argument is an existing directory and is a valid venv, use it directly. - - If the argument is an existing directory but not a venv, scan its subdirectories for venvs (preferred names first, then any valid venv subdirs). - - If the argument is not an existing path (i.e., a name), check the `WORKON_HOME` environment variable for a venv with that name. - - If multiple venvs are found in a directory, prompt for selection (if interactive). - - No upward walking to parent directories. -- **Examples:** - - `envon myenv --emit bash`: If "myenv" exists as a venv in WORKON_HOME or as a directory with venvs, use it. - - `envon /path/to/venv --print-path`: If `/path/to/venv` is a valid venv, print its path. - -### Without a Virtual Environment Argument (Default) -- **Behavior:** Uses full auto-detection: current directory, then up parent directories, then VIRTUAL_ENV. -- **Search Logic:** - - Scan the current directory for venvs (preferred names first, then any subdirectories). - - If multiple, prompt for selection. - - If none, walk up parent directories checking preferred names. - - If still none, check if `VIRTUAL_ENV` is set and points to a valid venv. - - If all fail, error out. -- **Examples:** - - `envon --emit fish`: Auto-detects venv and emits Fish activation. - - `envon --print-path`: Prints the path of the auto-detected venv. - -### Install bootstrap for a shell -```bash -envon --install -envon --install zsh -envon --install powershell -``` +# User Guide + +## CLI Flags + +- `target` (optional): Path to venv directory, project root containing venvs, or venv name (WORKON_HOME fallback only) +- `--emit [SHELL]`: Emit activation command for the specified shell. If omitted, auto-detects shell. +- `--print-path`: Print only the resolved virtual environment path. +- `--install [SHELL]`: Install envon bootstrap function. If omitted, auto-detects shell. +- `-h`, `--help`: Show help. + +**Note:** When no target is provided, envon searches the current directory first, then walks up parent directories. + +## Basic Functionality + +envon searches for virtual environments in this order: +1. **Current directory**: Looks for preferred names (`.venv`, `venv`, `env`, `.env`) and any other venv subdirectories +2. **Parent directories**: Walks upward checking each parent for preferred names only +3. **Active environment**: Uses `VIRTUAL_ENV` if set and valid +4. **Error**: If nothing found + +When multiple venvs are found at the same level, prompts for interactive selection. + +## Shell Support + +| Shell | Auto-activation | Notes | +|---------------|----------------|--------------------------------------------| +| bash | Yes | Full support | +| zsh | Yes | Uses bash bootstrap | +| sh | Yes | Full support | +| fish | Yes | Full support | +| powershell | Yes | Manual profile edit required on Windows | +| pwsh | Yes | Same as powershell | +| nushell, nu | No | Prints overlay use command; manual run | +| cmd, batch, bat | Yes | Prints activation command | +| csh, tcsh, cshell | No | Only prints command; no auto-activation | + + +## CLI Usage Patterns + +### Activate nearest venv (auto-detect shell) +```bash +envon +``` + +### Activate a specific venv by name or path +```bash +envon myenv +envon /path/to/venv +``` + +### Emit activation command for a specific shell +```bash +envon --emit fish +envon myenv --emit bash +envon /path/to/venv --emit powershell +``` + +### Print only the resolved venv path +```bash +envon --print-path +envon myenv --print-path +envon /path/to/venv --print-path +``` + +### Combine flags (order is flexible) +```bash +envon --emit zsh --print-path +envon myenv --emit fish --print-path +envon --print-path --emit powershell +``` + +## Argument Support for --emit and --print-path + +Both `--emit` and `--print-path` support an optional positional argument for the virtual environment name or path. If provided, they resolve the venv from that argument; if omitted, they use the default search logic. + +### With a Virtual Environment Argument +- **Behavior:** Resolves the venv from the provided name or path. +- **Search Logic:** + - If the argument is an existing directory and is a valid venv, use it directly. + - If the argument is an existing directory but not a venv, scan its subdirectories for venvs (preferred names first, then any valid venv subdirs). + - If the argument is not an existing path (i.e., a name), check the `WORKON_HOME` environment variable for a venv with that name. + - If multiple venvs are found in a directory, prompt for selection (if interactive). + - No upward walking to parent directories. +- **Examples:** + - `envon myenv --emit bash`: If "myenv" exists as a venv in WORKON_HOME or as a directory with venvs, use it. + - `envon /path/to/venv --print-path`: If `/path/to/venv` is a valid venv, print its path. + +### Without a Virtual Environment Argument (Default) +- **Behavior:** Uses full auto-detection: current directory, then up parent directories, then VIRTUAL_ENV. +- **Search Logic:** + - Scan the current directory for venvs (preferred names first, then any subdirectories). + - If multiple, prompt for selection. + - If none, walk up parent directories checking preferred names. + - If still none, check if `VIRTUAL_ENV` is set and points to a valid venv. + - If all fail, error out. +- **Examples:** + - `envon --emit fish`: Auto-detects venv and emits Fish activation. + - `envon --print-path`: Prints the path of the auto-detected venv. + +### Install bootstrap for a shell +```bash +envon --install +envon --install zsh +envon --install powershell +``` diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/pyproject.toml /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/pyproject.toml --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/pyproject.toml 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/pyproject.toml 2020-02-02 00:00:00.000000000 +0000 @@ -1,54 +1,55 @@ -[build-system] -requires = ["hatchling>=1.21"] -build-backend = "hatchling.build" - -[project] -name = "envon" -version = "0.1.1" -description = "Emit the activation command for the nearest Python virtual environment and install shell bootstrap wrappers." -readme = "README.md" -requires-python = ">=3.8" -license = { file = "LICENSE" } -keywords = ["virtualenv", "venv", "activation", "shell", "bootstrap"] -authors = [{ name = "User1995", email = "userfrom1995@gmail.com" }] -urls = { "Homepage" = "https://github.com/userfrom1995/envon", "Repository" = "https://github.com/userfrom1995/envon" } -classifiers = [ - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3 :: Only", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - "Environment :: Console", - "Topic :: System :: Shells", - "Topic :: Software Development :: Build Tools", -] - -# Require virtualenv so activator plugins are always available -dependencies = [ - "virtualenv>=20" -] - -[project.scripts] -envon = "envon.envon:main" - -[tool.hatch.build.targets.wheel] -packages = ["src/envon"] - -# Ensure non-Python bootstrap files are included -[tool.hatch.build] -include = [ - "src/envon/bootstrap_*.sh", - "src/envon/bootstrap_*.fish", - "src/envon/bootstrap_*.ps1", - "src/envon/bootstrap_csh.csh", - "src/envon/bootstrap_*.nu", - "src/envon/*.py", - "README.md", - "LICENSE", -] - -[tool.hatch.build.targets.sdist] -include = [ - "src/envon/**", - "README.md", - "LICENSE", -] +[build-system] +requires = ["hatchling>=1.21"] +build-backend = "hatchling.build" + +[project] +name = "envon" +version = "0.1.1" +description = "Emit the activation command for the nearest Python virtual environment and install shell bootstrap wrappers." +readme = "README.md" +requires-python = ">=3.8" +license = { file = "LICENSE" } +keywords = ["virtualenv", "venv", "activation", "shell", "bootstrap"] +authors = [{ name = "User1995", email = "userfrom1995@gmail.com" }] +urls = { "Homepage" = "https://github.com/userfrom1995/envon", "Repository" = "https://github.com/userfrom1995/envon" } +classifiers = [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Environment :: Console", + "Topic :: System :: Shells", + "Topic :: Software Development :: Build Tools", +] + +# Require virtualenv so activator plugins are always available +dependencies = [ + "virtualenv>=20" +] + +[project.scripts] +envon = "envon.envon:main" + +[tool.hatch.build.targets.wheel] +packages = ["src/envon"] + +# Ensure non-Python bootstrap files are included +[tool.hatch.build] +include = [ + "src/envon/bootstrap_*.sh", + "src/envon/bootstrap_*.fish", + "src/envon/bootstrap_*.ps1", + "src/envon/bootstrap_csh.csh", + "src/envon/bootstrap_*.nu", + "src/envon/*.py", + "README.md", + "LICENSE", +] + +[tool.hatch.build.targets.sdist] +include = [ + "src/envon/**", + "README.md", + "LICENSE", + "docs/**", +] diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_bash.sh /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_bash.sh --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_bash.sh 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_bash.sh 2020-02-02 00:00:00.000000000 +0000 @@ -1,3 +1,3 @@ -envon() { +envon() { if [ "$#" -gt 0 ]; then case "$1" in diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_csh.csh /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_csh.csh --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_csh.csh 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_csh.csh 2020-02-02 00:00:00.000000000 +0000 @@ -1,3 +1,3 @@ -#!usr/bin/tcsh -f +#!usr/bin/tcsh -f #! /bin/tcsh -f # envon wrapper script for tcsh compatibility diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_fish.fish /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_fish.fish --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_fish.fish 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_fish.fish 2020-02-02 00:00:00.000000000 +0000 @@ -1,3 +1,3 @@ -function envon +function envon if test (count $argv) -gt 0 set first $argv[1] diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_nushell.nu /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_nushell.nu --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_nushell.nu 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_nushell.nu 2020-02-02 00:00:00.000000000 +0000 @@ -1,3 +1,3 @@ -def --env envon [...args] { +def --env envon [...args] { if ($args | is-empty) == false { let first = ($args | first) diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_powershell.ps1 /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_powershell.ps1 --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_powershell.ps1 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_powershell.ps1 2020-02-02 00:00:00.000000000 +0000 @@ -1,3 +1,3 @@ -function envon { +function envon { param([Parameter(ValueFromRemainingArguments=$true)][string[]]$Args) $envonExe = Get-Command envon -CommandType Application -ErrorAction SilentlyContinue diff -U2 -r /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_sh.sh /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_sh.sh --- /var/lib/copr-rpmbuild/results/python3-envon/upstream-unpacked/Source0/envon-0.1.1/src/envon/bootstrap_sh.sh 2025-09-27 21:23:36.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/python3-envon/srpm-unpacked/envon-0.1.1.tar.gz-extract/envon-0.1.1/src/envon/bootstrap_sh.sh 2020-02-02 00:00:00.000000000 +0000 @@ -1,3 +1,3 @@ -envon() { +envon() { if [ "$#" -gt 0 ]; then case "$1" in