Deterministic ASCII file tree renderer
Project description
filemaptree
Deterministic ASCII file tree renderer.
Version
0.1.0
Purpose
filemaptree renders a deterministic ASCII file tree. It is a single-purpose tool designed for clean, stable, and reusable directory visualization.
Installation
pip install -e .
Usage
Basic usage
# Current directory
python -m filemaptree.main .
# Specific path
python -m filemaptree.main /path/to/directory
Depth control
# Show only root
python -m filemaptree.main . --depth 0
# Show root + immediate children
python -m filemaptree.main . --depth 1
# Show root + two levels
python -m filemaptree.main . --depth 2
Ignore patterns
# Ignore specific names (exact match)
python -m filemaptree.main . --ignore __pycache__,node_modules,.git
Combined options
python -m filemaptree.main /path/to/repo --depth 3 --ignore .git,node_modules
Features
- Deterministic ordering: Directories first, then files, both alphabetically (case-insensitive)
- Depth control: Limit tree depth with
--depth N - Ignore patterns: Skip specific directory/file names with
--ignore - ASCII rendering: Clean tree structure using
├──,└──,│ - Cross-platform: Stable output across operating systems
Architecture
filemaptree/
├── __init__.py # Package marker
├── main.py # Entry point
├── cli.py # Argument parsing and orchestration
├── walker.py # Directory traversal and tree building
└── renderer.py # ASCII tree rendering
Separation of concerns
- cli.py: Parses arguments, validates paths, orchestrates flow
- walker.py: Traverses filesystem, applies filters, builds Node tree
- renderer.py: Converts Node tree to ASCII output
Output example
filemaptree
├── __init__.py
├── cli.py
├── main.py
├── renderer.py
└── walker.py
Design principles
- Single-purpose tool
- Minimal and precise
- No feature creep
- Deterministic output
- Clean separation of concerns
- Production-ready code
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
filemaptree-0.1.0.tar.gz
(4.5 kB
view details)
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 filemaptree-0.1.0.tar.gz.
File metadata
- Download URL: filemaptree-0.1.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cd96c8198589bddf69b39bb4587e7ef49419d85e19ad6722c0bed27dd422f82
|
|
| MD5 |
b352029d6827709f9210b797e97f9302
|
|
| BLAKE2b-256 |
03918f6475cee910609fae9d12c2861acae0dc72ed22730780d4cdfc7226a52d
|
File details
Details for the file filemaptree-0.1.0-py3-none-any.whl.
File metadata
- Download URL: filemaptree-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f662b8c5aba0919f1766c5bc6ba9e6640a82f7c936761a7000118a896613b80c
|
|
| MD5 |
70023761390aa3e8756c1150f2f14952
|
|
| BLAKE2b-256 |
9d4dd29f567e052bae50036b93ac418d9db155889ce6e21ba21df884a1748c85
|