Scan directories to find Python virtual environments
Project description
envscan — CLI to discover Python environments
envscan is a small, open-source command-line tool that scans a directory tree and reports local Python environments (venv/virtualenv, conda envs, pipenv/poetry markers, pyenv markers).
Install
# From PyPI (after release)
pip install envscan
# From source (development)
python -m pip install -e .
Quick start
- Scan the current directory (text output):
envscan
- Scan a specific directory and print JSON:
envscan --path ./project --format json
- Probe detected environments to get Python version (optional and time-limited):
envscan --probe --verbose
Command summary
-p, --path PATH: Path to scan (default.)-d, --depth INT: Max recursion depth (default3)-f, --format {text,json}: Output format (defaulttext)--include-hidden: Include hidden directories and files--follow-symlinks: Follow symbolic links--probe: Probe discovered environments to get Python version (optional, time-limited)--json-file PATH: Write JSON output to the given file-v, --verbose: Verbose output (shows probe diagnostic logs)
Notes
- By default envscan uses conservative file-marker heuristics (e.g., presence of
pyvenv.cfg,conda-meta,Pipfile,.python-version) and does not execute any discovered interpreters. Use--probeto request a safe, short, time-limited interpreter probe when available. - The optional Streamlit visualization from the original project is preserved as a
webextra (installable viapip install envscan[web]) and can be run withstreamlit run app.pyin the repository; however the primary focus of this package is theenvscanCLI.
Contributing
Contributions welcome — open a PR with tests.
License
MIT
Extending Functionality
To add more features:
- File type categorization: Extend the
get_file_type_groupfunction indirectory_scanner.py - Additional statistics: Modify the
calculate_directory_statsfunction inapp.py - UI improvements: Add more Streamlit components in
app.py
License
This project is open-source and available under the MIT License.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file envscan-0.1.8.tar.gz.
File metadata
- Download URL: envscan-0.1.8.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9040c68683e1dcd27d99ee3370ec5ac2fd93da4ead42d36c8f387331231bc5b6
|
|
| MD5 |
00a7027de8f8d350d455d8fe1bb40240
|
|
| BLAKE2b-256 |
b8d2c26d7507267ee94989eeed1a95ccd678059e92a255725412a546323befc2
|
File details
Details for the file envscan-0.1.8-py3-none-any.whl.
File metadata
- Download URL: envscan-0.1.8-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e26333f9d0c132d49815c30ec6de355d8c294bb579a1bcfe97ecc9957c9e0bf2
|
|
| MD5 |
ce7bc8a0868318749e9a938acfb5e7dc
|
|
| BLAKE2b-256 |
8a901efafab0fb6a4ee2cd8b29e569be5de2f0ce4eaa0287de3844bd0d68dbfc
|