Skip to main content

LSW: List Walker

LSW (List Walker) is a Python command-line utility inspired by ls that walks a directory and produces a browsable HTML tree, a plain-text tree, or structured exports. It can filter results by name patterns, regular expressions, directory scope, file extension, size, modification date, and traversal depth.

Public package: lsw-directory-walker on PyPI.

Documentation

This repository includes a Retype documentation site. Run retype start from the repository root to preview it, or retype build to generate static files in .retype/.

Documentation deployment is automated by .github/workflows/retype-pages.yml. Set the repository's GitHub Pages source to GitHub Actions.

Future releases can be prepared with .\scripts\release.ps1, which bumps the version, runs checks, builds the package, pushes the release commit, and creates the GitHub Release that triggers PyPI publishing.

Requirements

  • Python 3.8 or newer is recommended.
  • Installing the package installs Flet so the GUI is available immediately.
  • On first run, LSW creates editable user defaults, presets, and .lswignore under %APPDATA%\lsw on Windows.
  • HTML analytics are rendered entirely by the generated report, with no external JavaScript dependency or network connection required.

Install as a command

Install the public package:

py -m pip install lsw-directory-walker

For development, install the current checkout with py -m pip install ..

After installation, use LSW from any directory:

lsw
lsw --gui

The command remains CLI-first. Running lsw does not open a window; use lsw --gui for the graphical launcher.

Quick start

From the directory containing lsw.py:

python lsw.py --path .

To open the modern desktop launcher:

lsw --gui

This writes tree_output.html and opens it in the default browser. To generate a text tree without opening a browser:

python lsw.py --path . --type txt --out tree.txt --no-browser

To export a filtered inventory:

python lsw.py --path . --type csv --ext .py,.json --ignore node_modules --out inventory.csv

Important behavior notes

  • Hidden entries are skipped by the scan functions because names beginning with . are filtered out. The show_hidden config value is currently not consumed.
  • --parallel, --no-parallel, and --workers are parsed, but the current execution path scans synchronously.
  • The theme config value is loaded but the generated HTML starts in dark mode; the report's own theme button persists the user's browser choice in localStorage.
  • .lswignore in the scanned directory takes precedence, followed by the current working directory, the file beside lsw.py, and finally the packaged default in the Python environment.
  • Existing files in %APPDATA%\lsw are never overwritten by first-run initialization.
  • CLI values override preset values only when the parsed CLI value is not None; argparse defaults can therefore remain in place instead of being replaced by a preset.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lsw_directory_walker-0.1.1.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

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

lsw_directory_walker-0.1.1-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file lsw_directory_walker-0.1.1.tar.gz.

File metadata

  • Download URL: lsw_directory_walker-0.1.1.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for lsw_directory_walker-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0ded4ebcaccf0adad5f7faafb5a967c3766895d270aafe1d09897d70e1cf5f31
MD5 0b5394f06594411f0400767998c7e62a
BLAKE2b-256 7b234af7ba930195bfdc106423fbe32e72d72f39f298f073f12423e03104a8a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for lsw_directory_walker-0.1.1.tar.gz:

Publisher: publish-pypi.yml on FinickySpider/lsw-directory-walker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lsw_directory_walker-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for lsw_directory_walker-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6a3ae26493012d29fb86df89d26e46992b030af87c31eb4bec1bb5c61764ef52
MD5 0b7d94169167b89570166259b08c712a
BLAKE2b-256 7007c3ee55fbe7ef78a67ac64ca83213a6750e3106c6b9b20bd7a0b1cd030768

See more details on using hashes here.

Provenance

The following attestation bundles were made for lsw_directory_walker-0.1.1-py3-none-any.whl:

Publisher: publish-pypi.yml on FinickySpider/lsw-directory-walker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page