1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pycognito
5, pytestCheckHook
6, pythonOlder
7, requests
8, setuptools
9, setuptools-scm
10}:
11
12buildPythonPackage rec {
13 pname = "pyschlage";
14 version = "2023.11.0";
15 format = "pyproject";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "dknowles2";
21 repo = "pyschlage";
22 rev = "refs/tags/${version}";
23 hash = "sha256-18kVXGpklfvCGOy2jBOG9BAAzE0ZVQ3LONjiwo9YnjU=";
24 };
25
26 SETUPTOOLS_SCM_PRETEND_VERSION = version;
27
28 nativeBuildInputs = [
29 setuptools
30 setuptools-scm
31 ];
32
33 propagatedBuildInputs = [
34 pycognito
35 requests
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 ];
41
42 pythonImportsCheck = [
43 "pyschlage"
44 ];
45
46 meta = with lib; {
47 description = "Library for interacting with Schlage Encode WiFi locks";
48 homepage = "https://github.com/dknowles2/pyschlage";
49 changelog = "https://github.com/dknowles2/pyschlage/releases/tag/${version}";
50 license = licenses.asl20;
51 maintainers = with maintainers; [ fab ];
52 };
53}