Skip to main content

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


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)

Uploaded Source

Built Distribution

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

filemaptree-0.1.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

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

Hashes for filemaptree-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9cd96c8198589bddf69b39bb4587e7ef49419d85e19ad6722c0bed27dd422f82
MD5 b352029d6827709f9210b797e97f9302
BLAKE2b-256 03918f6475cee910609fae9d12c2861acae0dc72ed22730780d4cdfc7226a52d

See more details on using hashes here.

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

Hashes for filemaptree-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f662b8c5aba0919f1766c5bc6ba9e6640a82f7c936761a7000118a896613b80c
MD5 70023761390aa3e8756c1150f2f14952
BLAKE2b-256 9d4dd29f567e052bae50036b93ac418d9db155889ce6e21ba21df884a1748c85

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