Add PEP 484 type hints to fuzz.py public functions - #93
Open
yehorcallmedai-maker wants to merge 1 commit into
Open
Add PEP 484 type hints to fuzz.py public functions#93yehorcallmedai-maker wants to merge 1 commit into
yehorcallmedai-maker wants to merge 1 commit into
Conversation
…l public function signatures in thefuzz/fuzz.py. Do not modify runtime logic. Do not add, remove, or rename imports. Do not change any function bodies. Scope is limited to thefuzz/fuzz.py only.
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.
This PR drops PEP 484 inline type annotations into the 11 public functions in thefuzz/fuzz.py. I made sure to keep this strictly additive, so no runtime logic, imports, or docstrings were touched.
Here is the quick breakdown:
s1 and s2 are typed as str
force_ascii and full_process are typed as bool
All functions return int
One quick note on _rapidfuzz_scorer: I annotated the scorer parameter using the builtin callable rather than importing Callable[..., int] from typing. I really didn't want to drag in a new import just for one hint. Mypy is definitely going to complain about this (Variable "builtins.callable" is not valid as a type), but I figured we could tighten that up in a follow-up PR if it ends up bothering anyone.
(Full disclosure: The initial type generation was done by Symbiote, but I manually reviewed and signed off on the diff before opening this).