1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5, attrs
6, botocore
7, click
8, enum-compat
9, hypothesis
10, jmespath
11, mock
12, mypy-extensions
13, pip
14, pytest
15, pyyaml
16, setuptools
17, six
18, typing
19, watchdog
20, wheel
21}:
22
23buildPythonPackage rec {
24 pname = "chalice";
25 version = "1.18.1";
26
27 src = fetchPypi {
28 inherit pname version;
29 sha256 = "0zb4xk9b553pnfzh8s909cixfdplqnc3nda0fjwjrryi2nxjxd6a";
30 };
31
32 checkInputs = [ watchdog pytest hypothesis mock ];
33 propagatedBuildInputs = [
34 attrs
35 botocore
36 click
37 enum-compat
38 jmespath
39 mypy-extensions
40 pip
41 pyyaml
42 setuptools
43 six
44 wheel
45 ] ++ lib.optionals (pythonOlder "3.5") [
46 typing
47 ];
48
49 # conftest.py not included with pypi release
50 doCheck = false;
51
52 postPatch = ''
53 sed -i setup.py -e "/pip>=/c\'pip',"
54 substituteInPlace setup.py \
55 --replace 'pip>=9,<=19.4' 'pip' \
56 --replace 'typing==3.6.4' 'typing' \
57 --replace 'attrs==17.4.0' 'attrs' \
58 --replace 'click>=6.6,<7.0' 'click'
59 '';
60
61 checkPhase = ''
62 pytest tests
63 '';
64
65 meta = with lib; {
66 description = "Python Serverless Microframework for AWS";
67 homepage = "https://github.com/aws/chalice";
68 license = licenses.asl20;
69 maintainers = [ maintainers.costrouc ];
70 };
71}