Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

pypi test coverage



pkgcheck is developed alongside pkgcore and snakeoil. Running pkgcheck from git will often require both pkgcore and snakeoil from git as well.

For releases, see the required runtime dependencies.

There are also several optional runtime dependencies that add or extend check support in various ways if found on the host system including the following:

  • git: supports historical queries for git-based repos and commit-related checks
  • requests: supports various network-related checks
  • Gentoo-PerlMod-Version: supports Perl package version checks
  • tree-sitter-bash: used in checks that inspect the CST of ebuilds and eclasess. Must be language version >= 13.


Installing latest pypi release:

pip install pkgcheck

Installing from git:

pip install

Installing from a tarball:

python install


Most users will use pkgcheck on the command line via pkgcheck scan to target ebuild repos. See the docs or the man page for more information on running pkgcheck.

It's also possible to run pkgcheck natively from python. For example, to output the results for a given ebuild repo:

from pkgcheck import scan

for result in scan(['/path/to/ebuild/repo']):

This allows third party tools written in python to leverage pkgcheck's scanning functionality for purposes such as CI or VCS commit support.


A standalone test runner is integrated in; to run, just execute:

python test

In addition, a tox config is provided so the testsuite can be run in a virtualenv setup against all supported python versions. To run tests for all environments just execute tox in the root directory of a repo or unpacked tarball. Otherwise, for a specific python version execute something similar to the following:

tox -e py39