Installation
Install venvm from PyPI:
python -m pip install venvm
Usage
Select an environment and script interactively:
venvm
In an interactive terminal, use the arrow keys and Enter or type an option number and press Enter. Numbered prompts remain available in non-interactive terminals.
Script discovery scans the project recursively and displays paths relative to
the project root. Virtual environments, version-control metadata, caches,
build output, and node_modules are excluded from the scan. Root-level scripts
are listed first, followed by scripts in progressively deeper directories.
The script picker shows only the current directory and child directories that contain scripts. Use Right or Enter to open a directory, Left to return to its parent, and Enter to run a script. Numbered selection remains available.
Run a script with arguments:
venvm app.py --port 8000
Select an environment explicitly or use the system interpreter:
venvm --env .venv app.py
venvm --system app.py
Run a Python module:
venvm --env .venv --module pytest -q
venvm --system --module http.server 8000
Values after --module are passed directly to the module. Place environment
options before --module.
List detected environments without running anything:
venvm --list
--yes accepts confirmation prompts. If multiple environments exist, .venv
is used when available. Otherwise, specify the environment with --env.
Use --install-deps to install detected dependency sources without additional
confirmation. --yes alone never installs dependencies automatically.
The command scans direct children of the current directory for pyvenv.cfg and
the platform-specific Python executable. If no environment exists, it offers to
create .venv. The system Python interpreter remains available as an option.
After creating an environment, venvm detects requirements.txt,
requirements-dev.txt, and pyproject.toml. It asks for confirmation before
installing each source.
Project Configuration
Add .venvm.json to the project root to define defaults:
{
"environment": ".venv",
"script": "app.py"
}
For a module:
{
"environment": ".venv",
"module": "pytest"
}
script and module cannot be used together. Command-line values override the
configuration file. When run from a subdirectory, venvm searches parent
directories for the nearest .venvm.json and uses its directory as the project
root.
Development
Install the repository in editable mode:
python -m pip install -e .
Run the standard-library test suite:
python -m unittest discover -s tests
Roadmap
Planned configuration and project management work is tracked in
.github/TODO.md.
Metadata
Release files for venvm 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| venvm-0.4.0.tar.gz | 18.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| venvm-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.9 kB
Release files / venvm-0.4.0.tar.gz
| Download URL | venvm-0.4.0.tar.gz |
|---|---|
| Size | 18.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c466b1fc80f0f24539c8d4546f13dd214ceefd4ef6972a8fcfa2aa94d0b981a7
|
|
BLAKE2b-256 checksum How to use checksums |
8df36bff1a97cf01c41a17fd8dcbb70768fc541efa4a759492c4ea1b0ac05e5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.
Transparency logRelease files / venvm-0.4.0-py3-none-any.whl
| Download URL | venvm-0.4.0-py3-none-any.whl |
|---|---|
| Size | 14.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2cd6d6ba5d246bee917aa3c576cfc757825e5cdeb627898574c1727fa1015a8e
|
|
BLAKE2b-256 checksum How to use checksums |
f24b62efc6b5419f6b5902d9018a79b55c1c1de96ef01561961f3436c76634a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.
Transparency log