Skip to main content

PrintStruct

PrintStruct is a clean, lightweight Python CLI that prints a directory tree of your project while respecting .gitignore, with optional zipping support.

The problems it solves:

  • sharing project structure in issues or pull requests
  • generating directory trees for documentation
  • pasting project layouts into LLMs
  • zipping projects for feeding to LLMs using .gitignore directions

Quick Start (10 seconds)

Run this command in your terminal:

pip install printstruct

Usage:

Open a terminal in any project and run:

prst

This prints the directory structure of the current folder.

You can also specify a path explicitly:

prst <directory_path>

Example (Windows PowerShell):

PS C:/Users/Projects/PrintStruct> prst .

Output:

PrintStruct
├─ LICENSE
├─ pyproject.toml
├─ README.md
├─ requirements.txt
└─ structure.py

Updating PrintStruct:

To update the tool, reinstall it using pip. Pip will automatically replace the older version with the latest release.


Useful CLI arguments

In addition to the directory path, the following options are available:

Argument Description
--version, -v Displays the installed version.
--zip [name] Zips the project while respecting .gitignore. Example: --zip a creates a.zip. If no name is provided, a random ID is used.
--max-depth Limits recursion depth. Example: --max-depth 1 shows only top-level files and folders.
--all, -a Includes hidden files and directories. Does not override .gitignore.
--ignore Adds extra files or directories to ignore.
--gitignore-depth Controls how deeply .gitignore files are discovered. Example: --gitignore-depth 0 uses only the root .gitignore.
--no-gitignore Ignores all .gitignore rules when set.
--max-items Limits items shown per directory. Extra items are summarized as ... and x more items. Default: 20.
--no-limit Removes the per-directory item limit.


Installation (for Contributors)

Clone the repository:

git clone https://github.com/ShahzaibAhmad05/PrintStruct

Move into the project directory:

cd PrintStruct

Install dependencies:

pip install -r requirements.txt

The tool is now available as a Python CLI on your system.


Contributions

Issues and pull requests are welcome. Ideas that would fit well include improved formatting, colorized output, test coverage, and performance optimizations.

PrintStruct is intentionally small and readable, so contributions that preserve simplicity are especially appreciated.

Metadata

Release files for PrintStruct 1.3.1

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

Source distribution (sdist)

Source distribution for PrintStruct 1.3.1
File Size Uploaded
printstruct-1.3.1.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PrintStruct 1.3.1
File Interpreter ABI Platform
printstruct-1.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.8 kB

Release files / printstruct-1.3.1.tar.gz

Download URL printstruct-1.3.1.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
758edd915377ee17114f89c90593f0c10d55561a3371a30da4b667bee2852ab1
BLAKE2b-256 checksum
How to use checksums
37f498b45fb68fc113ff2bcf369a5c3fad930e46912eb37fda888177f04a9235
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Dec 22, 2025.

Transparency log

Release files / printstruct-1.3.1-py3-none-any.whl

Download URL printstruct-1.3.1-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9dd71f53fc4a9983b617abb3a0984f111ba72cdf81fc63f9a90a073d44995f84
BLAKE2b-256 checksum
How to use checksums
4cabcc502afd9a34120b8ed1ea88671500d0cc2bcc7a52804ad3803e9f49d941
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Dec 22, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.1 This release

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

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