pipm
v1.0.4
Published
A Python-inspired progress bar wrapper for npm that adds visibility and personality to your package installations
Downloads
402
Maintainers
Readme
pipm
Stop staring at that awkward, infinite loading spinner. pipm is a Python-inspired wrapper for npm that actually tells you what's happening behind the scenes.
The "Is it stuck?" Problem
We've all been there: you run npm install, the spinner starts spinning, and then... nothing. For 5 minutes. You start wondering if your internet died, if your terminal crashed, or if npm is just having a mid-life crisis.
pipm turns that "silent wait" into a bit of literal fun. Instead of a vague spinner, you get a full dashboard showing you exactly what's moving under the hood.
Cool Stuff it Does
- Real Speed Monitoring: No fake "estimated" percentages. It polls your system's network adapter directly to show you exactly how many MB/s your machine is pulling.
- PIP-Style Progress Bar: High-contrast Green (done) and Red (to-go) bar.
- State-Aware Humor: Keeps you engaged with 50+ status phrases. You'll get startup, working, and finishing jokes based on the actual stage of the install.
- Zero Bloat: Built with 100% native Node.js. No extra
node_modulesto download to make the tool work. - Flicker-Free: Custom rendering that overwrites lines instead of clearing the screen, so it doesn't blink like an old neon sign.
Installation
Note: This is a CLI tool and must be installed globally.
npm install -g pipmHow to use it
Use it exactly like you use npm. There's nothing new to learn.
# Standard install
pipm install
# Adding stuff
pipm add lodash express shadcn
# Anything else
pipm init
pipm run devHow it works (The technical bit)
pipm is a wrapper, not a replacement. When you run a command, it:
- Spawns the official
npmprocess in the background. - Forces npm into
httplog mode so we can "see" every download request. - Calculates your network bandwidth by tracking your OS's
ReceivedBytes(it works on Windows, Mac, and Linux). - Uses ANSI escape codes to redraw the UI in-place every few hundred milliseconds.
Basically, it's a personality-filled skin for the npm engine we already know and love.
Enjoy the status fun to keep you engaged while you wait! :)
