REPOLOGY(1)

πŸ“¦ version 1.9.0, in alpine 3.24

πŸ¦‹ repology β€” your CLI bestie for Repology.org (REPOLOGY(1))

okay so bestie, this page is the manual for repology, and if you've ever wanted to yell at your terminal "which repo has what version of this package" β€” this is the girl for you πŸ’…


✨ SYNOPSIS ✨

repology [options] [package ...]

literally just tack on whatever options and packages you want, no cap 🫢


πŸ’– DESCRIPTION πŸ’–

repology is a utility that retrieves package information from Repology.org. it's giving "one command to query them all" and honestly I'm obsessed 🌈

By default, repology selects an appropriate repository based on your operating system:

Alpine alpine_edge
Debian debian_unstable
Fedora fedora_rawhide
FreeBSD freebsd
Gentoo gentoo
macOS homebrew
NetBSD pkgsrc_current
OpenBSD openbsd
OpenIndiana openindiana
Ubuntu ubuntu_<releaseYear>_<releaseMonth>
Windows chocolatey

All other users will need to specify their repository with the --repo flag. yes, you have to be the main character and pick your own repo, sorry bestie 😭

repology returns information in the following format:

Port category/port name
Package version
Latest version
Maintainer email address

Output is sorted by port category, then port name. so tidy, so organized, we stan 🌸

ngl, here's a real one: as per the API documentation, repology returns up to 200 items in a single API call. so don't come for her when you only get 200 back, that's just the vibe check the API does πŸ’€

The options are as follows:


πŸŽ€ OPTIONS πŸŽ€

  • --repo REPO β€” override repository selection with REPO. your fave? your call, bestie πŸ‘‘
  • --begin PROJECT β€” get up to 200 projects starting with PROJECT.
  • --end PROJECT β€” get up to 200 projects ending with PROJECT.
  • --search NAME β€” project name substring to look for πŸ”
  • --maintainer EMAIL β€” return projects maintained by specified EMAIL.
  • --category NAME β€” return projects in specified category.
  • --inrepo REPO β€” return projects present in specified REPO. If this option is not issued, REPO will be set to the value of --repo or the auto-detected repository if the --repo option is also not issued. (she does the thinking for you, icon behavior ✨)
  • --notinrepo REPO β€” return projects absent in specified REPO.
  • --repos NUMBER β€” return projects present in specified NUMBER of repositories. And check it: for all options that take a NUMBER argument, exact values and open/closed ranges are allowed, e.g., 1, 5-, -3, 2-7. ranges are so aesthetic πŸ’œ
  • --families NUMBER β€” return projects present in specified NUMBER of repository families.
  • --repos_newest NUMBER β€” return projects which are up to date in the specified NUMBER of repositories.
  • --families_newest NUMBER β€” return projects which are up to date in the specified NUMBER of repository families.
  • --newest β€” return only packages marked newest. fresh out the box πŸ“
  • --outdated β€” return only packages marked outdated. the flop era packages 😭
  • --problematic β€” return only packages marked problematic. chaos, but make it queryable πŸ’€
  • --sort_package β€” sort output by package name instead of port category/port name, and prepend output with package name.
  • --all β€” display package information for all known repositories in the following format:
Repository
Package name
Package version
Latest version
  • --version β€” print version information and exit.
  • --help β€” print help information and exit. always the safest text to send 🫢

🌈 THE COLOR LORE 🌈

Package version is colored based on its status. the colors are as follows β€” it's literally a mood ring for your packages:

  • Green β€” the package is up to date. slay, ate, no notes πŸ’š
  • Red β€” the package is outdated. not her best era ❀️
  • Cyan β€” the package is either a development version, unique to this repo, or a rolling release. mysterious, iconic πŸ’™
  • Yellow β€” the package is a legacy version. grandma core, respectfully πŸ’›
  • Magenta β€” the package has no known versioning scheme. she's unpredictable and we love that πŸ’œ
  • Blue β€” the package version is incorrect, untrusted, or otherwise ignored. don't trust her, bestie πŸ’™

πŸ’€ EXIT STATUS πŸ’€

The repology utility exits 0 on success, and >0 if an error occurs. basic but essential, periodt.


🌸 EXAMPLES 🌸

Get information on the Digital Mars D compiler from the auto-detected repository:

repology dmd

Get information on the Digital Mars D compiler from all repositories:

repology --all dmd

Get 200 items from pkgsrc:

repology --repo pkgsrc

Get information about both Chrome and Firefox from FreeBSD ports:

repology --repo freebsd chromium firefox

Get up to 200 packages maintained by ports@openbsd.org, starting with coreutils:

repology --maintainer ports@openbsd.org --begin coreutils

🫢 SEE ALSO 🫢

The repology API documentation can be found at https://repology.org/api/v1 β€” go read it, iykyk πŸ“–


πŸ‘‘ AUTHORS πŸ‘‘

repology was written by Brian Callahan <bcallah@openbsd.org>. king behavior, we thank him for his service πŸŽ€


πŸ™ˆ CAVEATS πŸ™ˆ

Not all repositories may contain all information. so if a field comes back empty, it's not you, it's the repo, fr fr πŸ’…


πŸ’– that's the whole page bestie, go forth and query πŸ’–

this gem is from the Debian edition, dated January 5, 2025 β€” and that's the vibe check, you're all caught up πŸ¦‹βœ¨

πŸ“¦ where this page comes from