1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 genshi,
6 gunicorn,
7 jinja2,
8 mako,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools,
12 sqlalchemy,
13 virtualenv,
14 webob,
15 webtest,
16}:
17
18buildPythonPackage rec {
19 pname = "pecan";
20 version = "1.7.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-feFb9KJgDcWEvtDyVDHf7WvyCnpbyTWkjSzlAGMzmBU=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 mako
34 setuptools
35 webob
36 ];
37
38 nativeCheckInputs = [
39 genshi
40 gunicorn
41 jinja2
42 pytestCheckHook
43 sqlalchemy
44 virtualenv
45 webtest
46 ];
47
48 pytestFlags = [
49 "--pyargs"
50 "pecan"
51 ];
52
53 pythonImportsCheck = [ "pecan" ];
54
55 meta = with lib; {
56 description = "WSGI object-dispatching web framework";
57 homepage = "https://www.pecanpy.org/";
58 changelog = "https://github.com/pecan/pecan/releases/tag/${version}";
59 license = licenses.bsd3;
60 maintainers = with maintainers; [ applePrincess ];
61 };
62}