1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, setuptools-scm
6, pytestCheckHook
7, pytest-asyncio
8, pytest-tornado
9, pytestcov
10, sqlalchemy
11, tornado
12, twisted
13, mock
14, gevent
15, six
16, pytz
17, tzlocal
18, funcsigs
19, setuptools
20, pythonOlder
21}:
22
23buildPythonPackage rec {
24 pname = "APScheduler";
25 version = "3.7.0";
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 sha256 = "1cab7f2521e107d07127b042155b632b7a1cd5e02c34be5a28ff62f77c900c6a";
31 };
32
33 buildInputs = [
34 setuptools-scm
35 ];
36
37 checkInputs = [
38 pytest-asyncio
39 pytest-tornado
40 pytestCheckHook
41 pytestcov
42 sqlalchemy
43 tornado
44 twisted
45 mock
46 gevent
47 ];
48
49 propagatedBuildInputs = [
50 six
51 pytz
52 tzlocal
53 funcsigs
54 setuptools
55 ];
56
57 disabledTests = lib.optionals stdenv.isDarwin [
58 "test_submit_job"
59 "test_max_instances"
60 ];
61
62 pythonImportsCheck = [ "apscheduler" ];
63
64 meta = with lib; {
65 description = "A Python library that lets you schedule your Python code to be executed";
66 homepage = "https://github.com/agronholm/apscheduler";
67 license = licenses.mit;
68 };
69}