A colorful CLI that visualizes system, environment, and PATH info with Rich.
Project description
pathetic
A colorful, fast CLI to inspect your current environment: locations, system info, PATH with source tracing, Python environment, grouped environment variables, filesystem usage, and Git status. Built with Rich for delightful output and Click for a clean command-line UX.
Highlights
- Visual, readable output with sensible defaults
- Responsive columnar layout that adapts to terminal width
- PATH entries traced back to their source file (.zshrc, /etc/paths, etc.)
- Shows the user's active Python, not the tool's isolated environment
- All environment variables grouped by category (Shell, Python, Git, Cloud, etc.)
Requirements
- Python >= 3.11
Installation
Install locally (editable) while developing:
uv pip install -e .
Or install globally with uv tool:
uv tool install pathetic-cli
This exposes the ptc command.
Quickstart
Run the default, concise snapshot:
ptc
Show everything:
ptc --all
Machine-readable output:
ptc --json --all > snapshot.json
Focused views:
ptc --env # All env vars, grouped by category
ptc --fs # File system stats
ptc --env-key HOME --env-key EDITOR # Specific env vars only
ptc --all --limit 50 # More PATH/sys.path rows
CLI Options
ptc [OPTIONS]
Options:
-h, --help Show this message and exit
--version Show version
--all Show all sections
--env Show environment variables (grouped)
--fs Show file system stats
--limit INTEGER Max rows for PATH and sys.path (default: 25)
--json Output as JSON (machine-readable)
--env-key TEXT Show specific env vars (repeatable)
What the tool shows
- Location: Current working directory and home directory
- System: Platform, user's active Python version, architecture, executable
- Environment detection: Active virtualenv/conda/uv info shown prominently
- PATH: First N entries with source file origin and executable count (configurable with
--limit) - Python Path: First N entries of
sys.path(shown with--all) - Environment: All variables grouped by category (
--envor--all) - File System: Total, free, used, and usage percent (
--fsor--all) - Git: Branch, short commit, working state (auto-detected when in a repo)
Design philosophy
- Defaults show the most useful, actionable info quickly
- Additional details are opt-in via flags
- Clean typography and responsive layout with Rich
- PATH source tracing helps debug environment issues
Development
Install dev dependencies and run locally:
uv pip install -e .
ptc --all
Project entry point is defined in pyproject.toml:
[project.scripts]
ptc = "pathetic:main"
Troubleshooting
- Command not found after install: ensure your Python user base or pipx bin directory is on PATH.
- Missing colors or odd glyphs: use a modern terminal with UTF-8 and TrueColor support.
License
MIT. See LICENSE.
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
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 pathetic_cli-0.3.1.tar.gz.
File metadata
- Download URL: pathetic_cli-0.3.1.tar.gz
- Upload date:
- Size: 43.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fba6c83a07edda0d00a669d6b4565c8593a99c8c13fb1b17dc3265a58d1d3e22
|
|
| MD5 |
32b277a959e9ac823780223b51eac752
|
|
| BLAKE2b-256 |
76f71196f13404b388adb97b4a6fb9f3ec1b60411c70300413244d37e4d46357
|
Provenance
The following attestation bundles were made for pathetic_cli-0.3.1.tar.gz:
Publisher:
release.yml on lancereinsmith/pathetic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pathetic_cli-0.3.1.tar.gz -
Subject digest:
fba6c83a07edda0d00a669d6b4565c8593a99c8c13fb1b17dc3265a58d1d3e22 - Sigstore transparency entry: 1244408222
- Sigstore integration time:
-
Permalink:
lancereinsmith/pathetic@7c1e45eadf29f23dfd89c37bae3319ba0845b26b -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/lancereinsmith
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7c1e45eadf29f23dfd89c37bae3319ba0845b26b -
Trigger Event:
push
-
Statement type:
File details
Details for the file pathetic_cli-0.3.1-py3-none-any.whl.
File metadata
- Download URL: pathetic_cli-0.3.1-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c743f721ca3737c83ed8ad3d268c7602c05e1987da311b3f61c6063bb0dcb350
|
|
| MD5 |
b20db4a76eda9d74f177d90670737ded
|
|
| BLAKE2b-256 |
0cb65eeba6cfe16851db87b9dc4286e0ee908994c6525e4746832fdae4537555
|
Provenance
The following attestation bundles were made for pathetic_cli-0.3.1-py3-none-any.whl:
Publisher:
release.yml on lancereinsmith/pathetic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pathetic_cli-0.3.1-py3-none-any.whl -
Subject digest:
c743f721ca3737c83ed8ad3d268c7602c05e1987da311b3f61c6063bb0dcb350 - Sigstore transparency entry: 1244408257
- Sigstore integration time:
-
Permalink:
lancereinsmith/pathetic@7c1e45eadf29f23dfd89c37bae3319ba0845b26b -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/lancereinsmith
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7c1e45eadf29f23dfd89c37bae3319ba0845b26b -
Trigger Event:
push
-
Statement type: