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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file startype23-1.1.3.tar.gz.
File metadata
- Download URL: startype23-1.1.3.tar.gz
- Upload date:
- Size: 92.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aed55b90a968f88be10e4ddcecba7099d5367a98ec6308cab1b1b6df25103f8b
|
|
| MD5 |
99bb78690f65d5bbe25ab87e3c05f2da
|
|
| BLAKE2b-256 |
26f25cd68e6bff04f660d343d28bb0df13dfafb37987c37257930d4c1db398ec
|
File details
Details for the file startype23-1.1.3-py3-none-any.whl.
File metadata
- Download URL: startype23-1.1.3-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee104c948d34ab76a27f6b494caa2801dcee4131541eb887d9c6378a8aa42247
|
|
| MD5 |
3ecae2b76ad49c1dbd4c6ca721b069a5
|
|
| BLAKE2b-256 |
390bf528c55abe2375dd98ff80e9265faf23d8672359f3063bbb30aaffa24a12
|