1{ lib
2, boto3
3, buildPythonPackage
4, fetchFromGitHub
5, jsonschema
6, parameterized
7, pydantic
8, pytest-env
9, pytest-rerunfailures
10, pytest-xdist
11, pytestCheckHook
12, pythonOlder
13, pyyaml
14, typing-extensions
15}:
16
17buildPythonPackage rec {
18 pname = "aws-sam-translator";
19 version = "1.78.0";
20 format = "setuptools";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "aws";
26 repo = "serverless-application-model";
27 rev = "refs/tags/v${version}";
28 hash = "sha256-hSXJBEntj3k3Kml+Yuvn19X7YXL+Y1hXBkb8iZ7DxR4=";
29 };
30
31 postPatch = ''
32 substituteInPlace pytest.ini \
33 --replace " --cov samtranslator --cov-report term-missing --cov-fail-under 95" ""
34 '';
35
36 propagatedBuildInputs = [
37 boto3
38 jsonschema
39 pydantic
40 typing-extensions
41 ];
42
43 nativeCheckInputs = [
44 parameterized
45 pytest-env
46 pytest-rerunfailures
47 pytest-xdist
48 pytestCheckHook
49 pyyaml
50 ];
51
52 pythonImportsCheck = [
53 "samtranslator"
54 ];
55
56 preCheck = ''
57 sed -i '2ienv =\n\tAWS_DEFAULT_REGION=us-east-1' pytest.ini
58 '';
59
60 disabledTests = [
61 # urllib3 2.0 compat
62 "test_plugin_accepts_different_sar_client"
63 "test_plugin_accepts_flags"
64 "test_plugin_accepts_parameters"
65 "test_plugin_default_values"
66 "test_plugin_invalid_configuration_raises_exception"
67 "test_plugin_must_setup_correct_name"
68 "test_must_process_applications"
69 "test_must_process_applications_validate"
70 "test_process_invalid_applications"
71 "test_process_invalid_applications_validate"
72 "test_resolve_intrinsics"
73 "test_sar_service_calls"
74 "test_sar_success_one_app"
75 "test_sar_throttling_doesnt_stop_processing"
76 "test_sleep_between_sar_checks"
77 "test_unexpected_sar_error_stops_processing"
78 ];
79
80 meta = with lib; {
81 description = "Python library to transform SAM templates into AWS CloudFormation templates";
82 homepage = "https://github.com/aws/serverless-application-model";
83 changelog = "https://github.com/aws/serverless-application-model/releases/tag/v${version}";
84 license = licenses.asl20;
85 maintainers = with maintainers; [ ];
86 };
87}