Skip to main content

Client library for interacting with the Gerrit JSONRPC API

Project description

python-gerrit is a Python interface to Gerrit, a code review system for Git.

DISCLAIMER: Gerrit does not have an official API. This library is a product of reverse engineering.

APIs exposed

There are three APIs available in python-gerrit:

  • rpc - basic JSON-RPC API over HTTP; it has the same functionality as the standard Gerrit client.

  • db - raw access to the database. It understandably needs more privileges than simple HTTP.

  • raw - direct access to the filesystem. It needs local access to the Gerrit installation.

Most use cases can be satisfied by JSON-RPC alone. There are some glaring ommisions in the functionality, though, so for things such as project creation you will need to use db/raw. Check documentation of corresponding modules for more.


python-gerrit comes with a test suite. In order to run it, you need to have gerrit installed locally, with full access to its raw directory and database. Testing is managed by py.test You can run it by executing:


Tests expects the following environment variables to be set:

  • GERRIT_PATH - path to a Gerrit installation

  • GERRIT_DB - sqlalchemy URL to the Gerrit database

  • GERRIT_GIT - URL to the Gerrit git repository

  • GERRIT_URL - URL to the Gerrit HTTP server

  • GERRIT_USERNAME - a user the suite with interact as

Check that the provided user has all the privileges required to submit, vote, comment, and so on.

Also, be sure your Gerrit installation has authentication method set to DEVELOPMENT_BECOME_ANY_ACCOUNT.


Brian Waldon Mike Hordecki

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gerrit-0.0.2.tar.gz (7.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page