nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitLab,
5 poetry-core,
6 dramatiq,
7 pendulum,
8 setuptools,
9 pytest-mock,
10 pytestCheckHook,
11 versionCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "periodiq";
16 version = "0.13.0";
17 pyproject = true;
18
19 src = fetchFromGitLab {
20 owner = "bersace";
21 repo = "periodiq";
22 tag = "v${version}";
23 hash = "sha256-Pyh/T3/HGPYyaXjyM0wkQ1V7p5ibqxE1Q62QwCIJ8To=";
24 };
25
26 postPatch = ''
27 substituteInPlace pyproject.toml \
28 --replace-fail 'poetry>=0.12' 'poetry-core' \
29 --replace-fail 'poetry.masonry.api' 'poetry.core.masonry.api'
30 '';
31
32 pythonRelaxDeps = [ "dramatiq" ];
33
34 nativeBuildInputs = [ poetry-core ];
35
36 propagatedBuildInputs = [
37 dramatiq
38 pendulum
39 setuptools
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 pytest-mock
45 versionCheckHook
46 ];
47
48 enabledTestPaths = [ "tests/unit" ];
49
50 pythonImportsCheck = [ "periodiq" ];
51
52 meta = {
53 description = "Simple Scheduler for Dramatiq Task Queue";
54 mainProgram = "periodiq";
55 homepage = "https://pypi.org/project/periodiq/";
56 license = lib.licenses.lgpl3Only;
57 maintainers = with lib.maintainers; [ traxys ];
58 };
59}