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 (or st23)              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.1.0.tar.gz (23.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.1.0-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: startype23-1.1.0.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for startype23-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f98171802f09a16ca1e2d40b39354cacb96ec4829e2ce79cff0b8bd4f519bbf8
MD5 ac1f8bc339a87c48c9c5e9161598b320
BLAKE2b-256 ab10a8b6572dfc034140be2ab1fbe3479457169f1a6ae34f08cd38acea834599

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for startype23-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26de4e8f1d5349c64fde435db6d24082036cdc031fc857b41b414307bdc71cc9
MD5 b08ee73fb1c0acfeac28872eb966b3cc
BLAKE2b-256 caa1e8fb1b032fcaaaacd8acc6fbccc908f6341600dbc9f209dba6425bc4ab9e

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