Skip to main content

Interact with GitLab API

Project description

python-gitlab is a Python package providing access to the GitLab server API.

It supports the v4 API of GitLab, and provides a CLI tool (gitlab).


As of 3.0.0, python-gitlab is compatible with Python 3.7+.

Use pip to install the latest stable version of python-gitlab:

$ pip install --upgrade python-gitlab

The current development version is available on both and, and can be installed directly from the git repository:

$ pip install git+

From GitLab:

$ pip install git+

Using the docker images

python-gitlab provides Docker images in two flavors, based on the Alpine and Debian slim python base images. The default tag is alpine, but you can explicitly use the alias (see below).

The alpine image is smaller, but you may want to use the Debian-based slim tag (currently based on -slim-bullseye) if you are running into issues or need a more complete environment with a bash shell, such as in CI jobs.

The images are published on the GitLab registry, for example:

  • (latest, alpine alias)
  • (latest alpine)
  • (latest slim-bullseye)
  • (alpine alias)

You can run the Docker image directly from the GitLab registry:

$ docker run -it --rm <command> ...

For example, to get a project on (without authentication):

$ docker run -it --rm project get --id gitlab-org/gitlab

You can also mount your own config file:

$ docker run -it --rm -v /path/to/python-gitlab.cfg:/etc/python-gitlab.cfg <command> ...

Building the image

To build your own image from this repository, run:

$ docker build -t python-gitlab:latest .

Run your own image:

$ docker run -it --rm python-gitlab:latest <command> ...

Build a Debian slim-based image:

$ docker build -t python-gitlab:latest --build-arg PYTHON_FLAVOR=slim-bullseye .

Bug reports

Please report bugs and feature requests at

Gitter Community Chat

We have a gitter community chat available at, which you can also directly access via the Open Chat button below.

If you have a simple question, the community might be able to help already, without you opening an issue. If you regularly use python-gitlab, we also encourage you to join and participate. You might discover new ideas and use cases yourself!


The full documentation for CLI and API is available on readthedocs.

Build the docs

We use tox to manage our environment and build the documentation:

pip install tox
tox -e docs


For guidelines for contributing to python-gitlab, refer to CONTRIBUTING.rst.

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

python-gitlab-3.8.1.tar.gz (252.1 kB view hashes)

Uploaded source

Built Distribution

python_gitlab-3.8.1-py3-none-any.whl (127.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page