This release is a pre-release and may not be stable for production use.
Threadline
Documentation · Getting started · Capabilities · Contributing
Threadline is a visual Python code reviewer for understanding a workflow before running it.
Select any function or method. Threadline shows its inputs and outputs, local control flow, calls into other files, return destinations, effects, and unresolved targets. Select any step to inspect the exact original source while keeping the surrounding workflow visible.
Threadline parses source. It does not import or execute the project being reviewed.
What you see
Request
│ request fields
▼
Validate
├─ invalid → early return
│ validated items + coupon
▼
Calculate total
│ subtotal − discount + tax
▼
Save order
│ persisted order
▼
Response
The interface provides three levels without sending you to another page:
- Workflow: the flow starting from the selected method.
- Focused step: branches, calls, transformations, effects, and returns at that point.
- Source: the exact code supporting the selected operation.
Calls stay nested under their call site. Workflow pages load progressively, and branch bodies load when expanded. Loops appear once, recursion is marked, and possible or unknown targets remain visibly uncertain.
Requirements
- Python 3.12 or later
- A local directory containing Python source
- A modern browser
The target project does not need to be installed and its dependencies do not need to be available.
Install
From a source checkout:
git clone https://github.com/Raman369AI/threadline.git
cd threadline
python3 -m venv .venv
.venv/bin/python -m pip install .
If you have a locally built or shared release wheel:
python3 -m venv .venv
.venv/bin/python -m pip install threadline_review-0.2.0b1-py3-none-any.whl
Review a repository
.venv/bin/threadline review /path/to/python-repository
Threadline prints and opens a local URL, normally http://127.0.0.1:4173/. Use --port 4180 if that port is occupied.
In the browser:
- Use Endpoints, Commands & tasks, or Modules & methods, or search across all three.
- One click opens its workflow, local logic, and original source.
- Follow source-linked calls across files from that selected method.
- Expand branches or calls in place; use Back to caller to resume where you left off.
- Open Coverage to see parse failures, excluded paths, and unmodeled call syntax.
Try the bundled example:
.venv/bin/threadline review example
Review a Git change
Run Threadline from the working tree and provide the Git baseline:
.venv/bin/threadline review /path/to/git-repository --base HEAD
The Changes view distinguishes modified methods, previous and deleted methods, current source-linked callers, historical baseline callers, and possible impact. Choose Compare before / after to read both retained versions together. Threadline reads Git objects without checking out or executing either version.
Structured output
The browser is the primary interface. JSON commands are available for scripts and CI:
threadline inspect /path/to/repository --query create_order
threadline inspect /path/to/repository --entrypoint package.module:create_order
threadline changes /path/to/repository --base HEAD
Use --source-root path to select an application source directory. Repeat --exclude path for generated, vendored, or irrelevant directories.
What static analysis can establish
Threadline labels call relationships according to their evidence:
- Supported: the source resolves one local target.
- Possible: the source identifies one or more candidates but runtime dispatch remains uncertain.
- External: the target belongs outside the analyzed source.
- Unknown: the source does not identify a target.
These labels describe source structure. They do not represent an observed execution or prove that the code is correct.
See the capability matrix, usage guide, and validation record for details.
Documentation
Start with the documentation hub for installation, everyday review, analysis limits, and project maintenance.
| I want to… | Read |
|---|---|
| Review a repository or Git change | Usage guide |
| Understand supported syntax and uncertain calls | Capability matrix |
| Check test results and platform coverage | Validation record |
| Understand keyboard access and browser checks | Accessibility |
| Check resource limits for a larger repository | Performance and resource budgets |
| Publish a package release | PyPI publishing guide |
| Report a vulnerability privately | Security policy |
Validation
The self-contained suite covers source non-execution, exact statement and call accounting, branches, exceptions, loops, recursion, cross-file calls, snapshot evidence, Git changes, HTTP restrictions, packaging, and browser behavior.
A separate acceptance corpus tests pinned versions of Flask, Requests, FastAPI, Celery, Django, OpenTelemetry, and Pants. See public repository validation.
python3 -m unittest discover -v
node --check threadline/static/app.js
node --check threadline/static/workflow.js
python3 tests/browser_smoke.py
python3 tests/online_repo_smoke.py --report artifacts/online-validation.json
python3 -m pip wheel . --no-deps -w dist
python3 tests/release_smoke.py dist/*.whl
Project status
Threadline is a developer beta. The standalone application and wheel are usable now. The expanded corpus, performance budgets, Linux/macOS matrix, native Safari, accessibility checks, and clean-wheel installs pass. The maintainer owns the three first-time reviewer sessions and final release sign-off. See the release checklist and resource budgets.
See CONTRIBUTING.md, SECURITY.md, CHANGELOG.md, and the MIT License.
Release files for threadline-review 0.2.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| threadline_review-0.2.0b1.tar.gz | 63.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| threadline_review-0.2.0b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.3 kB
Release files / threadline_review-0.2.0b1.tar.gz
| Download URL | threadline_review-0.2.0b1.tar.gz |
|---|---|
| Size | 63.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3aa629fd92ab7902c21fc6952ea64f1e24664d8ed5ec852d44c50016d50cf02b
|
|
BLAKE2b-256 checksum How to use checksums |
08ab0b0c2eb98886955b161d19d96827e7a7c0eaab6c2d93c2ac66b7972604a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / threadline_review-0.2.0b1-py3-none-any.whl
| Download URL | threadline_review-0.2.0b1-py3-none-any.whl |
|---|---|
| Size | 64.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c995741ab58b7c458c3fc90f11754fbb6e8a3400ab5aab4d859df98e4797fdb8
|
|
BLAKE2b-256 checksum How to use checksums |
a0fcb4aec22fd6c4f18b7f5c5bcccf0f521083a38629a1e9c8d56b6a4b93958b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency log