pyapi-gitlab is a python wrapper for the Gitlab API.
If you are interested in contributing to this wrapper we ask that all pull requests have an open issue that and they be referenced. We also ask that you submit unit tests for your changes to make sure there are no regressions.
We are currently working on getting pyapi-gitlab to 101% coverage in both unittests and integration tests. Well the integration testing is not fully flushed out yet the unittests are so we ask that all new pull requests have unittests with them.
If you wish to setup your system for development you will need to install the test requirements and we ask that you consider docker and docker-compose for integration testing.
To install the test requirements you will need to run the following command
pip install -Ur test-requirements.txt. This will install both the
requirements.txtand the
test-requirements.txt.
To run the test simply run
./covfrom the project root directory.
To review the cover open the
index.htmlfile in the
coverage_html_report.
To run the integration test run the commands below. This will build the docker containers and then start them. The containers will shutdown after the tests finish.
::
docker-compose -f docker/v93/docker-compose.yml build docker-compose -f docker/v93/docker-compose.yml up --abort-on-container-exit
pyapi-gitlab is a python wrapper for the
Gitlab API__.
|Build Status| |Coverage Status| |PyPI| |PyPi downloads| |Requirements Status| |License| |Docs|
pyapi-gitlab has its own versioning in which the 2 first numbers indicates the Gitlab version that its supported for that library. a 7.5 version means that its compatible with the Gitlab 7.5 and lower API versions.
.. code:: bash
pip install pyapi-gitlab
pyapi-gitlab supports python version 2.7, 3.3, 3.4, 3.5, 3.5-dev, 3.6, 3.6-dev, 3.7-dev, and the nightly build
+------------------+------------------------+ | Gitlab version | Status | +==================+========================+ | 9.1.X | :x:1 | +------------------+------------------------+ | 7.9.X | :x:2 | +------------------+------------------------+ | 7.8.X | :heavycheckmark:0 | +------------------+------------------------+ | 7.7.X | :heavycheckmark:0 | +------------------+------------------------+ | 7.6.X | :heavycheckmark:0 | +------------------+------------------------+ | 7.5.X | :heavycheckmark:0 | +------------------+------------------------+ | 7.4.X | :heavycheckmark:0 | +------------------+------------------------+ | 7.3.X | :heavycheckmark:0 | +------------------+------------------------+ | 7.2.X | :heavycheckmark:0 | +------------------+------------------------+ | 7.1.X | :x:3 | +------------------+------------------------+ | 7.0.X | :x:4 | +------------------+------------------------+
requests.json()instead of decoding everything (@satreix)
getallto get all results from any function that provides pagination [Anirudh Dutt]
getdeploykeys,
getbranchesand
getsshkeysas they don't support it [Anirudh Dutt]
Check the docs at
readthedocs.org__
pyapi-gitlab is licensed under the Apache License 2.0. Check the LICENSE file.
Thanks to Jetbrains for giving me an Open Source license for PyCharm, it has helped making development much faster!
|Pycharm|
.. |Build Status| image:: https://travis-ci.org/pyapi-gitlab/pyapi-gitlab.svg?branch=develop :target: https://travis-ci.org/pyapi-gitlab/pyapi-gitlab .. |Coverage Status| image:: https://codecov.io/gh/pyapi-gitlab/pyapi-gitlab/branch/develop/graph/badge.svg :target: https://codecov.io/gh/pyapi-gitlab/pyapi-gitlab .. |PyPI| image:: https://img.shields.io/pypi/v/pyapi-gitlab.svg :target: https://pypi.python.org/pypi/pyapi-gitlab .. |PyPi downloads| image:: https://img.shields.io/pypi/dm/pyapi-gitlab.svg .. |Requirements Status| image:: https://requires.io/github/pyapi-gitlab/pyapi-gitlab/requirements.svg?branch=develop :target: https://requires.io/github/pyapi-gitlab/pyapi-gitlab/requirements/?branch=develop .. |License| image:: http://img.shields.io/pypi/l/pyapi-gitlab.svg :target: https://www.apache.org/licenses/LICENSE-2.0.txt .. |Docs| image:: https://readthedocs.org/projects/pyapi-gitlab/badge/?version=latest :target: http://pyapi-gitlab.readthedocs.org/ .. |Pycharm| image:: http://www.jetbrains.com/pycharm/docs/logo_pycharm.png :target: https://www.jetbrains.com/pycharm/