powertools-lambda-python: Bug: JMESPath semantic version mismatch with boto3
Expected Behaviour
I should be able to install an unpinned version of boto3 and aws-lambda-powertools without a dependency error
Current Behaviour
Installing boto3 and aws-lambda-powertools==1.25.7 results in the following error message during installation.
aws-lambda-powertools 1.25.7 requires jmespath<0.11.0,>=0.10.0, but you'll have jmespath 1.0.0 which is incompatible.
Code snippet
N/A
Possible Solution
boto3 added support for JMESPath 1.0 in this PR: https://github.com/boto/boto3/pull/3189. Didn’t appear to require any code changes, just opening up the allowable versions to something less than 2.0
Steps to Reproduce
cat requirements.txt wheel boto3 aws-lambda-powertools[pydantic]==1.25.7
pip install -r requirements.txt
AWS Lambda Powertools for Python version
1.25.7
AWS Lambda function runtime
3.9
Packaging format used
PyPi
Debugging logs
No response
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 16 (14 by maintainers)
1.25.9 is now out. @corey-cole @michaelbrewer could you give that a try please? Tested in Lambda runtime, locally, and Layers build sandbox
@corey-cole a possible solution can be made ie: https://github.com/awslabs/aws-lambda-powertools-python/pull/1139
@heitorlessa works for me with the following test case:
requirements.txt
:Shell output:
And for completeness only the failing test:
Reverting Michael’s PR by removing the Python 3.6 marker (tiny change), and publishing 1.25.9 shortly