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).

Installation

uv tool install startype23
# or via pip:
pip install startype23

After installation, both startype23 and st23 are available globally.

Usage

startype23 (or st23)                    scan current directory
startype23 --size                       scan by disk size
startype23 --path /some/dir             scan a specific directory
startype23 --include-hidden             include dotfiles
startype23 --explain .py                look up an extension
startype23 --explain py                 leading dot is optional
startype23 --exclude build              skip extra directories
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.2.tar.gz (24.3 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.2-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: startype23-1.1.2.tar.gz
  • Upload date:
  • Size: 24.3 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.2.tar.gz
Algorithm Hash digest
SHA256 e50f871e90f27d920eaf18f4032fe2ae33bbab6528000129c2f8d883b033161e
MD5 44963b892e235be19e3dd7950c5dc04a
BLAKE2b-256 f241b38dd7397e1348951bd790752a6a65a35416a98f45c7d45b9f1bf8a41ccb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: startype23-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 23.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 79de3eefd6c6d1348f8a0e327a52402a9d00f0cc1b2ab60e05145d22b9331d05
MD5 0d4f887d6afd1ad6b007fdb9be906e64
BLAKE2b-256 dd2162d5365fc20f79abd6fb149685f5aa9b7421653806c7d16e868dd86fe6b5

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