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}