python-gitlab


Namepython-gitlab JSON
Version 4.4.0 PyPI version JSON
download
home_page
SummaryA python wrapper for the GitLab API
upload_time2024-01-15 08:15:40
maintainer
docs_urlNone
author
requires_python>=3.8.0
licenseLGPL-3.0-or-later
keywords api client gitlab python python-gitlab wrapper
VCS
bugtrack_url
requirements requests requests-toolbelt typing-extensions
Travis-CI No Travis.
coveralls test coverage No coveralls.
            python-gitlab
=============

.. image:: https://github.com/python-gitlab/python-gitlab/workflows/Test/badge.svg
   :target: https://github.com/python-gitlab/python-gitlab/actions

.. image:: https://badge.fury.io/py/python-gitlab.svg
   :target: https://badge.fury.io/py/python-gitlab

.. image:: https://readthedocs.org/projects/python-gitlab/badge/?version=latest
   :target: https://python-gitlab.readthedocs.org/en/latest/?badge=latest

.. image:: https://codecov.io/github/python-gitlab/python-gitlab/coverage.svg?branch=main
    :target: https://codecov.io/github/python-gitlab/python-gitlab?branch=main

.. image:: https://img.shields.io/pypi/pyversions/python-gitlab.svg
   :target: https://pypi.python.org/pypi/python-gitlab

.. image:: https://img.shields.io/gitter/room/python-gitlab/Lobby.svg
   :target: https://gitter.im/python-gitlab/Lobby

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/python/black

.. image:: https://img.shields.io/github/license/python-gitlab/python-gitlab
   :target: https://github.com/python-gitlab/python-gitlab/blob/main/COPYING

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

.. _features:

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.
* 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 4.0.0, ``python-gitlab`` is compatible with Python 3.8+.

Use ``pip`` to install the latest stable version of ``python-gitlab``:

.. code-block:: console

   $ pip install --upgrade python-gitlab

The current development version is available on both `GitHub.com
<https://github.com/python-gitlab/python-gitlab>`__ and `GitLab.com
<https://gitlab.com/python-gitlab/python-gitlab>`__, and can be
installed directly from the git repository:

.. code-block:: console

   $ pip install git+https://github.com/python-gitlab/python-gitlab.git

From GitLab:

.. code-block:: console

   $ pip install git+https://gitlab.com/python-gitlab/python-gitlab.git

Using the docker images
-----------------------

``python-gitlab`` provides Docker images in two flavors, based on the Alpine and Debian slim
python `base images <https://hub.docker.com/_/python>`__. 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:

* ``registry.gitlab.com/python-gitlab/python-gitlab:latest`` (latest, alpine alias)
* ``registry.gitlab.com/python-gitlab/python-gitlab:alpine`` (latest alpine)
* ``registry.gitlab.com/python-gitlab/python-gitlab:slim-bullseye`` (latest slim-bullseye)
* ``registry.gitlab.com/python-gitlab/python-gitlab:v3.2.0`` (alpine alias)
* ``registry.gitlab.com/python-gitlab/python-gitlab:v3.2.0-alpine``
* ``registry.gitlab.com/python-gitlab/python-gitlab:v3.2.0-slim-bullseye``

You can run the Docker image directly from the GitLab registry:

.. code-block:: console

   $ docker run -it --rm registry.gitlab.com/python-gitlab/python-gitlab:latest <command> ...

For example, to get a project on GitLab.com (without authentication):

.. code-block:: console

   $ docker run -it --rm registry.gitlab.com/python-gitlab/python-gitlab:latest project get --id gitlab-org/gitlab

You can also mount your own config file:

.. code-block:: console

   $ docker run -it --rm -v /path/to/python-gitlab.cfg:/etc/python-gitlab.cfg registry.gitlab.com/python-gitlab/python-gitlab:latest <command> ...

Building the image
~~~~~~~~~~~~~~~~~~

To build your own image from this repository, run:

.. code-block:: console

   $ docker build -t python-gitlab:latest .

Run your own image:

.. code-block:: console

   $ docker run -it --rm python-gitlab:latest <command> ...

Build a Debian slim-based image:

.. code-block:: console

   $ docker build -t python-gitlab:latest --build-arg PYTHON_FLAVOR=slim-bullseye .

Bug reports
-----------

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

Gitter Community Chat
---------------------

