Skip to main content

Project Tree

Last commit Repo size Python License Lint and Test

Project Tree is a small, deterministic utility that generates a Markdown representation of a project’s directory structure.


Features

  • Generates a deterministic Markdown project tree
  • Uses a simple, explicit ignore system based on exact name matching
  • Optional watch mode for continuous regeneration
  • Minimal, testable design

Installation

Simply run:

pipx install project-tree

Or if you already have UV installed, simply run:

uv tool install project-tree

Getting Started

Run projtree from your project root to generate structure.md.

projtree

Usage

Run projtree with --help to see the command reference and options.

projtree --help

Or see the usage documentation for the full command reference, options, and example output.


Ignore System

  • Built-in defaults include common directory and file names (e.g. .git, __pycache__, node_modules)
  • A .projtreeignore file in the project root is supported
  • For normal runs, CLI --ignore arguments are merged with project and built-in ignores
  • In --watch mode, CLI --ignore values are also forwarded, so watching uses built-in defaults, .projtreeignore, and any CLI-supplied ignores
  • Ignore rules match exact names anywhere in the tree (e.g., src ignores any file/dir named src at any depth)
  • Ignore entries are treated as exact names, not paths. For example, target works, but src/target does not match nested paths
  • No globbing, wildcards, or pattern-based matching in v1
  • If the output file is under the project root, its file name is also added to the ignore set to prevent regeneration loops

Example .projtreeignore:

.venv
__pycache__
build
dist

Running Tests

If you installed development dependencies:

pytest

Tree-format tests assert against full output; a separate test checks repeatability. Watcher tests cover event filtering, renames, ignore-rule reloads, and one live regeneration smoke test.


License

This project is licensed under the MIT License. See LICENSE for details.


Metadata

Release files for project-tree 1.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for project-tree 1.3.2
File Size Uploaded
project_tree-1.3.2.tar.gz 11.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for project-tree 1.3.2
File Interpreter ABI Platform
project_tree-1.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 20.1 kB

Release files / project_tree-1.3.2.tar.gz

Download URL project_tree-1.3.2.tar.gz
Size 11.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6ee2b382b768adb6a1c9fe299f114e8acaaa63ddf4faef68e2b7b5408fea3004
BLAKE2b-256 checksum
How to use checksums
c58af72608dab9c1f57450703c9dba882284344a1a462a7a161af0ca88ba2b9b
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 Oct 15, 2026.

Transparency log

Release files / project_tree-1.3.2-py3-none-any.whl

Download URL project_tree-1.3.2-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
834b89d151be78bb623e8b9db542a9c8809a07c6c801deea47a43a06fcdd3301
BLAKE2b-256 checksum
How to use checksums
5bc041fba69b906a5b5488583beb81829854054e1969e9ca985a583c531bb4dd
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 Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.2 This release

2 release files

1.3.1

2 release files

1.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page