Skip to main content

A CLI tool that analyzes a directory and displays a colourful chart of file type distribution.

Project description

StarType23

A CLI tool that walks a directory, counts files by extension, and renders a colourful file-type distribution chart in the terminal.

Features

  • Scans recursively and groups files by extension (count and disk size).
  • Renders a stacked proportion bar + a table with coloured mini bars.
  • Two modes: by count (startype23) or by size (startype23 --size).
  • Built-in lookup table of ~500 extensions with file-type category and one-line description (--explain .py).
  • Column visibility toggles: --filetype, --count, --percentage, --distribution.
  • Skips .git, .venv, node_modules, __pycache__, and similar by default.
  • Flat-design pastel colour palette (no neon).

Usage

uv run startype23                         scan current directory
uv run startype23 --size                  scan by disk size
uv run startype23 --path /some/dir        scan a specific directory
uv run startype23 --include-hidden        include dotfiles
uv run startype23 --explain .py           look up an extension
uv run startype23 --explain py            leading dot is optional
uv run startype23 --exclude build         skip extra directories
uv run startype23 --count --percentage    show only selected columns
Flag Description
--path Directory to scan (default: .)
--exclude / -x Extra directory names to skip (repeatable)
--include-hidden Include dotfiles in the scan
--no-include-hidden Exclude dotfiles (default)
--explain / -e Look up an extension and show its description
--size / -s Size distribution instead of count
--filetype / -ft Show the File Type column
--count / -c Show the Count column
--percentage / -p Show the Percentage column
--distribution / -d Show the Distribution bar column

When no column flags are given, all columns show. When one or more are given, only those (plus Extension) are shown.

Tools used to build this project

  • Python 3.10+ -- language runtime.
  • uv -- package and project manager (install, build, publish).
  • click -- CLI framework (arguments, options, help).
  • rich -- terminal styling (tables, colours, text formatting).
  • hatchling -- build backend (PEP 517).
  • Wikipedia's List of filename extensions -- source for the ~500-entry extension lookup table.

Publishing

uv build
uv publish --token pypi-xxxxxxxx

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

startype23-1.0.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

startype23-1.0.0-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file startype23-1.0.0.tar.gz.

File metadata

  • Download URL: startype23-1.0.0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for startype23-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d2518b1e73d7076d2889cd88cbb21db6aa788e0d1ab095a4b58d24f8f7610b4e
MD5 4cbcc49815ba1c083302e80452a56bc6
BLAKE2b-256 698ef3c60c8a2106829edc59f1627b4b0091d1e35e23cd4c8c74742b7f1112c7

See more details on using hashes here.

File details

Details for the file startype23-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: startype23-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for startype23-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0e7b2b330c9b977de53d637e169a4b618b1f33eb32967a1b7d785b21ac31611
MD5 21018ba9e054f95b3fb59c63a727eb44
BLAKE2b-256 42862d541dfd98ae9cb0ee1d57ee25dafb6a3999603f7c3264aa7ffa44b2e8c7

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