-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maintenance: jmespath utility #1645
Comments
Hi @rjmackay, thank you for opening the issue. As stated in the tenet, we take the choice of dependencies seriously and have surveyed the different options when first implementing the Idempotency utility. The When auditing the code for the library however, I have found that its implementation doesn't take advantage of modern language features and in general it's hard to reason about. Additionally, and more importantly for Powertools, it also doesn't support some JMESPath features like defining custom functions, a feature that we consider important for the Idempotency utility as well as other future utilities that handle request payloads. We have indeed evaluated the other library you mentioned but ended up deciding to not use it for two reasons:
With that said, we are still evaluating our options (including all the ones you mentioned) and are not yet set on using the Finally, regarding the value of using JMESPath in the first place versus a simple function, I would suggest we continue the discussion in the other issue you have opened where I have shared our rationale: #1644. |
This issue is now closed. Please be mindful that future comments are hard for our team to see. If you need more assistance, please either tag a team member or open a new issue that references this one. If you wish to keep having a conversation with other community members under this issue feel free to do so. |
This is now released under v2.0.4 version! |
Summary
The recently added idempotency feature adds a dependency on jmespath. While that package has many downloads, it hasn't been updated in 2 years.
This seems like a concern for the powertools tenets:
The key selection that jmespath is used for could easily be implemented without this dependency (see #1644)
Why is this needed?
jmespath seems unmaintained and not ideal for a production dependency.
Which area does this relate to?
JMESPath
Solution
Acknowledgment
Future readers
Please react with 👍 and your use case to help us understand customer demand.
The text was updated successfully, but these errors were encountered: