pip-save NPM Style Package Management for Python

| programming | python |

One of my favorite things about npm is how simple it makes it to manage production, testing, and development dependencies with the npm install –save command. I was browsing through the latest packages on PyPI and I came across pip-save which does basically the same thing as npm –save as a wrapper around pip.

From the Project README:

Currently its a big pain while installing new dependencies using pip. After installing the dependency, you need to figure out the version number and then manually add it to your requirements file. pip-save allows you to install/uninstall any dependecy and automatically add/remove it to/from your requirements file using one command only.
I cannot count the number of times where I have read a doc for some package and it said that installation was as simple as pip install foo. Sure, installing the package is that easy, but keeping track of versions is a whole different story.

One approach is to dump every single package into your requirements.txt with pip freeze > requirements.txt but this is troublesome because it also includes dependencies which clutter up the requirements.txt file.

What I then end up doing is finding the package on either GitHub or PyPI, figuring out what the latest version is, putting the package with the version into my requirements.txt file and then running pip install -r requirements.txt.

pip-save does exactly what it says on the tin and solves this annoying workflow in one step. It installs whatever package you want, and adds it to your requirements.txt with the version that you installed. Simple, Rustic, Yes.

Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.

Check out some more stuff to read down below.

Most popular posts this month

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

Recently

I skipped August's Recently because this summer has been relentless, mostly in the positive sense. July and August were filled with bike rides, 5K races, friends in town, life changes and logistics.For a friend's birthday, we rode the rickety Coney Island...

via macwright.com September 1, 2026

The Swiss Cheese model, pt. 3

After two more serious posts in this series, I wanted to stop somewhere a bit more lighthearted and inconsequential. “Here’a a fun thing you can try,” begins this 13-minute video from Retro Game Mechanics Explained: The premise of the parlor trick the vide...

via Unsung August 31, 2026

My Experience Has Nuance, Yours Is a Data Point

Eric Bailey has a fun little post about how we need more than a few icons to express the nuance of our shared human experience. For example, he suggests Netflix provide some feedback buttons to indicate the kinds of experiences we all share consuming and r...

via Jim Nielsen’s Blog August 31, 2026

Generated by openring