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 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 │…
What it does
In the maker’s words, at launch
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 │ │ 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 │ │ [email protected] │ 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
Does the same job
all alternatives →- DDDCPM – Docker Compose Package Manager2020 · ▲59
Hey y'all, I've been using docker compose a lot in my local network, and managing setup between machines is a bit of a pain in the ass for me. I wanted an easy way to share complex configurations. At the moment most docker compose package management is done by adding a docker-compose.yml to your repo, adding a bunch of setup instructions, and hoping they are well followed. This didn't feel like a smart way to go about it to me. I wanted to create a way to create a complex package, say a series of related or linked services, and provide some meaningful way to have users install it. That's why…

- TRThe reverse package manager2011 · github.com · ▲47


More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 1d ago · opentrailpaper.com

Launched alongside, July 2022
the whole month →
- PO
Life & fun · 2022 · justine.lol
- PO
Dev tools · 2022 · github.com

- PP
Hello, HN - I wanted to share this puzzle game I made during my vacation. I'm rather fond of the pipes puzzle where your goal is to restore a scrambled network of connections by rotating tiles. It's usually played on a grid of squares and this all started when I decided to make a programmatic solver for that kind of puzzle. Then I realized that with some minor changes the solver could generate new puzzle instances. I thought about what kind of puzzle to make and someone suggested a hexagonal grid. Adapting the generator wasn't too hard but then I had to create a way to play this variant. So…
Life & fun · 2022 · hexapipes.vercel.app
- PD
We're building Parsnip to create a "tech tree" of cooking skills that allows anyone to level up on the building blocks of cooking knowledge while tracking their progress over time. It took us a few iterations to figure out the right product; here's the story of our latest pivot: [https://parsnip.substack.com/p/a-new-hope] The goal is to create a personalized way to learn any recipe on the Internet, then use this as a springboard to help home cooks of all levels solve the problem of repeated meal planning in a 10x better way:…
Work · 2022 · parsnip.ai