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