HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelfโ™ง 0
โ† Back to top all-time
kdeldycke
meta-package-manager
Python2020โ€“2025
kdeldycke / meta-package-manager

meta-package-manager

๐ŸŽ snapshot every package on your machine to one file, restore it on a new one

3Distinct people
11Mentions
1Explicit recommenders
627GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

๐ŸŽ snapshot every package on your machine to one file, restore it on a new one

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

I love pyproject.toml. I managed to get rid of setup.py, requirements.txt, requirements-dev.txt and MANIFEST.in, and I'm not far from having no setup.cfg soon. All others stuffโ€ฆ

kdeldycke used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7โ€“Nov 14 UTC ยท Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year11 dated mentions

Observed mentions: 2020-07-20 17:23:07 UTC to 2025-06-05 19:44:15 UTC.

012342020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repositoryโ€™s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC211
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC422
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

11 sources
> I also tried having a meta-package, which has my โ€œlist of wanted packagesโ€ as dependencies, and then remove anything no required my it. Again, I needed extra scripts and complexity on top of the package manager itself. I have something similar for my dotfiles, a list of packages, their manager and version in a TOML file: https://github.com/kdeldycke/dotfiles/blob/main/packages.tom... I then feed this to meta-package-manager[1] to install: $ mpm restore ./packages.toml [1] https://github.com/kdeldycke/meta-package-manager
In In Praise of Alpine and APK
kdeldyckeยทJul 12, 2022Submission

Show HN: Meta Package Manager, a CLI that solves Xkcd #1654

Tl;Dr: mpm implements a solution to XKCD #1654 (Universal Install Script). Now you can do: $ mpm --xkcd install <my_package> and let it figure out which package manager to use to install your package. The project is open-source: https://github.com/kdeldycke/meta-package-manager#readme This CLI has some other capabilities, like listing the duplicate packages on your system: $ mpm list --duplicates โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚ Package ID โ”‚ Manager โ”‚ Installed version โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ blah โ”‚ cargo โ”‚ 0.0.0 โ”‚ โ”‚ blah โ”‚ gem โ”‚ 0.0.2 โ”‚ โ”‚ blah โ”‚ npm โ”‚ 5.2.1 โ”‚ โ”‚ coverage โ”‚ pip โ”‚ 6.4.1 โ”‚ โ”‚ coverage โ”‚ pipx โ”‚ 6.4.1 โ”‚ โ”‚ six โ”‚ brew โ”‚ 1.16.0_2 โ”‚
Read the rest
โ”‚ six โ”‚ pip โ”‚ 1.16.0 โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ List outdated packages: $ mpm outdated โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚ ID โ”‚ Manager โ”‚ Installed version โ”‚ Latest version โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ curl โ”‚ brew โ”‚ 7.79.1 โ”‚ 7.79.1_1 โ”‚ โ”‚ git โ”‚ brew โ”‚ 2.33.0 โ”‚ 2.33.0_1 โ”‚ โ”‚ npm@8.0.0 โ”‚ npm โ”‚ 7.24.0 โ”‚ 8.0.0 โ”‚ โ”‚ pip โ”‚ pip โ”‚ 21.2.4 โ”‚ 21.3 โ”‚ โ”‚ regex โ”‚ pip โ”‚ 2021.9.30 โ”‚ 2021.10.8 โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ Or dump all installed packages to a file: $ mpm snapshot packages.toml Dumping packages from brew... Dumping packages from cask... Dumping packages from gem... Dumping packages from mas... Dumping packages from npm... Dumping packages from pip... 1109 packages total (npm: 659, brew: 229, pip: 115, gem: 49, cask: 48, mas: 9). To install it, either use: $ pipx install meta-package-manager $ pip install meta-package-manager $ python -m pip install meta-package-manager $ brew untap hasnep/tap && brew install hasnep/tap/meta-package-manager $ paru -S meta-package-manager $ yay -S meta-package-manager Or if you are meta: $ mpm install meta-package-manager See install doc at: https://kdeldycke.github.io/meta-package-manager/install.html
6 points ยท Open discussion
I wrote something similar but to keep a local system up-to-date: https://github.com/kdeldycke/meta-package-manager#readme With Meta Package Manager you can aggregate the results of all package managers available on your machine: $ mpm outdated โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚ Package name โ”‚ ID โ”‚ Manager โ”‚ Installed version โ”‚ Latest version โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ curl โ”‚ curl โ”‚ brew โ”‚ 7.79.1 โ”‚ 7.79.1_1 โ”‚ โ”‚ git โ”‚ git โ”‚ brew โ”‚ 2.33.0 โ”‚ 2.33.0_1 โ”‚ โ”‚ openssl@1.1 โ”‚ openssl@1.1 โ”‚ brew โ”‚ 1.1.1l โ”‚ 1.1.1l_1 โ”‚ โ”‚ rake โ”‚ rake โ”‚ gem โ”‚ 13.0.3 โ”‚ 13.0.6 โ”‚ โ”‚ Telegram โ”‚ 7476488
Read the rest
90 โ”‚ mas โ”‚ 8.1 โ”‚ 8.1.3 โ”‚ โ”‚ npm โ”‚ npm@8.0.0 โ”‚ npm โ”‚ 7.24.0 โ”‚ 8.0.0 โ”‚ โ”‚ pip โ”‚ pip โ”‚ pip โ”‚ 21.2.4 โ”‚ 21.3 โ”‚ โ”‚ regex โ”‚ regex โ”‚ pip โ”‚ 2021.9.30 โ”‚ 2021.10.8 โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ 8 packages total (brew: 3, pip: 2, gem: 1, mas: 1, npm: 1, apm: 0, cask: 0, composer: 0). Bonus point: it solves XKCD #1654 (Universal Install Script). (edit: formatting)
In Show HN: Updatecli โ€“ What if Dependabot and Ansible had a child?
kdeldyckeยทAug 6, 2020Recommendation phrase
I love pyproject.toml. I managed to get rid of setup.py, requirements.txt, requirements-dev.txt and MANIFEST.in, and I'm not far from having no setup.cfg soon. All others stuff (CI/CD workflows, linters, formatters, code of conduct, funding, issue and PR automation, dependency bots, ...) moved to .github. Now I have a clean and tidy Python project with a tiny 12-items root directory: https://github.com/kdeldycke/meta-package-manager
In The creeping scourge of tooling config files in project root directories

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.