1{
2 lib,
3 attrs,
4 botocore,
5 buildPythonPackage,
6 click,
7 fetchFromGitHub,
8 hypothesis,
9 inquirer,
10 jmespath,
11 mypy-extensions,
12 pip,
13 pytestCheckHook,
14 pyyaml,
15 requests,
16 setuptools,
17 six,
18 typing-extensions,
19 watchdog,
20 websocket-client,
21 wheel,
22}:
23
24buildPythonPackage rec {
25 pname = "chalice";
26 version = "1.32.0";
27 pyproject = true;
28
29 src = fetchFromGitHub {
30 owner = "aws";
31 repo = "chalice";
32 tag = version;
33 hash = "sha256-7qmE78aFfq9XCl2zcx1dAVKZZb96Bu47tSW1Qp2vFl4=";
34 };
35
36 build-system = [ setuptools ];
37
38 dependencies = [
39 botocore
40 click
41 inquirer
42 jmespath
43 pip
44 pyyaml
45 setuptools
46 six
47 wheel
48 ];
49
50 nativeCheckInputs = [
51 hypothesis
52 pytestCheckHook
53 requests
54 websocket-client
55 ];
56
57 disabledTestPaths = [
58 # Don't check the templates and the sample app
59 "chalice/templates"
60 "docs/source/samples/todo-app/code/tests/test_db.py"
61 # Requires credentials
62 "tests/aws/test_features.py"
63 # Requires network access
64 "tests/aws/test_websockets.py"
65 "tests/integration/test_package.py"
66 ];
67
68 disabledTests = [
69 # Requires network access
70 "test_update_domain_name_failed"
71 "test_can_reload_server"
72 # Content for the tests is missing
73 "test_can_import_env_vars"
74 "test_stack_trace_printed_on_error"
75 # Don't build
76 "test_can_generate_pipeline_for_all"
77 "test_build_wheel"
78 # Tests require dist
79 "test_setup_tar_gz_hyphens_in_name"
80 "test_both_tar_gz"
81 "test_both_tar_bz2"
82 ];
83
84 pythonImportsCheck = [ "chalice" ];
85
86 meta = with lib; {
87 description = "Python Serverless Microframework for AWS";
88 mainProgram = "chalice";
89 homepage = "https://github.com/aws/chalice";
90 changelog = "https://github.com/aws/chalice/blob/${src.tag}/CHANGELOG.md";
91 license = licenses.asl20;
92 maintainers = [ ];
93 };
94}