dist author here. since darren0 was so kind to reference my tool, I'll just add dist is written in go, is cross platform, can handle github, gitlab, homebrew packages (with caveats), and a few others and you can create custom aliases as well. there are a few additional features in the works right now. also supports signature and checksum verification if available.
It's great to see movement in this space. The main problem in my experience is github api and throttling. It's really hard to download 40 binaries while building an image for CI/CD. Binaries themselves are CDNed, but github apis to find them are easily throttled, especially behind NAT.
Need to have some caching mechanism avoid this. Eget seems currently abandoned, maybe gah can start looking stuff in a cache.
cool. please let me know when you post, I would like to read. I'm the author of dist if that wasn't clear. Also looking for feedback on the project should you find it useful.
eget duckdb/duckdb
2 candidates found (unsure architecture): please select manually
(1) duckdb_cli-osx-universal.zip
(2) libduckdb-osx-universal.zip
Enter selection number:
Afterwards it correctly unzips. Can use cmdline flag to match artifacts
`gah` fails:
gah install duckdb/duckdb
Fetching release info for: duckdb/duckdb [latest]
Found release: v1.1.3 Bugfix Release
Downloading:
Warning: output file name has no length
curl: option -o: is badly used here
(Using curl 8.4.0 on macOS)
`dist` also fails:
dist install duckdb/duckdb
• determining latest version
• version: 1.1.3
⨯ no matching asset found, score too low
⨯ closest matching: duckdb_cli-osx-universal.zip (34) (threshold: 40)