Interact with GitLab API
Project description
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:latest <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
Built Distribution
File details
Details for the file python-gitlab-2.1.2.tar.gz
.
File metadata
- Download URL: python-gitlab-2.1.2.tar.gz
- Upload date:
- Size: 129.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71445d7444fe3354bf90a52d6249f91c9e572a8ef6c143afd9de25f50c92d499 |
|
MD5 | 24b3ce204e3efc8436b44edba25882dd |
|
BLAKE2b-256 | f43b29cb22fe675a28b954ab2576731899db45605fbacdf5d6449b8e024d2c1e |
File details
Details for the file python_gitlab-2.1.2-py3-none-any.whl
.
File metadata
- Download URL: python_gitlab-2.1.2-py3-none-any.whl
- Upload date:
- Size: 73.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81c443de9f1ca6103b08c7233e162a96fecf8dac9ef45e708b08b23e1209ff43 |
|
MD5 | a9c353c805c8c93d92425334abc5e504 |
|
BLAKE2b-256 | 0d5aff312d70a3eb7545aacf882d336503ad1cb74649bdeede888c6e0af7d101 |