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