Skip to main content

Directory summary tool with powerful grouping, and recursive searching

Project description

📂 lsum-enhanced

PyPI version Python Version License: MIT Code Style: Black lsum-enhanced (List Summary Enhanced) is a high-performance, visually rich CLI directory analysis tool that transforms standard file listings into actionable intelligence.

⚡ TL;DR

lsum-enhanced is ls on steroids. It doesn't just list files; it categorizes, counts, and visualizes your directory's distribution by MIME types, extensions, and metadata—all while respecting your .gitignore rules.


🤔 Why lsum-enhanced?

Standard tools like ls or tree are great for finding files, but they fail to answer higher-level questions about your workspace. lsum-enhanced was built to fill that gap:

  • Audit Your Assets: Instantly see how many gigabytes of images vs. text files you have.
  • Visualize Structure: Group files into elegant, color-coded panels based on their actual content (MIME) rather than just extensions.
  • Clean Analysis: Use the --gitignore flag to strip out node_modules, build artifacts, and logs, focusing only on the code that matters.
  • Recursive Intelligence: Understand the composition of entire project trees in a single, formatted view.

[!NOTE] lsum-enhanced is under active development


🚀 Installation

Pre-Requisites

This package depends on python-magic, which requires libmagic.

If not installed already, install it using -

Linux
sudo apt install libmagic1
macOS
brew install libmagic

Install it

Globally (outwith a venv), install with pipx
pipx install lsum-enhanced
Existing venv
# existing venv
source path/to/existing/venv/bin/activate
pip install lsum-enhanced

# new venv
python -m path/to/new
source path/to/new/bin/activate
pip install lsum-enhanced

🛠️ Building From Source

Perfect for developers who want the latest features:

# Clone the repository
git clone https://github.com/DMcCallum83/lsum-enhanced.git
cd lsum-enhanced

# Install dependencies
sudo apt install libmagic1
# or for macOS
brew install libmagic
# then build
uv build

# test your dev build
uv run lse .

🛠️ Usage Examples

1. Basic Listing

A clean, tabular view of your current directory:

lse

2. Group by MIME Type (with Icons)

See your files grouped by their actual content type (e.g., Image, Video, Text):

lse --group
lse -g

3. Respect Gitignore

Exclude build artifacts and ignored files for a "clean" summary:

lse . --gitignore --count
lse . -gi -c

4. Recursive Extension Summary

Analyze every file in your project tree, grouped by extension:

lse . --recursive --group-extension
lse . -r -ge

5. Advanced Sorting & Filtering

Find all .txt files and sort them by size:

lse --filter-extension .txt --sort size
lse -fe .txt -s size

⌨️ CLI Options

Option Shorthand Description
--count -c Count files/directories in groups or total.
--group -g Group files by MIME type.
--group-extension -ge Group files by file extension.
--gitignore -gi Respect .gitignore rules (excludes ignored files).
--recursive -r Perform operations on all subdirectories.
--sort -s Sort by name, size, or date.
--filter -f Filter by a specific MIME type (e.g., image/jpeg).
--filter-text -ft Filter filename.

📄 License

Distributed under the MIT License. See LICENSE for more information.


Built with ❤️ using Python and Rich.

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

lsum_enhanced-1.0.2.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

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

lsum_enhanced-1.0.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file lsum_enhanced-1.0.2.tar.gz.

File metadata

  • Download URL: lsum_enhanced-1.0.2.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for lsum_enhanced-1.0.2.tar.gz
Algorithm Hash digest
SHA256 03e3da67f22c4756d2a657a04693e5cb135d77048907734e53ef9713f9a9f24d
MD5 39c28910282623a25f9f54649851e6b7
BLAKE2b-256 7a4b3fdc5e48e9f3a4c480965887d17c8b6373287dde984a3e82cc8308d0c506

See more details on using hashes here.

File details

Details for the file lsum_enhanced-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: lsum_enhanced-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for lsum_enhanced-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3b81a5f382d7a044bc65cff9b4f826c7caac1ab7a50315204e5973978e67163b
MD5 1d7a269e0340c20fc8fa5dd6b9c18c6a
BLAKE2b-256 5a67f845b2fbe52d81b47d170ed39efb01a30c594a9b254f87b8ca4a34a68950

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