Black will format your code. It can do it automatically on save, or when required.
Black is opinionated - this means it has basically one and only one way that the Python code will be formatted. There is almost no configuraiton.
One major opinion it enforces is the use of double quotes in place of single quotes.
This can be a major change to an existing project.
To allow a more gentle rollout of black formatting, there is the option to use single quotes. Use this only for existing projects.
18.6b0 has --skip-string-normalization, or -S for short.