1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # build-system
8 setuptools,
9 setuptools-scm,
10
11 # dependencies
12 redis,
13
14 # tests
15 pygments,
16 pytest-cov-stub,
17 pytestCheckHook,
18}:
19
20buildPythonPackage rec {
21 pname = "portalocker";
22 version = "3.1.1";
23 pyproject = true;
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-7CD23aKtnOifo5ml8x9PFJX1FZWPDLfKZUPO97tadJ4=";
30 };
31
32 nativeBuildInputs = [
33 setuptools
34 setuptools-scm
35 ];
36
37 propagatedBuildInputs = [ redis ];
38
39 nativeCheckInputs = [
40 pygments
41 pytest-cov-stub
42 pytestCheckHook
43 ];
44
45 pythonImportsCheck = [ "portalocker" ];
46
47 meta = with lib; {
48 changelog = "https://github.com/wolph/portalocker/releases/tag/v${version}";
49 description = "Library to provide an easy API to file locking";
50 homepage = "https://github.com/WoLpH/portalocker";
51 license = licenses.psfl;
52 maintainers = [ ];
53 };
54}