1{
2 lib,
3 argcomplete,
4 buildPythonPackage,
5 fetchFromGitHub,
6 httpx,
7 mock,
8 pytestCheckHook,
9 pythonAtLeast,
10 pythonOlder,
11 requests,
12 responses,
13 setuptools,
14 typing-extensions,
15 urllib3,
16}:
17
18buildPythonPackage rec {
19 pname = "amcrest";
20 version = "1.9.8";
21 pyproject = true;
22
23 # Still uses distutils, https://github.com/tchellomello/python-amcrest/issues/234
24 disabled = pythonOlder "3.7" || pythonAtLeast "3.12";
25
26 src = fetchFromGitHub {
27 owner = "tchellomello";
28 repo = "python-amcrest";
29 rev = "refs/tags/${version}";
30 hash = "sha256-v0jWEZo06vltEq//suGrvJ/AeeDxUG5CCFhbf03q34w=";
31 };
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 argcomplete
37 httpx
38 requests
39 urllib3
40 typing-extensions
41 ];
42
43 nativeCheckInputs = [
44 mock
45 pytestCheckHook
46 responses
47 ];
48
49 pythonImportsCheck = [ "amcrest" ];
50
51 meta = with lib; {
52 description = "Python module for Amcrest and Dahua Cameras";
53 homepage = "https://github.com/tchellomello/python-amcrest";
54 changelog = "https://github.com/tchellomello/python-amcrest/releases/tag/${version}";
55 license = licenses.gpl2Only;
56 maintainers = with maintainers; [ fab ];
57 };
58}