Skip to main content

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

pyoverview terminal UI showing an outline pane and syntax-highlighted code preview

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 outline
  • PageUp / PageDown: scroll code
  • g / G: jump to first / last outline item
  • Enter: center the selected symbol in the code pane
  • r: reload the file from disk
  • q: 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

pyoverview-0.4.2.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyoverview-0.4.2-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

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

Hashes for pyoverview-0.4.2.tar.gz
Algorithm Hash digest
SHA256 b2c6e606838c435623eb83eeb8f342d13213f9ce7a6db82f50d095995ce35938
MD5 768077c6fbcca0b1475c49ae091405fc
BLAKE2b-256 93aa932c7a1a4678407ef0c7045698046722791a4ac6480b6c9d005c00bbf4d4

See more details on using hashes here.

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

Hashes for pyoverview-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3124c8f43a86606e519e9d31aa880a4124476abbf2759b2817de1cf61d9a9670
MD5 c2ecbb022c2dc19f2cc4d3c31c9b18d6
BLAKE2b-256 a85a5857bd77515229d52ffcc25c85bd7fffda83efc3bbe03aa3257fdd39cb7f

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