GithubHelp home page GithubHelp logo

gbraad / pyapi-gitlab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pyapi-gitlab/pyapi-gitlab

0.0 3.0 0.0 586 KB

pyapi-gitlab is a python wrapper for the Gitlab API.

License: Apache License 2.0

Python 96.93% Shell 3.07%

pyapi-gitlab's Introduction

Looking for contributors

Unfortunately I dont have enough time to keep up with the API random changes from Gitlab, nor with their ability to break the API every minor release. I transfered the library into its own organization, if you are interested in maintaining the lib, just drop me a line and Ill add you to the org. Thanks!

pyapi-gitlab

pyapi-gitlab is a python wrapper for the Gitlab API.

Build Status Coverage Status PyPI PyPi downloads Requirements Status License Docs

Requirements

  • requests

Naming convention

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.

Installation

pip install pyapi-gitlab

pyapi-gitlab supports python version 2.6, 2.7, 3.3 and 3.4

Versions tested

Gitlab version Status
7.9.X 1
7.8.X ✔️
7.7.X ✔️
7.6.X ✔️
7.5.X ✔️
7.4.X ✔️
7.3.X ✔️
7.2.X ✔️
7.1.X 2
7.0.X 3
  1. 3 out of 17 tests failing: Seems that create snippet wall note now returns true/false instead of the created snippet. Snippet creating now does not return the created snippet. And move project does not return a dict either.
  2. Label creation is not supported on this version.
  3. Contributors endpoint seems to not exists in this version. Label creation is not supported on this version.

Changelog

7.8.5

  • Use requests.json() instead of decoding everything (@satreix)
  • Add getmergerequestchanges (@bor-sh)
  • Add getmilestoneissues (@JonathonReinhart)
  • Add editproject (@nelg)
  • Add editgroupmember (@)
  • Fix hook metadata creation #137 (@jzelinskie)
  • Fix addprojectmember (@btall)
  • Fix Raise exception instead of returing it in creategroup (@brenard)

7.8.4

  • Just a bumped version, now that its tested and fully supports Gitlab versions up to 7.8

7.5.4

  • Change license to Apache 2.0
  • getproject now accepts a namespace/projectname as well like the gitlab api

7.5.3

  • New function wrapper getall to get all results from any function that provides pagination [Anirudh Dutt]
  • Remove pagination params from getdeploykeys, getbranches and getsshkeys as they dont support it [Anirudh Dutt]
  • Add oAuth tokens to the login method [Ken Cochrane]
  • You can now add the type of hook when creating it [tonicbupt]
  • Allow Project Issues to be filtered by passing kwargs [Nick Whyte]
  • Update docs [Itxaka Serrano]

7.5.2

  • Support for the full Gitlab 7.5 API
  • Fix python 2.6 compatibility
  • All methods have documentation (Inside the library only, the docs are lagging a bit behind).
  • New fork api that allows to actually fork a project instead of doing fork relations
  • New label methods (getlabel, createlabel, editlabel, deletelabel)
  • All get* methods that return more than one item support pagination. Check page and per_page args. Default to first page and 20 items per page.
  • BREAKING CHANGE: Old sudo arg in methods to execute as other user is gone. Now there is a method setsudo(user_id/user_username) which will setup the header, so all the subsequent API calls will be done as that user. To get back to your user just do a setsudo() and the sudo parameter will be cleared
  • BREAKING CHANGE: Some methods were returning True or False instead of the object created. Now all the methods in which there is something returning from the server is returned as a dictionary/list of dictionaries to the user
  • BREAKING CHANGE: Some methods now use kwargs for the optional parameters so the code is more easy and readable. Methods affected: createproject, createprojectuser, createmilestone, editmilestone, updatemergerequest
  • BREAKING CHANGE: Project wallnotes does not exist anymore, seems that they have been moved to project snippets (getsnippets, getsnippet, createsnippet, deletesnippet)
  • BREAKING CHANGE: Removed getreadme method as its not part of the gitlab api, nor was it ever.
  • BREAKING CHANGE: Old methods that started with list* are not get*. This is done in order to have a proper naming convention instead of having mixed listsomething and then getsomething. The actual
  • BREAKING CHANGE: Old methods with new names: getownprojects -> getprojectsowned, getallprojects -> getprojectsall

Examples/Documentation

Check the docs at readthedocs.org

License

pyapi-gitlab is licensed under the Apache License 2.0. Check the LICENSE file.

Built with PyCharm

Thanks to Jetbrains for giving me an Open Source license for PyCharm, it has helped making development much faster!

Pycharm

pyapi-gitlab's People

Contributors

itxaka avatar tobias-reese avatar samrocketman avatar ssbarnea avatar burstaholic avatar b-sh avatar aneroid avatar jzelinskie avatar nickw444 avatar tenzer avatar tonicmuroq avatar adamisrael avatar brenard avatar arruda avatar jonathonreinhart avatar lovasb avatar dan-blanchard avatar nelg avatar ianunruh avatar jwreeder avatar kencochrane avatar kurocon avatar waghanza avatar the-glu avatar nickcraver avatar steveej avatar satreix avatar alexei04 avatar asmacdo avatar dieterplex avatar

Watchers

Gerard Braad avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.