s3rius / FastAPI-template

Feature rich robust FastAPI template.
MIT License
1.94k stars 168 forks source link

PEP 604 Optional[] #199

Open Spirit412 opened 9 months ago

Spirit412 commented 9 months ago

Python 3.10+ introduces the | union operator into type hinting, see PEP 604. Instead of Union[str, int] you can write str | int. In line with other type-hinted languages, the preferred (and more concise) way to denote an optional argument in Python 3.10 and up, is now Type | None, e.g. str | None or list | None.

I'm sure many people use version 3.10 and higher. Also, the List type changes to list I suggest you bring the code to PEP 604 or make an option during installation

s3rius commented 9 months ago

I guess that simplest way to acomplish this is to write an additional script that would reformat the code with PEP604.

Spirit412 commented 9 months ago

Павел, можно ли приведение кода к PEP604 реализовать на линтере?

s3rius commented 9 months ago

Pavel, is it possible to convert the code to PEP604 using a linter?

Maybe. Here's ruff's docs on the feature. But the automatic fix is marked as unstable.

Also, I guess we need to switch to ruff. So this feature might be easily turned on by users.