You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
python-gitlab is a Python package providing access to the GitLab APIs.
It includes a client for GitLab's v4 REST API, synchronous and asynchronous GraphQL API
clients, as well as a CLI tool (gitlab) wrapping REST API endpoints.
Features
python-gitlab enables you to:
write Pythonic code to manage your GitLab resources.
pass arbitrary parameters to the GitLab API. Simply follow GitLab's docs
on what parameters are available.
use a synchronous or asynchronous client when using the GraphQL API.
access arbitrary endpoints as soon as they are available on GitLab, by using
lower-level API methods.
use persistent requests sessions for authentication, proxy and certificate handling.
handle smart retries on network and server errors, with rate-limit handling.
flexible handling of paginated responses, including lazy iterators.
automatically URL-encode paths and parameters where needed.
automatically convert some complex data structures to API attribute types
merge configuration from config files, environment variables and arguments.
Installation
As of 5.0.0, python-gitlab is compatible with Python 3.9+.
Use pip to install the latest stable version of python-gitlab:
$ pip install --upgrade python-gitlab
The current development version is available on both GitHub.com and GitLab.com, and can be
installed directly from the git repository:
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:
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!
Documentation
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
Contributing
For guidelines for contributing to python-gitlab, refer to CONTRIBUTING.rst.