Skip to main content

Interact with GitLab API

Project description

https://travis-ci.org/python-gitlab/python-gitlab.svg?branch=master https://badge.fury.io/py/python-gitlab.svg https://readthedocs.org/projects/python-gitlab/badge/?version=latest https://img.shields.io/pypi/pyversions/python-gitlab.svg https://img.shields.io/gitter/room/python-gitlab/Lobby.svg https://img.shields.io/badge/code%20style-black-000000.svg

Python GitLab

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).

Installation

Requirements

python-gitlab depends on:

Install with pip

pip install python-gitlab

Using the python-gitlab docker image

How to build

docker build -t python-gitlab:TAG .

How to use

docker run -it --rm -e GITLAB_PRIVATE_TOKEN=<your token> -v /path/to/python-gitlab.cfg:/python-gitlab.cfg python-gitlab <command> ...

or run it directly from the upstream image:

docker run -it --rm -e GITLAB_PRIVATE_TOKEN=<your token> -v /path/to/python-gitlab.cfg:/python-gitlab.cfg registry.gitlab.com/python-gitlab/python-gitlab:v1.8.0 <command> ...

To change the GitLab URL, use -e GITLAB_URL=<your url>

Bring your own config file: docker run -it --rm -v /path/to/python-gitlab.cfg:/python-gitlab.cfg -e GITLAB_CFG=/python-gitlab.cfg python-gitlab <command> ...

Bug reports

Please report bugs and feature requests at https://github.com/python-gitlab/python-gitlab/issues.

Documentation

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

Build the docs

You can build the documentation using sphinx:

pip install sphinx
python setup.py build_sphinx

Contributing

You can contribute to the project in multiple ways:

  • Write documentation

  • Implement features

  • Fix bugs

  • Add unit and functional tests

  • Everything else you can think of

We enforce commit messages to be formatted using the conventional-changelog. This leads to more readable messages that are easy to follow when looking through the project history.

Please provide your patches as github pull requests. Thanks!

Code-Style

We use black as code formatter, so you’ll need to format your changes using the black code formatter.

Just run

cd python-gitlab/
pip3 install --user black
black .

to format your code according to our guidelines.

Running unit tests

Before submitting a pull request make sure that the tests still succeed with your change. Unit tests and functional tests run using the travis service and passing tests are mandatory to get merge requests accepted.

You need to install tox to run unit tests and documentation builds locally:

# run the unit tests for python 2/3, and the pep8 tests:
tox

# run tests in one environment only:
tox -epy35

# build the documentation, the result will be generated in
# build/sphinx/html/
tox -edocs

Running integration tests

Two scripts run tests against a running gitlab instance, using a docker container. You need to have docker installed on the test machine, and your user must have the correct permissions to talk to the docker daemon.

To run these tests:

# run the CLI tests:
./tools/functional_tests.sh

# run the python API tests:
./tools/py_functional_tests.sh

You can also build a test environment using the following command:

./tools/build_test_env.sh

A freshly configured gitlab container will be available at http://localhost:8080 (login root / password 5iveL!fe). A configuration for python-gitlab will be written in /tmp/python-gitlab.cfg.

To cleanup the environment delete the container:

docker rm -f gitlab-test

Project details


Release history Release notifications | RSS feed

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-1.12.1.tar.gz (120.2 kB view details)

Uploaded Source

Built Distribution

python_gitlab-1.12.1-py3-none-any.whl (68.6 kB view details)

Uploaded Python 3

File details

Details for the file python-gitlab-1.12.1.tar.gz.

File metadata

  • Download URL: python-gitlab-1.12.1.tar.gz
  • Upload date:
  • Size: 120.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for python-gitlab-1.12.1.tar.gz
Algorithm Hash digest
SHA256 984e110c1f76fd939652c30ce3101267a7064e34417cbfc4687e6106d4db54ec
MD5 4e798abfb1517efebe6d95c1c841b815
BLAKE2b-256 bcfd388a79a4c8df811175eeea7c3ca353a96846f8bf7fb7c5b7d857e751cebe

See more details on using hashes here.

File details

Details for the file python_gitlab-1.12.1-py3-none-any.whl.

File metadata

  • Download URL: python_gitlab-1.12.1-py3-none-any.whl
  • Upload date:
  • Size: 68.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for python_gitlab-1.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 13563e271f3d319146a4fd68b2d061eb81d6a21997fc8ab8c0302d9c2f62ba40
MD5 8346318cd322066193911ffc7e5e6a30
BLAKE2b-256 bc002598a1fede83be364d45f6d048bb68ffa71c4e126f987a64cee365ee8e4b

See more details on using hashes here.

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