Skip to main content

portzup 🔌

PyPI GitHub Stars

Because lsof -i :3000 is not a personality.

A Interactive terminal UI that shows every process running on your machine's network ports — live, searchable, and killable in one keypress. No more googling commands. No more chaining lsof | grep | kill. Just open portzup and see everything.

Demo


Install

pip install portzup

Then run:

portzup

That's it. Zero to running in under 30 seconds.


Why portzup?

You know this moment:

Error: listen EADDRINUSE: address already in use :::3000

Then the ritual:

  1. Google "how to kill port 3000"
  2. Find a Stack Overflow answer
  3. Run lsof -ti:3000 | xargs kill -9
  4. Forget it by next week
  5. Google it again

portzup ends this loop.


Features

Live port table Every open port, process name, PID, protocol, status — updated every 2 seconds
Fuzzy search Press / and type to filter by port number, process name, or status
Kill with one key Press k to terminate the selected process (with confirmation)
Process detail pane Press i to see full command, user, local/remote addresses
Sort Press s to cycle between sort modes: port → PID → process name
Auto-refresh Table stays live — or press r to force an instant refresh
Cross-platform Linux ✅ macOS ✅ Windows (v1.1)

Keybindings

Key Action
↑ / ↓ Navigate the port list
/ Open fuzzy search
Escape Clear search / close detail pane
k Kill selected process
i Toggle process detail pane
r Force refresh
s Cycle sort (port → PID → name)
q Quit
? Show help

Status colours

Colour Status
🟢 Green LISTEN
🔵 Cyan ESTABLISHED
🟡 Yellow TIME_WAIT
🟣 Magenta CLOSE_WAIT
🔴 Red FIN_WAIT

Platform support

Platform Status
Linux ✅ Fully supported
macOS ✅ Fully supported
Windows ✅ Fully supported (run as Administrator)

Stack

Language Python 3.10+
TUI Textual
System data psutil
Packaging pip / PyPI

Contributing

PRs are welcome! The project is MIT licensed.

portzup/
├── portzup/
│   ├── main.py          # Textual App — entry point
│   ├── ui/
│   │   ├── table.py     # Port table widget
│   │   ├── detail.py    # Process detail pane
│   │   └── footer.py    # Status bar
│   ├── core/
│   │   ├── ports.py     # psutil port fetching
│   │   ├── killer.py    # Safe process kill
│   │   └── models.py    # PortEntry dataclass
│   └── config.py
├── tests/
├── pyproject.toml
└── README.md

Run tests:

pip install pytest
pytest tests/

License

MIT — open, contribution-friendly, no friction.


Built with Python + Textual. Inspired by the daily frustration of every developer who has ever googled "how to kill port 3000".

Metadata

Release files for portzup 1.0.4

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

Source distribution (sdist)

Source distribution for portzup 1.0.4
File Size Uploaded
portzup-1.0.4.tar.gz 213.4 kB Details

Built distribution (wheel)

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

Total release size: 226.1 kB

Release files / portzup-1.0.4.tar.gz

Download URL portzup-1.0.4.tar.gz
Size 213.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7fdf83ac5eea0a036690aa3905312db6f564f11079bfd25a4eedaaffaed896dc
BLAKE2b-256 checksum
How to use checksums
299fa1d54159eeb24faee69236daacb5892c3026b1476d4cd77c288e5277fd6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / portzup-1.0.4-py3-none-any.whl

Download URL portzup-1.0.4-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c7121fdcc4b98033488a54110d4166e2afada2fe4109bdf32d4db1d890de992
BLAKE2b-256 checksum
How to use checksums
c3ee1b19bbae7b87b7e3c337638be4e71854badac52c509e9baec377e0d9f909
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

1.0.4 This release

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