1{
2 lib,
3 buildPythonPackage,
4 cryptography,
5 ddt,
6 fetchFromGitHub,
7 mock-services,
8 pytestCheckHook,
9 python-dateutil,
10 pythonOlder,
11 requests,
12 urllib3,
13 pythonRelaxDepsHook,
14 requests-toolbelt,
15 requests-unixsocket,
16 setuptools,
17 ws4py,
18}:
19
20buildPythonPackage rec {
21 pname = "pylxd";
22 version = "2.3.2";
23 pyproject = true;
24
25 disabled = pythonOlder "3.8";
26
27 src = fetchFromGitHub {
28 owner = "canonica";
29 repo = "pylxd";
30 rev = "refs/tags/${version}";
31 hash = "sha256-Q4GMz7HFpJNPYlYgLhE0a7mVCwNpdbw4XVcUGQ2gUJ0=";
32 };
33
34 pythonRelaxDeps = [ "urllib3" ];
35
36 nativeBuildInputs = [
37 pythonRelaxDepsHook
38 setuptools
39 ];
40
41 propagatedBuildInputs = [
42 cryptography
43 python-dateutil
44 requests
45 requests-toolbelt
46 requests-unixsocket
47 urllib3
48 ws4py
49 ];
50
51 nativeCheckInputs = [
52 ddt
53 mock-services
54 pytestCheckHook
55 ];
56
57 disabledTestPaths = [
58 "integration"
59 "migration"
60 ];
61
62 pythonImportsCheck = [ "pylxd" ];
63
64 meta = with lib; {
65 description = "Library for interacting with the LXD REST API";
66 homepage = "https://pylxd.readthedocs.io/";
67 changelog = "https://github.com/canonical/pylxd/releases/tag/${version}";
68 license = licenses.asl20;
69 maintainers = with maintainers; [ ];
70 };
71}