QuCumber
QuCumber copied to clipboard
Update dependency black to v22
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| black (changelog) | ==19.3b0 -> ==22.8.0 |
Release Notes
psf/black
v22.8.0
Highlights
- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
- This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
- Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
Stable style
- Fix an infinite loop when using
# fmt: on/offin the middle of an expression or code block (#3158) - Fix incorrect handling of
# fmt: skipon colon (:) lines (#3148) - Comments are no longer deleted when a line had spaces removed around power operators (#2874)
Preview style
- Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
-
--skip-string-normalization/-Snow prevents docstring prefixes from being normalized as expected (#3168) - When using
--skip-magic-trailing-commaor-C, trailing commas are stripped from subscript expressions with more than 1 element (#3209) - Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
Blackd
-
blackdnow supports enabling the preview style via theX-Previewheader (#3217)
Configuration
- Black now uses the presence of debug f-strings to detect target version (#3215)
- Fix misdetection of project root and verbose logging of sources in cases involving
--stdin-filename(#3216) - Immediate
.gitignorefiles in source directories given on the command line are now also respected, previously only.gitignorefiles in the project root and automatically discovered directories were respected (#3237)
Documentation
- Recommend using BlackConnect in IntelliJ IDEs (#3150)
Integrations
- Vim plugin: prefix messages with
Black:so it's clear they come from Black (#3194) - Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202)
- Vim plugin: add flag (
g:black_preview) to enable/disable the preview style (#3246)
Output
- Change from deprecated
asyncio.get_event_loop()to create our event loop which removes DeprecationWarning (#3164) - Remove logging from internal
blib2to3library since it regularly emits error logs about failed caching that can and should be ignored (#3193)
Parser
- Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874)
Performance
- Reduce Black's startup time when formatting a single file by 15-30% (#3211)
v22.6.0
Style
- Fix unstable formatting involving
#fmt: skipand# fmt:skipcomments (notice the lack of spaces) (#2970)
Preview style
- Docstring quotes are no longer moved if it would violate the line length limit (#3044)
- Parentheses around return annotations are now managed (#2990)
- Remove unnecessary parentheses around awaited objects (#2991)
- Remove unnecessary parentheses in
withstatements (#2926) - Remove trailing newlines after code block open (#3035)
Integrations
- Add
scripts/migrate-black.pyscript to ease introduction of Black to a Git project (#3038)
Output
- Output Python version and implementation as part of
--versionflag (#2997)
Packaging
- Use
tomliinstead oftomllibon Python 3.11 builds wheretomllibis not available (#2987)
Parser
-
PEP 654 syntax (for example,
except *ExceptionGroup:) is now supported (#3016) -
PEP 646 syntax (for example,
Array[Batch, *Shape]ordef fn(*args: *T) -> None) is now supported (#3071)
Vim Plugin
- Fix
strtoboolfunction. It didn't parse true/on/false/off. (#3025)
v22.3.0
Preview style
- Code cell separators
#%%are now standardised to# %%(#2919) - Remove unnecessary parentheses from
exceptstatements (#2939) - Remove unnecessary parentheses from tuple unpacking in
forloops (#2945) - Avoid magic-trailing-comma in single-element subscripts (#2942)
Configuration
- Do not format
__pypackages__directories by default (#2836) - Add support for specifying stable version with
--required-version(#2832). - Avoid crashing when the user has no homedir (#2814)
- Avoid crashing when md5 is not available (#2905)
- Fix handling of directory junctions on Windows (#2904)
Documentation
- Update pylint config documentation (#2931)
Integrations
- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
Output
- In verbose mode, log when Black is using user-level config (#2861)
Packaging
- Fix Black to work with Click 8.1.0 (#2966)
- On Python 3.11 and newer, use the standard library's
tomllibinstead oftomli(#2903) -
black-primer, the deprecated internal devtool, has been removed and copied to a separate repository (#2924)
Parser
- Black can now parse starred expressions in the target of
forandasync forstatements, e.gfor item in *items_1, *items_2: pass(#2879).
v22.1.0
At long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.
Highlights
Style
- Deprecate
--experimental-string-processingand move the functionality under--preview(#2789) - For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
- Black now normalizes string prefix order (#2297)
- Remove spaces around power operators if both operands are simple (#2726)
- Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
- Use parentheses for attribute access on decimal float and int literals (#2799)
- Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
- Treat blank lines in stubs the same inside top-level
ifstatements (#2820) - Fix unstable formatting with semicolons and arithmetic expressions (#2817)
- Fix unstable formatting around magic trailing comma (#2572)
Parser
- Fix mapping cases that contain as-expressions, like
case {"key": 1 | 2 as password}(#2686) - Fix cases that contain multiple top-level as-expressions, like
case 1 as a, 2 as b(#2716) - Fix call patterns that contain as-expressions with keyword arguments, like
case Foo(bar=baz as quux)(#2749) - Tuple unpacking on
returnandyieldconstructs now implies 3.8+ (#2700) - Unparenthesized tuples on annotated assignments (e.g
values: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708) - Fix handling of standalone
match()orcase()when there is a trailing newline or a comment inside of the parentheses. (#2760) -
from __future__ import annotationsstatement now implies Python 3.7+ (#2690)
Performance
- Speed-up the new backtracking parser about 4X in general (enabled when
--target-versionis set to 3.10 and higher). (#2728) - Black is now compiled with mypyc for an overall 2x speed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009, #2431)
Configuration
- Do not accept bare carriage return line endings in pyproject.toml (#2408)
- Add configuration option (
python-cell-magics) to format cells with custom magics in Jupyter Notebooks (#2744) - Allow setting custom cache directory on all platforms with environment variable
BLACK_CACHE_DIR(#2739). - Enable Python 3.10+ by default, without any extra need to specify
--target-version=py310. (#2758) - Make passing
SRCor--codemandatory and mutually exclusive (#2804)
Output
- Improve error message for invalid regular expression (#2678)
- Improve error message when parsing fails during AST safety check by embedding the underlying SyntaxError (#2693)
- No longer color diff headers white as it's unreadable in light themed terminals (#2691)
- Text coloring added in the final statistics (#2712)
- Verbose mode also now describes how a project root was discovered and which paths will be formatted. (#2526)
Packaging
- All upper version bounds on dependencies have been removed (#2718)
-
typing-extensionsis no longer a required dependency in Python 3.10+ (#2772) - Set
clicklower bound to8.0.0(#2791)
Integrations
- Update GitHub action to support containerized runs (#2748)
Documentation
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.