wxc

wxc (pronounced "which") allows you to inspect source code in your Python environment from the command line. It is based on the inspect module from the
standard library.

In essence,

$ wxc pandas

is equivalent to

$ python -c "import pandas; print(pandas.__file__)"

wxc can also be used to navigate source code, by locating classes and functions by file:line number

$ wxc pandas.DataFrame
/path/to/your/env/site-packages/pandas/core/frame.py:319

which is extremely convenient when combined with augmented terminal applications such as iterm2.

Installation

$ pip install wxc

Note that wxc should never be installed in isolation (for instance via
pipx) since it would completely defeat
the purpose.

Usage

Examples

$ wxc numpy
/path/to/your/env/site-packages/numpy

$ wxc pandas --version
1.0.3

$ wxc stdlib_list --full
source = /path/to/your/env/site-packages/stdlib_list/__init__.py:0
version = v0.8.0
in_stdlib = False
name = stdlib_list

Known limitations

wxc is not able to retrieve the source of compiled code binded into Python. It
should however correctly point to the compiled file that an object is imported
from.

Notes

  • wxc is tested on macOS, Linux, and partially on Windows, from Python 3.6 to 3.10 (beta)
  • from Python 3.10, wxc currently has no dependencies outside of the standard
    library.
  • this project was formerly named "whych" and renamed to avoid confusion with the
    pypi-available package of the same name.

GitHub

https://github.com/neutrinoceros/wxc