Describe the style change
When an import line is too long, and it only has a single imported symbol, it's more readable to NOT wrap the line.
Examples in the current Black style
from company.organization.products.my_awesome_learning_system.backend.handlers import (
register,
)
from company.organization.products.my_awesome_learning_system.common import logging
from company.organization.products.my_awesome_learning_system.utils import (
authentication,
)
Desired style
from company.organization.products.my_awesome_learning_system.backend.handlers import register
from company.organization.products.my_awesome_learning_system.common import logging
from company.organization.products.my_awesome_learning_system.utils import authentication
Additional context
The current behavior works very well in the majority cases. If the import line has more than one imports, it should continue wrapping them:
from company.organization.products.my_awesome_learning_system.backend.handlers import (
enroll,
login,
register,
)
But for code bases that follow the Google Python Style Guide to only import modules/packages, never individual functions/classes from a module (it won't import multiple symbols in the same line, except from typing), Black can make the imports very awkward.
Describe the style change
When an import line is too long, and it only has a single imported symbol, it's more readable to NOT wrap the line.
Examples in the current Black style
Desired style
Additional context
The current behavior works very well in the majority cases. If the import line has more than one imports, it should continue wrapping them:
But for code bases that follow the Google Python Style Guide to only import modules/packages, never individual functions/classes from a module (it won't import multiple symbols in the same line, except from typing), Black can make the imports very awkward.