1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitLab
5, poetry-core
6, dramatiq
7, pendulum
8, setuptools
9, pytest-mock
10, pytestCheckHook
11}:
12
13buildPythonPackage rec {
14 pname = "periodiq";
15 version = "0.12.1";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.5";
19
20 src = fetchFromGitLab {
21 owner = "bersace";
22 repo = "periodiq";
23 rev = "v${version}";
24 hash = "sha256-Ar0n+Wi1OUtRdhVxrU7Nz4je8ylaHgPZbXE0a30hzU0=";
25 };
26
27 postPatch = ''
28 substituteInPlace pyproject.toml \
29 --replace 'poetry>=0.12' 'poetry-core' \
30 --replace 'poetry.masonry.api' 'poetry.core.masonry.api'
31 '';
32
33 nativeBuildInputs = [
34 poetry-core
35 ];
36
37 propagatedBuildInputs = [
38 dramatiq
39 pendulum
40 setuptools
41 ];
42
43 nativeCheckInputs = [ pytestCheckHook pytest-mock ];
44
45 pytestFlagsArray = [ "tests/unit" ];
46
47 pythonImportsCheck = [ "periodiq" ];
48
49 meta = with lib; {
50 description = "Simple Scheduler for Dramatiq Task Queue";
51 homepage = "https://pypi.org/project/periodiq/";
52 license = licenses.lgpl3Only;
53 maintainers = with maintainers; [ traxys ];
54 };
55}