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