A two-pane terminal outline browser for Python and Markdown files.
Project description
pyoverview
pyoverview is a small terminal outline browser for Python and Markdown files.
For Python, it parses a module with Python's ast module. For Markdown, it
parses #, ##, and ### headings.
- left pane: classes, functions, async functions, nested definitions, sections, or Markdown headings
- right pane: source text on the terminal's default background, automatically scrolled to the selected symbol
Python 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 Python sections. A section runs until the
next section marker at the same or higher heading level, or the end of the file.
Markdown Headings
Markdown files use real headings as outline sections:
# Training
## SFT
### Formatting
# Evaluation
Headings inside fenced code blocks are ignored. Only #, ##, and ###
headings are included.
Install
uvx pyoverview path/to/module.py
uvx pyoverview path/to/notes.md
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.2.tar.gz.
File metadata
- Download URL: pyoverview-0.4.2.tar.gz
- Upload date:
- Size: 12.9 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 |
b2c6e606838c435623eb83eeb8f342d13213f9ce7a6db82f50d095995ce35938
|
|
| MD5 |
768077c6fbcca0b1475c49ae091405fc
|
|
| BLAKE2b-256 |
93aa932c7a1a4678407ef0c7045698046722791a4ac6480b6c9d005c00bbf4d4
|
File details
Details for the file pyoverview-0.4.2-py3-none-any.whl.
File metadata
- Download URL: pyoverview-0.4.2-py3-none-any.whl
- Upload date:
- Size: 11.5 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 |
3124c8f43a86606e519e9d31aa880a4124476abbf2759b2817de1cf61d9a9670
|
|
| MD5 |
c2ecbb022c2dc19f2cc4d3c31c9b18d6
|
|
| BLAKE2b-256 |
a85a5857bd77515229d52ffcc25c85bd7fffda83efc3bbe03aa3257fdd39cb7f
|