Use ParamSpec for LRU cache decorators#2641
Closed
zeel2104 wants to merge 1 commit into
Closed
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2641 +/- ##
===========================================
- Coverage 100.00% 99.97% -0.03%
===========================================
Files 64 64
Lines 7976 7981 +5
Branches 1102 1103 +1
===========================================
+ Hits 7976 7979 +3
- Misses 0 1 +1
- Partials 0 1 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Member
|
Hi @zeel2104 , and thanks for this PR. Unfortunately, it is not really possible to contribute meaningfully without having access to You can always create a venv, and install what's required within. |
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.
Summary of Changes
Typed Falcon's internal LRU cache decorator helpers with
ParamSpecso decorated callables preserve their original argument and return types.This also exposes the
cache_clear()method through typing for cached callables, allowing existingtype: ignore[attr-defined]comments around media handler cache clearing to be removed. While validating the stricter typing, an ASGI testing client call site was updated to explicitly handle theNonestatus case before normalizing the response status.Related Issues
Closes #2629
Pull Request Checklist
This is just a reminder about the most common mistakes. Please make sure that you tick all appropriate boxes. Reading our contribution guide at least once will save you a few review cycles!
If an item doesn't apply to your pull request, check it anyway to make it apparent that there's nothing to do.
tox.docs/.docs/.versionadded,versionchanged, ordeprecateddirectives.docs/_newsfragments/, with the file name format{issue_number}.{fragment_type}.rst. (Runtox -e towncrier, and inspectdocs/_build/html/changes/in the browser to ensure it renders correctly.)Checks Performed
toxwas not available locally, and rawpython -m mypy --strict falconwas blocked by local Python 3.14/toolchain issues, includingstrict_bytesbeing reported as an unrecognized mypy option and unrelated existing typing errors.If you have any questions to any of the points above, just submit and ask! This checklist is here to help you, not to deter you from contributing!
PR template inspired by the attrs project.