{ lib , python3 , fetchPypi , enableTelemetry ? false }: python3.pkgs.buildPythonApplication rec { pname = "aws-sam-cli"; version = "1.90.0"; src = fetchPypi { inherit pname version; hash = "sha256-JXUfc37O6cTTOCTTtWE05m+GR4iDyBsmRPyXoTRxFmo="; }; propagatedBuildInputs = with python3.pkgs; [ aws-lambda-builders aws-sam-translator boto3 cfn-lint chevron cookiecutter dateparser docker flask pyopenssl pyyaml rich ruamel-yaml serverlessrepo tomlkit typing-extensions tzlocal watchdog ]; postFixup = if enableTelemetry then "echo aws-sam-cli TELEMETRY IS ENABLED" else '' # Disable telemetry: https://github.com/awslabs/aws-sam-cli/issues/1272 wrapProgram $out/bin/sam --set SAM_CLI_TELEMETRY 0 ''; postPatch = '' substituteInPlace requirements/base.txt \ --replace 'PyYAML>=' 'PyYAML>=5.4.1 #' \ --replace 'aws-sam-translator==1.70.0' 'aws-sam-translator>=1.60.1' \ --replace 'boto3>=' 'boto3>=1.26.79 #' \ --replace 'cfn-lint~=0.77.9' 'cfn-lint~=0.73.2' \ --replace 'docker~=6.1.0' 'docker~=6.0.1' \ --replace 'pyopenssl~=23.2.0' 'pyopenssl~=23.1.0' \ --replace 'ruamel_yaml~=0.17.32' 'ruamel_yaml~=0.17.21' \ --replace 'tomlkit==0.11.8' 'tomlkit~=0.11.6' \ --replace 'typing_extensions~=4.4.0' 'typing_extensions~=4.4' \ --replace 'tzlocal==3.0' 'tzlocal>=3.0' \ --replace 'watchdog==' 'watchdog>=2.1.2 #' ''; doCheck = false; meta = with lib; { homepage = "https://github.com/awslabs/aws-sam-cli"; description = "CLI tool for local development and testing of Serverless applications"; license = licenses.asl20; maintainers = with maintainers; [ lo1tuma ]; }; }