1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 setuptools,
7 requests,
8 polling,
9 deprecated,
10 pytestCheckHook,
11 mock,
12 httpretty,
13}:
14
15buildPythonPackage rec {
16 pname = "linode-api";
17 version = "5.35.0";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 # Sources from Pypi exclude test fixtures
23 src = fetchFromGitHub {
24 owner = "linode";
25 repo = "python-linode-api";
26 tag = "v${version}";
27 hash = "sha256-Ak92yjTDi8ql+Trzl4IRAn+DucRZsdHSK75RjFECcCY=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 requests
34 polling
35 deprecated
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 mock
41 httpretty
42 ];
43
44 disabledTestPaths = [
45 # needs api token
46 "test/integration"
47 ];
48
49 pythonImportsCheck = [ "linode_api4" ];
50
51 meta = {
52 description = "Python library for the Linode API v4";
53 homepage = "https://github.com/linode/python-linode-api";
54 changelog = "https://github.com/linode/linode_api4-python/releases/tag/${src.tag}";
55 license = lib.licenses.bsd3;
56 maintainers = with lib.maintainers; [ glenns ];
57 };
58}