FastAPI-template icon indicating copy to clipboard operation
FastAPI-template copied to clipboard

PEP 604 Optional[]

Open Spirit412 opened this issue 2 years ago • 3 comments

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

Spirit412 avatar Dec 13 '23 08:12 Spirit412

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

s3rius avatar Dec 15 '23 09:12 s3rius

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

Spirit412 avatar Dec 15 '23 14:12 Spirit412

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.

s3rius avatar Dec 15 '23 14:12 s3rius