From Fedora Project Wiki

Hawkey, a new Package Management API


Hawkey is a package management library built on top of libsolv.


Current status

  • Targeted release: Fedora 18
  • Last updated: 2012-06-04
  • Percentage of completion: 40%

Detailed Description

hawkey is a library allowing clients to query and resolve dependnecies of RPM packages based on the current state of RPMDB and yum repositories. While a superset of the functionality itself is available in yum, the new API promises to bring unification, fewer restrictions on clients' implementation language (yum API is in Python) and eventually performance improvements.

Benefit to Fedora

  • easier bindings to other languages than Python
  • concise, clear package management API
  • better performance (through utilizing libsolv)

The potential API consumer:

  • dnf (the next generation yum)
  • release engineering tools
  • PackageKit
  • graphical package management tools
  • Anaconda


Including libsolv in Fedora

This is a library for fast dependencies resolving created and maintained by SUSE. The rpms are in Fedora already, we will need to rebase the package as needed.

hawkey package

Including documentation for the API.

How To Test

Unit tests for both C and Python bindings are included.

User Experience

None visible (hawkey is a new library).


Hawkey is a new library and will be only depnded on by DNF (the new package manger based off yum).

Contingency Plan

None necessary, yum and it's API will still be available.


Release Notes

Comments and Discussion