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


This README replaces the original Streamlit-centric content and focuses on the CLI usage and packaging.

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.4.tar.gz (7.2 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.4-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: envscan-0.1.4.tar.gz
  • Upload date:
  • Size: 7.2 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.4.tar.gz
Algorithm Hash digest
SHA256 fde926d352fd321244d847676b5a5fd3fc4caf56eab6f2bbf2f49539bcca2bbe
MD5 59ebdbf112047af93dcb58459bc7927c
BLAKE2b-256 105d18fda49c5fd4d56bed9151a273dc081aade21e6d9d704a7aaab0498e2757

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envscan-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 6.4 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2dad4605c9661d22ec4117ead31c40eb4220948fbe2bc47144ff314bb8855ea1
MD5 e71ffe108106c76e5e0accf64bc8f48d
BLAKE2b-256 7a402500909338924fcf82527c3ba2dead60b75106380df61758d06ce88e4dcd

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