I use in Python the package pydantic and the linker Flake8. I want to use constr from pydantic with a regular Experssion. Only certain Characters should be passed. (a-z, A-Z, 0-9 and _)
The regular Experssion "^[a-zA-Z0-9_]*$"
works, but flake8 shows me the following error:
syntax error in forward annotation '^[a-zA-Z0-9_]*$' flake8(F722)
class RedisSettings(BaseModel):
keyInput: constr(regex="^[a-zA-Z0-9_]*$") = ""
keyOutput: constr(regex="^[a-zA-Z0-9_]*$") = ""
Can you help me to avoid the Error Message?
the error here comes from pyflakes which attempts to interpret type annotations as type annotations according to PEP 484
the annotations used by pydantic are incompatible with PEP 484 and result in that error. you can read more about this in this pyflakes issue
I'd suggest either (1) finding a way to use pydantic which doesn't involve violating PEP 484 or (2) ignoring the errors from pyflakes using flake8's extend-ignore
/ # noqa: ...
/ per-file-ignores
disclaimer: I am one of the pyflakes maintainers and I am the current flake8 maintainer
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With