1{
2 lib,
3 argcomplete,
4 buildPythonPackage,
5 fetchPypi,
6 gql,
7 pythonOlder,
8 pyyaml,
9 requests-toolbelt,
10 requests,
11 setuptools,
12}:
13
14buildPythonPackage rec {
15 pname = "python-gitlab";
16 version = "6.3.0";
17 pyproject = true;
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchPypi {
22 pname = "python_gitlab";
23 inherit version;
24 hash = "sha256-PXdklWlIlJoqOv8geObpOl7+otsKKVZrXhQgkbzAdao=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 requests
31 requests-toolbelt
32 ];
33
34 optional-dependencies = {
35 autocompletion = [ argcomplete ];
36 graphql = [ gql ] ++ gql.optional-dependencies.httpx;
37 yaml = [ pyyaml ];
38 };
39
40 # Tests rely on a gitlab instance on a local docker setup
41 doCheck = false;
42
43 pythonImportsCheck = [ "gitlab" ];
44
45 meta = with lib; {
46 description = "Interact with GitLab API";
47 homepage = "https://github.com/python-gitlab/python-gitlab";
48 changelog = "https://github.com/python-gitlab/python-gitlab/blob/v${version}/CHANGELOG.md";
49 license = licenses.lgpl3Only;
50 maintainers = with maintainers; [ nyanloutre ];
51 mainProgram = "gitlab";
52 };
53}