A two-pane terminal outline browser for Python modules.
Project description
pyoverview
pyoverview is a small terminal outline browser for Python files. It parses a
module with Python's ast module and opens a two-pane TUI:
- left pane: classes, functions, async functions, and nested definitions
- right pane: syntax-highlighted source code on the terminal's default background, automatically scrolled to the selected symbol
Sections
Add module-level section comments to group the outline into larger chunks:
# region Configuration
DEFAULT_MODEL = "gpt-5"
def load_config():
...
# region Review Model
class Finding:
...
async def score_patch():
...
# %% Title cell comments are also supported:
# %% SFT
def sft_dataset():
...
# %% GRPO
def grpo_dataset():
...
Markdown-style comment headings are supported too. #, ##, and ### create
nested sections:
# Training
def load_rows():
...
## SFT
def sft_dataset():
...
### Formatting
def format_prompt():
...
pyoverview renders those comments and headings as section nodes:
reviewer.py
section: Training L1
function: load_rows() L3
section: SFT L7
function: sft_dataset() L9
section: Formatting L13
function: format_prompt() L15
Only comments starting at the beginning of a line with # region , # %% ,
#%% , # , ## , or ### create sections. A section runs until the next
section marker at the same or higher heading level, or the end of the file.
Install
uvx pyoverview path/to/module.py
If you are developing locally:
uv run pyoverview path/to/module.py
Keys
Up/Down,k/j: move through the outlinePageUp/PageDown: scroll codeg/G: jump to first / last outline itemEnter: center the selected symbol in the code paner: reload the file from diskq: quit
Non-interactive Use
pyoverview --print path/to/module.py
This prints the outline without opening the TUI.
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 pyoverview-0.4.1.tar.gz.
File metadata
- Download URL: pyoverview-0.4.1.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
860f2ff8f2c82467c0b9072dcd5c6e2ffa02f1346f6152f7d7bf408651dc068b
|
|
| MD5 |
2b14c48ba14293218469ac745940fc44
|
|
| BLAKE2b-256 |
bc4d71329b5ee26dcfaabf6dba3dab597611c5385159a9d75d036e0c7a73573a
|
File details
Details for the file pyoverview-0.4.1-py3-none-any.whl.
File metadata
- Download URL: pyoverview-0.4.1-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fd119b167f43d5447ef07b1fe112e3399d64e62127798bf7cf7b53bb8f73110
|
|
| MD5 |
43f0edc19d61b628548b5d8847280ac7
|
|
| BLAKE2b-256 |
22e7a530fd1049a66bc48ccf378fadeb71b53fb3274f6cce4653a0fcd7c23220
|