We have a `gitter <https://gitter.im/python-gitlab/Lobby>`_ community chat
available at https://gitter.im/python-gitlab/Lobby, which you can also
directly access via the Open Chat button below.

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
<http://python-gitlab.readthedocs.org/en/stable/>`_.

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 <https://github.com/python-gitlab/python-gitlab/blob/main/CONTRIBUTING.rst>`_.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "python-gitlab",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8.0",
    "maintainer_email": "John Villalovos <john@sodarock.com>, Max Wittig <max.wittig@siemens.com>, Nejc Habjan <nejc.habjan@siemens.com>, Roger Meier <r.meier@siemens.com>",
    "keywords": "api,client,gitlab,python,python-gitlab,wrapper",
    "author": "",
    "author_email": "Gauvain Pocentek <gauvain@pocentek.net>",
    "download_url": "https://files.pythonhosted.org/packages/8d/6d/934b832b55ca42740b078fe18aa83680ac7d196802feee39f9b87195a156/python-gitlab-4.4.0.tar.gz",
    "platform": null,
    "description": "python-gitlab\n=============\n\n.. image:: https://github.com/python-gitlab/python-gitlab/workflows/Test/badge.svg\n   :target: https://github.com/python-gitlab/python-gitlab/actions\n\n.. image:: https://badge.fury.io/py/python-gitlab.svg\n   :target: https://badge.fury.io/py/python-gitlab\n\n.. image:: https://readthedocs.org/projects/python-gitlab/badge/?version=latest\n   :target: https://python-gitlab.readthedocs.org/en/latest/?badge=latest\n\n.. image:: https://codecov.io/github/python-gitlab/python-gitlab/coverage.svg?branch=main\n    :target: https://codecov.io/github/python-gitlab/python-gitlab?branch=main\n\n.. image:: https://img.shields.io/pypi/pyversions/python-gitlab.svg\n   :target: https://pypi.python.org/pypi/python-gitlab\n\n.. image:: https://img.shields.io/gitter/room/python-gitlab/Lobby.svg\n   :target: https://gitter.im/python-gitlab/Lobby\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/python/black\n\n.. image:: https://img.shields.io/github/license/python-gitlab/python-gitlab\n   :target: https://github.com/python-gitlab/python-gitlab/blob/main/COPYING\n\n``python-gitlab`` is a Python package providing access to the GitLab server API.\n\nIt supports the v4 API of GitLab, and provides a CLI tool (``gitlab``).\n\n.. _features:\n\nFeatures\n--------\n\n``python-gitlab`` enables you to:\n\n* write Pythonic code to manage your GitLab resources.\n* pass arbitrary parameters to the GitLab API. Simply follow GitLab's docs\n  on what parameters are available.\n* access arbitrary endpoints as soon as they are available on GitLab, by using\n  lower-level API methods.\n* use persistent requests sessions for authentication, proxy and certificate handling.\n* handle smart retries on network and server errors, with rate-limit handling.\n* flexible handling of paginated responses, including lazy iterators.\n* automatically URL-encode paths and parameters where needed.\n* automatically convert some complex data structures to API attribute types\n* merge configuration from config files, environment variables and arguments.\n\nInstallation\n------------\n\nAs of 4.0.0, ``python-gitlab`` is compatible with Python 3.8+.\n\nUse ``pip`` to install the latest stable version of ``python-gitlab``:\n\n.. code-block:: console\n\n   $ pip install --upgrade python-gitlab\n\nThe current development version is available on both `GitHub.com\n<https://github.com/python-gitlab/python-gitlab>`__ and `GitLab.com\n<https://gitlab.com/python-gitlab/python-gitlab>`__, and can be\ninstalled directly from the git repository:\n\n.. code-block:: console\n\n   $ pip install git+https://github.com/python-gitlab/python-gitlab.git\n\nFrom GitLab:\n\n.. code-block:: console\n\n   $ pip install git+https://gitlab.com/python-gitlab/python-gitlab.git\n\nUsing the docker images\n-----------------------\n\n``python-gitlab`` provides Docker images in two flavors, based on the Alpine and Debian slim\npython `base images <https://hub.docker.com/_/python>`__. The default tag is ``alpine``,\nbut you can explicitly use the alias (see below).\n\nThe alpine image is smaller, but you may want to use the Debian-based slim tag (currently \nbased on ``-slim-bullseye``) if you are running into issues or need a more complete environment\nwith a bash shell, such as in CI jobs.\n\nThe images are published on the GitLab registry, for example:\n\n* ``registry.gitlab.com/python-gitlab/python-gitlab:latest`` (latest, alpine alias)\n* ``registry.gitlab.com/python-gitlab/python-gitlab:alpine`` (latest alpine)\n* ``registry.gitlab.com/python-gitlab/python-gitlab:slim-bullseye`` (latest slim-bullseye)\n* ``registry.gitlab.com/python-gitlab/python-gitlab:v3.2.0`` (alpine alias)\n* ``registry.gitlab.com/python-gitlab/python-gitlab:v3.2.0-alpine``\n* ``registry.gitlab.com/python-gitlab/python-gitlab:v3.2.0-slim-bullseye``\n\nYou can run the Docker image directly from the GitLab registry:\n\n.. code-block:: console\n\n   $ docker run -it --rm registry.gitlab.com/python-gitlab/python-gitlab:latest <command> ...\n\nFor example, to get a project on GitLab.com (without authentication):\n\n.. code-block:: console\n\n   $ docker run -it --rm registry.gitlab.com/python-gitlab/python-gitlab:latest project get --id gitlab-org/gitlab\n\nYou can also mount your own config file:\n\n.. code-block:: console\n\n   $ docker run -it --rm -v /path/to/python-gitlab.cfg:/etc/python-gitlab.cfg registry.gitlab.com/python-gitlab/python-gitlab:latest <command> ...\n\nBuilding the image\n~~~~~~~~~~~~~~~~~~\n\nTo build your own image from this repository, run:\n\n.. code-block:: console\n\n   $ docker build -t python-gitlab:latest .\n\nRun your own image:\n\n.. code-block:: console\n\n   $ docker run -it --rm python-gitlab:latest <command> ...\n\nBuild a Debian slim-based image:\n\n.. code-block:: console\n\n   $ docker build -t python-gitlab:latest --build-arg PYTHON_FLAVOR=slim-bullseye .\n\nBug reports\n-----------\n\nPlease report bugs and feature requests at\nhttps://github.com/python-gitlab/python-gitlab/issues.\n\nGitter Community Chat\n---------------------\n\nWe have a `gitter <https://gitter.im/python-gitlab/Lobby>`_ community chat\navailable at https://gitter.im/python-gitlab/Lobby, which you can also\ndirectly access via the Open Chat button below.\n\nIf you have a simple question, the community might be able to help already,\nwithout you opening an issue. If you regularly use python-gitlab, we also\nencourage you to join and participate. You might discover new ideas and\nuse cases yourself!\n\nDocumentation\n-------------\n\nThe full documentation for CLI and API is available on `readthedocs\n<http://python-gitlab.readthedocs.org/en/stable/>`_.\n\nBuild the docs\n~~~~~~~~~~~~~~\n\nWe use ``tox`` to manage our environment and build the documentation::\n\n    pip install tox\n    tox -e docs\n\nContributing\n------------\n\nFor guidelines for contributing to ``python-gitlab``, refer to `CONTRIBUTING.rst <https://github.com/python-gitlab/python-gitlab/blob/main/CONTRIBUTING.rst>`_.\n",
    "bugtrack_url": null,
    "license": "LGPL-3.0-or-later",
    "summary": "A python wrapper for the GitLab API",
    "version": "4.4.0",
    "project_urls": {
        "Changelog": "https://github.com/python-gitlab/python-gitlab/blob/main/CHANGELOG.md",
        "Documentation": "https://python-gitlab.readthedocs.io",
        "Homepage": "https://github.com/python-gitlab/python-gitlab",
        "Source": "https://github.com/python-gitlab/python-gitlab"
    },
    "split_keywords": [
        "api",
        "client",
        "gitlab",
        "python",
        "python-gitlab",
        "wrapper"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "70f382ec52f96bbcccd10a6ce8f145115d08463c54a374f31beb278aa16d8b25",
                "md5": "9422da45757e19243bf95bf8937f66b7",
                "sha256": "cdad39d016f59664cdaad0f878f194c79cb4357630776caa9a92c1da25c8d986"
            },
            "downloads": -1,
            "filename": "python_gitlab-4.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9422da45757e19243bf95bf8937f66b7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8.0",
            "size": 138975,
            "upload_time": "2024-01-15T08:15:38",
            "upload_time_iso_8601": "2024-01-15T08:15:38.490169Z",
            "url": "https://files.pythonhosted.org/packages/70/f3/82ec52f96bbcccd10a6ce8f145115d08463c54a374f31beb278aa16d8b25/python_gitlab-4.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d6d934b832b55ca42740b078fe18aa83680ac7d196802feee39f9b87195a156",
                "md5": "5f5b255a38c772c1f8df98671969d17a",
                "sha256": "1d117bf7b433ae8255e5d74e72c660978f50ee85eb62248c9fb52ef43c3e3814"
            },
            "downloads": -1,
            "filename": "python-gitlab-4.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5f5b255a38c772c1f8df98671969d17a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8.0",
            "size": 457636,
            "upload_time": "2024-01-15T08:15:40",
            "upload_time_iso_8601": "2024-01-15T08:15:40.899810Z",
            "url": "https://files.pythonhosted.org/packages/8d/6d/934b832b55ca42740b078fe18aa83680ac7d196802feee39f9b87195a156/python-gitlab-4.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-15 08:15:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "python-gitlab",
    "github_project": "python-gitlab",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    "==",
                    "4.11.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "python-gitlab"
}
        
Elapsed time: 0.31338s