Skip to main content

A lightweight Python library and CLI tool for displaying visually structured directory trees with optional emoji and exclusion filters.

Project description

๐Ÿ“๐ŸŒณ wintree

wintree is a Python library that displays the hierarchical structure of a specified directory in a tree format. It can be easily used from the command line, supports visually appealing tree views with emojis, and allows you to specify directories to exclude.

๐Ÿš€ Usage

๐Ÿ“š๏ธ As a Library

import wintree

print(wintree.tree())
# sample output
๐Ÿ“‚ root: .
โ”œโ”€โ”€ ๐Ÿ“„ .gitignore
โ”œโ”€โ”€ ๐Ÿ“„ README.md
โ”œโ”€โ”€ ๐Ÿ“„ pyproject.toml
โ”œโ”€โ”€ ๐Ÿ“ src/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ assets/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ icon.png
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“„ splash_android.png
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ main.py
โ””โ”€โ”€ ๐Ÿ“ storage/
    โ”œโ”€โ”€ ๐Ÿ“ data/
    โ””โ”€โ”€ ๐Ÿ“ temp/

With arguments:

from wintree import tree

print(tree(root_dir="/path/to/project", use_emoji=True, ignore_dirs=[".git", "__pycache__"], filter_exts=[".py",".txt"]))
Argument Type Description
root_dir str Path to the root directory to start displaying the tree. Default is the current directory "."
use_emoji bool Whether to use emojis in the tree view. If True, adds icons to folders and files.
ignore_dirs List[str] List of directory names to exclude from the tree (partial match). Example: [".git", "node_modules"]
filter_ext List[str] File extensions to include. Example: [".py", "txt"]

You can also list absolute paths instead of

import wintree

print(wintree.list_files())

โš™๏ธ Usage from CLI

wintree /path/to/project --exclude .git __pycache__

Options

Option Description
path Path to the root directory
--no-emoji Disable emoji display
--exclude Specify directory names to exclude (partial match, space-separated)
--ext File extensions to include

๐Ÿ“Œ Features

  • Emoji-based tree view for better visibility
  • Flexible exclusion of target directories
  • Supports Windows/macOS/Linux
  • Pure Python, no external dependencies

๐Ÿงช For Developers

This library can also be used as a base for directory visualization tools. Integration with GUI tools or IDE plugins is also possible.

๐Ÿ“„ License

MIT License

๐ŸŒ Language

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

wintree-0.1.6.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

wintree-0.1.6-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file wintree-0.1.6.tar.gz.

File metadata

  • Download URL: wintree-0.1.6.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.0 Windows/11

File hashes

Hashes for wintree-0.1.6.tar.gz
Algorithm Hash digest
SHA256 d6cae4d7f0b8b16a77b0a767030d3d8a15e47697ff7d94b3d41e286d5415c5dc
MD5 e6ad18beb3bf08b8a53cb7e81da1b193
BLAKE2b-256 29e525021504faa368100d8cbef15e668cc2320d1c53e1ddf2d98a68ce435a97

See more details on using hashes here.

File details

Details for the file wintree-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: wintree-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.0 Windows/11

File hashes

Hashes for wintree-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 110e2ece25d3c26bf240efca88785bd3ee7763cd1345c6cf2a0798c049b47424
MD5 d57dc97b58711d0cf08e6f34d9d93d21
BLAKE2b-256 8ff2d370bd68759cd8361116e5662f84c909ecce35f0cd6b23183636dc71a5e5

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