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.

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.1.tar.gz (24.2 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.1-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: startype23-1.1.1.tar.gz
  • Upload date:
  • Size: 24.2 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.1.1.tar.gz
Algorithm Hash digest
SHA256 6ffec8e4ec28dd35d5a58369e035c4bde8f0d77388a98917319b8c57558dfd89
MD5 00e12d4ce52bba97bb6b149f16a4fb9d
BLAKE2b-256 030df1fc9ac14ee6088bf880ccc6a40934183c6a09521d75fe74a3155ec7c337

See more details on using hashes here.

File details

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

File metadata

  • Download URL: startype23-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 23.8 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 673d65c3e94c69e77af0ef70a893b6aea4719a4693cf7042d24d476ec61cbac1
MD5 bbe64491ca8c8ad283a35acf739c31d8
BLAKE2b-256 d62da54c8e18086a12450e448597b0a7f1c8dce8efc83bf4d22a90e8973ba998

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