Skip to main content

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 (default 3)
  • -f, --format {text,json} : Output format (default text)
  • --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 --probe to request a safe, short, time-limited interpreter probe when available.
  • The optional Streamlit visualization from the original project is preserved as a web extra (installable via pip install envscan[web]) and can be run with streamlit run app.py in the repository; however the primary focus of this package is the envscan CLI.

Contributing

Contributions welcome — open a PR with tests.

License

MIT


Extending Functionality

To add more features:

  1. File type categorization: Extend the get_file_type_group function in directory_scanner.py
  2. Additional statistics: Modify the calculate_directory_stats function in app.py
  3. 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

envscan-0.1.6.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envscan-0.1.6-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file envscan-0.1.6.tar.gz.

File metadata

  • Download URL: envscan-0.1.6.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

Hashes for envscan-0.1.6.tar.gz
Algorithm Hash digest
SHA256 e9279da16a7fff1288dcee8eab12818b395870a980df58386e16d8a9a2a6c197
MD5 d7db968ff78e811d2f07cec3164ffde9
BLAKE2b-256 ff59f803a654a08c3960183e7cb71e7d69cf0de46ee8e6ab71b9ea131c7ba21c

See more details on using hashes here.

File details

Details for the file envscan-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: envscan-0.1.6-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

Hashes for envscan-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 98d6d0c6b4e22018adce254cff2abc9de46b6e9e06a46d7b29311eb41d140054
MD5 b5b6140c5ab1ad2c93acbb9d1c13bc5e
BLAKE2b-256 1b114a110eec7af5a83cff4e96cb9fd2f1a8c3470831d361ba0948edcc3cacc2

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