Repository navigation
Releases
Releases · AhsanSheraz/pywho
v0.3.4
v0.3.3
What's Changed
v0.3.3
- Replaced
uvx pywhorecommendation with caveat about ephemeral environments - Re-release to include updated README on PyPI
v0.3.2
- Respect
NO_COLOR/FORCE_COLORenvironment variables (no-color.org) - Cache
supports_color()withlru_cacheto avoid redundant syscalls - Replace private
dist._pathwith publicdist.locate_file()API - Narrow bare
except Exceptionto(ImportError, StopIteration, OSError) - Complete Python 3.9 stdlib fallback (100 → 205 modules)
- Eliminate redundant
pyvenv.cfgread in_detect_package_manager() - Add explicit
encoding="utf-8"forpyvenv.cfgreads - Add
if __name__ == "__main__"guard to__main__.py - Extract duplicated
_get_stdlib_names()to shared_stdlib.pymodule - Use
frozensetfor_EXCLUDE_DIRSand_IGNORE_NAMESconstants - Upgrade classifier to
Development Status :: 5 - Production/Stable
Full Changelog: v0.3.1...v0.3.3
v0.3.1
What's Changed
Added
- Release workflow: publish to PyPI automatically on GitHub Release creation
- 95% minimum test coverage enforced in CI
- Comprehensive test suite: 131 tests with 97% coverage
- Tests for all venv types (conda, pipenv, virtualenv, uv, poetry)
- Cross-platform test fixes for Windows and Python 3.9
Full Changelog: v0.3.0...v0.3.1
v0.3.0 - Shadow Scanning
v0.3.0 - Shadow Scanning (2026-03-15)
Added
pywho scansubcommand for project-wide shadow detection- Scans directory trees for
.pyfiles that shadow stdlib or installed packages - Severity levels: HIGH (stdlib) and MEDIUM (installed)
--no-installedflag to check stdlib only--jsonflag for machine-readable outputscan_path()Python API withShadowResultdataclass- Smart exclusions: skips
.venv,__pycache__,node_modules,dist,build, etc. - Ignores common non-module files:
setup.py,conftest.py,manage.py - Revamped README with badges, table of contents, and quick-reference command table
No Breaking Changes
This release is fully backward-compatible with v0.2.0.
Install
pip install pywho==0.3.0Full Changelog: v0.2.0...v0.3.0
v0.2.0 — Import Resolution Tracer
What's New
pywho trace subcommand
Trace where any import resolves and why:
pywho trace requests
pywho trace json --verbose
pywho trace os.path --json- Shows resolved file path and module type (stdlib/third-party/local/builtin)
- Full sys.path search order
- Shadow detection — warns when local files shadow stdlib or installed packages
--verboseand--jsonflagstrace_import()Python API withTraceReportdataclass
Improvements
- Cross-platform module classification fix for macOS/Linux system Python
- 21 new tests (53 total)
- Updated documentation and API reference
Install / Upgrade
pip install --upgrade pywhoFull Changelog: https://github.com/AhsanSheraz/pywho/blob/main/CHANGELOG.md
v0.1.0 - Initial Release
v0.1.0 - Initial Release (2026-03-15)
Added
- Core environment inspection: interpreter, platform, venv, paths, packages
- Virtual environment detection: venv, virtualenv, uv, conda, poetry, pipenv
- Package manager detection: pip, uv, conda, poetry, pipenv, pyenv
- CLI with
--json,--packages, and--no-pipflags python -m pywhosupport- Cross-platform support: Linux, macOS, Windows
- Python 3.9 – 3.14 support
- Typed (
py.typedmarker)
Install
pip install pywho==0.1.0Full Changelog: https://github.com/AhsanSheraz/pywho/blob/main/CHANGELOG.md