Skip to main content

Project structure tree visualizer with Python AST analysis and change tracking

Project description

Trellis

Project structure tree visualizer with Python AST analysis and change tracking.

Trellis scans a directory tree and produces a text representation that includes Python classes, functions, signatures, decorators, and call flow analysis. It tracks structural changes between runs and generates categorized change summaries with timestamped log files.

Installation

pip install trellis

Quick Start

Run from any directory inside a project. Trellis auto-discovers the project root by walking upward looking for .git, pyproject.toml, and other markers.

trellis

Or run as a Python module:

python -m trellis

Output is saved to docs/{project}_structure.txt. On subsequent runs, trellis detects and reports structural changes.

Output Example

project/ [pkg] [cmd] [typed]
├── core/ [pkg]
│   ├── models.py {85}
│   │   ├── class BaseProcessor  :5
│   │   ├── class DataStore(BaseProcessor)  :20
│   │   │   ├── def connect(host: str, port: int) -> None  :25
│   │   │   └── def query(sql: str) -> list[dict]  :34
│   │   └── def build_config(path: str) -> Config  :60
│   └── utils.py {42}
│       ├── /wrapper\ def cached_lookup(func)  :10
│       └── def format_output(items: list) -> str  :18
├── handlers.py {120}
│   ├── @app.route('/api')
│   │   └── def handle_request(request: Request) -> Response  :15
│   └── def process_data(input: str, limit: int) -> Result  :45
└── main.py {30}
    └── def main() -> int  :8
        └── calls: build_config -> process_data -> run


# tr_meta:D1I1F1T1@1C0P1V0U0S0Wsmart

Markers: [pkg] = Python package, [cmd] = has __main__.py, [typed] = has py.typed

Line counts: {85} = 85 lines of source code

Call flow: calls: build_config -> process_data -> run shows orchestration function call chains (SMART mode filters for high-signal calls)

Wrapper collapse: /wrapper\ tags decorator boilerplate that wraps a single inner function

CLI Flags

trellis --show-private          # include _private members
trellis --show-dunder           # include __dunder__ methods
trellis --show-all              # show everything
trellis --hide-all              # hide private/dunder/mangled, disable call flow
trellis --call-flow raw         # show all calls without filtering
trellis --call-flow off         # disable call flow display
trellis --hide-types            # omit type annotations
trellis --hide-decorators       # omit decorator rendering

See CLI Reference for the full flag list.

Documentation

License

MIT

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

ks_trellis-1.3.0.tar.gz (86.6 kB view details)

Uploaded Source

Built Distribution

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

ks_trellis-1.3.0-py3-none-any.whl (64.2 kB view details)

Uploaded Python 3

File details

Details for the file ks_trellis-1.3.0.tar.gz.

File metadata

  • Download URL: ks_trellis-1.3.0.tar.gz
  • Upload date:
  • Size: 86.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for ks_trellis-1.3.0.tar.gz
Algorithm Hash digest
SHA256 7b17da629fdf5240a231994de4317c12a98c3938daed0dfc1b972a3184c0147c
MD5 f88c46a9d4369b182b9051c51226e06d
BLAKE2b-256 ed68760c37df32b6b2dd0f47c18f9f075666512fe5148d0dcc6cb9d5da5860f9

See more details on using hashes here.

File details

Details for the file ks_trellis-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: ks_trellis-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 64.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for ks_trellis-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a92e3d679f0790616159bd038045d35b460b0b3905ac860c96e0857513f4fed2
MD5 6beda2463589803b86c1777a75121c4f
BLAKE2b-256 d5a90256a2f93239f94031ae8362bff4fe196ab096b16379640f8189d910ca52

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