Package: fedrq
fedrqA tool for querying the Fedora and EPEL repositoriesfedrq makes it easy to query any branch of Fedora or EPEL. It uses the dnf
Python bindings and does not shell out todnf repoquery. It allows querying
for reverse dependencies, packages that contain a certain Provide or file,
subpackages of an SRPM, and package metadata.The tool doesn't seek to replace every feature ofdnf repoquery. It provides a
more user friendly interface thandnf repoqueryfor certain common tasks.(stable)(dev)Installationfedrq has a Copr repository atgotmax23/fedrqthat contains
released versions.
Development snapshots are available atgotmax23/fedrq-dev.
The RPM specfile is located in the repository root.fedrq is alsopublished to PyPIso you canpip install fedrq.When installing the package with pip, some additional system packages
are needed.The following additional system package is required for the dnf backend:python3-dnf (dnf is currently the default Fedora package manager, so this
should already be installed)The following additional system packages are required for the libdnf5 backend:python3-libdnf5The following additional system packages are always required:python3-rpmfedrq defaults to the dnf backend, but fedrq falls back to the libdnf5 backend
if the former's dependencies aren't installed.
Users can explicitly choose a backend with the--backendCLI optionor globally in thefedrq config file.Note that fedrq can only be installed for the system python interpreter.
fedrq cannot be installed in a venv unless it has--system-site-packages,
as it needs to find the aforementioned system bindings.fedrq check-config --dumprequirestomli-w.
The RPM package weakly depends onpython3-tomli-w.Container imagesfedrq now provides container images.quay.io/gotmax23/fedrq:latestis built withregistry.fedoraproject.org/fedora:latest.quay.io/gotmax23/fedrq:ubi9is built with the ubi9
image.
It includes a builtinrhel9repository configuration that can be used to
query the actual RHEL repositories when run on a system registered with
subscription-manager.Both of these images use the latest fedrq RPM packages from thegotmax23/fedrqCopr repository.$podmanrun--rm-v~/.cache/fedrq:/fedrq-cache/fedrq:zquay.io/gotmax23/fedrq\pkgsfedrq-Fnevrrfedrq-0.9.0-1.fc39.noarch rawhidefedrq-0.9.0-1.fc39.src rawhide-sourceVersioningThis project is in beta and its versioning scheme follows semver.SeeNEWS.md.Python APIThefedrq.configmodule and thefedrq.backendpackage are public API.
Everything underfedrq.cliis internal. fedrq is primarily a CLI tool and
its API only abstracts the specific dnf/libdnf5 functionality that the CLI uses. The
API's main purpose is "repoquerying", but you can use the fedrq functionality
you'd like and then access the underlying dnf Base object to preform other
tasks if needed.See theAPI Summaryon the docsite for more information. Seeapi-examplesfor some example code. As always, direct any feedback, questions, or issues to
the mailing list (seeContributing).DocumentationSee fedrq'sdocumentation sitefor rendered manpages, changelogs, and
Python API documentation.ContributingDevelopment, issue reporting, and project discussion happen onthe mailing
list(~gotmax23/fedrq@lists.sr.ht).SeeCONTRIBUTING.md.CreditsThank you to the dnf maintainers. This tool is inspired bydnf repoqueryand
uses the dnf python bindings.LicenseThis project follows the REUSE specification. In general:Code is licensed under GPL-2.0-or-later. This is the same license as dnf.Configuration and repo files in fedrq/data/ areUNLICENSEedfedrq.spec is licensed under MIT to match FedoraThe embedded repo defs in src/fedrq/data/repos from fedora-repos.rpm are MIT
licensed.
These are only used when the needed repo defs are not available in the system
config (i.e., for querying the Fedora repos from a non Fedora system).enum.StrEnumis copied from Cpython 3.11 for older Python versions. It's
~30 lines of PSF-2.0 licensed code.SPDX-License-Identifier: GPL-2.0-or-later AND Unlicense AND MIT AND PSF-2.0