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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6cae4d7f0b8b16a77b0a767030d3d8a15e47697ff7d94b3d41e286d5415c5dc
|
|
| MD5 |
e6ad18beb3bf08b8a53cb7e81da1b193
|
|
| BLAKE2b-256 |
29e525021504faa368100d8cbef15e668cc2320d1c53e1ddf2d98a68ce435a97
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
110e2ece25d3c26bf240efca88785bd3ee7763cd1345c6cf2a0798c049b47424
|
|
| MD5 |
d57dc97b58711d0cf08e6f34d9d93d21
|
|
| BLAKE2b-256 |
8ff2d370bd68759cd8361116e5662f84c909ecce35f0cd6b23183636dc71a5e5
|