Use @require_kwargs decorator on new methods#480
Merged
jhamon merged 4 commits intorelease-candidate/2025-04from May 15, 2025
Merged
Use @require_kwargs decorator on new methods#480jhamon merged 4 commits intorelease-candidate/2025-04from
@require_kwargs decorator on new methods#480jhamon merged 4 commits intorelease-candidate/2025-04from
Conversation
@require_kwargs decorator on new methods
11f41fe to
154f95f
Compare
2f13526 to
5cb2197
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Python methods can be invoked with both positional and keyword arguments, however the keyword argument form has a number of benefits such as:
Solution
I recently implemented a decorator called @kwargs_required that will give an informative error if caller attempts to pass values as positional arguments.
This PR is a follow-up to apply that decorator to all methods that are newly added in the upcoming release. Adding this decorator would be a breaking change for existing methods, so for now I will hold off on doing that.
Type of Change
Testing