Skip to main content

shea

License: MIT Python 3.9+ Code style: Ruff

Shea (short for "shell apps") is a collection of modern Python-based shell utilities with colorful emoji icons. Currently includes:

  • pyls - Directory listing with tree view (ls/tree replacement)
  • pytop - Process viewer sorted by CPU/memory usage (top/htop alternative)
  • pydisk - Disk usage viewer with interactive directory explorer (df/ncdu alternative)

Installation

You can install with pip (PEP 517 using Flit under the hood):

pip install .

Or directly with Flit:

python -m pip install flit
flit install

Usage

Directory Listing (pyls)

List current directory (folders first, then files):

shea

Tree view:

shea -t

Specify a path and a maximum depth:

shea --tree --depth 2 ~/projects

Process Viewer (pytop)

Launch the interactive process monitor:

pytop

Features:

  • 🔥 Real-time CPU usage per core with visual bars
  • 💾 Memory and swap usage with color-coded horizontal charts
  • ⚙️ System information (uptime, process count)
  • 📊 Process table showing top 50 processes by CPU usage
  • 🔄 Click column headers to sort (CPU/MEM/TIME always descending, others toggle)
  • Interactive TUI interface with live updates

Controls:

  • q - Quit
  • r - Force refresh
  • Arrow keys - Navigate process list
  • Click column headers - Sort by that column

Disk Usage Viewer (pydisk)

Show all disk partitions with usage information:

pydisk

Launch interactive directory explorer for a specific path:

pydisk /
pydisk /home
pydisk ~/projects

Features:

  • 💾 Disk usage table showing all partitions with visual bars
  • 📊 Color-coded usage percentages (green/cyan/yellow/red)
  • 🔍 Interactive TUI to explore directory sizes
  • 📁 Navigate directories to see which files/folders use the most space
  • ⚡ Recursively calculates folder sizes

Interactive mode controls:

  • q - Quit
  • r - Refresh current directory
  • u or Esc - Go up one directory level
  • Click/Enter on a row - Enter directory or show file info
  • Arrow keys - Navigate file/folder list

Output examples

Listing:

$ pyls
📁 dist
📁 shea
📁 tests
📄 pyproject.toml
📄 README.md

Tree view:

$ pyls -t
.
├── 📁 dist
│   ├── 📄 pyl-0.1.0-py3-none-any.whl
│   ├── 📄 pyl-0.1.0.tar.gz
│   ├── 📄 qwe-0.1.0-py3-none-any.whl
│   ├── 📄 qwe-0.1.0.tar.gz
│   ├── 📄 shea-0.1.0-py3-none-any.whl
│   ├── 📄 shea-0.1.0.tar.gz
│   ├── 📄 shea-0.1.1-py3-none-any.whl
│   └── 📄 shea-0.1.1.tar.gz
├── 📁 shea
│   ├── 📁 __pycache__
│   │   ├── 📄 __init__.cpython-310.pyc
│   │   ├── 📄 __main__.cpython-310.pyc
│   │   ├── 📄 _version.cpython-310.pyc
│   │   ├── 📄 main.cpython-310.pyc
│   │   └── 📄 pyls.cpython-310.pyc
│   ├── 📄 __init__.py
│   ├── 📄 __main__.py
│   ├── 📄 _version.py
│   └── 📄 pyls.py
├── 📁 tests
│   ├── 📁 __pycache__
│   │   └── 📄 test_basic.cpython-310-pytest-8.3.2.pyc
│   └── 📄 test_basic.py
├── 📄 pyproject.toml
└── 📄 README.md

License

MIT

Development

This project uses pre-commit with Ruff for linting and formatting.

To set up pre-commit hooks:

python -m pip install pre-commit
pre-commit install

Run on all files once:

pre-commit run -a

Ruff lint will auto-fix simple issues on commit; if it makes changes, the commit will fail so you can review and re-commit.

Metadata

Release files for shea 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shea 0.3.0
File Size Uploaded
shea-0.3.0.tar.gz 14.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for shea 0.3.0
File Interpreter ABI Platform
shea-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.8 kB

Release files / shea-0.3.0.tar.gz

Download URL shea-0.3.0.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
30cacfdf5005278532691c0741e21dbd99985021e1bd282649595ef67d116bb4
BLAKE2b-256 checksum
How to use checksums
0a5e67da9484e850cedf9aec85e5d00a13916d6b4f225e00851370a66a0ea9cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.3

Release files / shea-0.3.0-py3-none-any.whl

Download URL shea-0.3.0-py3-none-any.whl
Size 13.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cefb261ecb21096a4593972a8c9aebd6affe79a86824ae48dbb1eadfef6c7887
BLAKE2b-256 checksum
How to use checksums
922bc06b1d67e3eea71e22ec01d4d2a31b919b566cfdec0cd1bf6d0d85bf3bf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.3

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page