55 Commits

Author SHA1 Message Date
cobalt ef60933a73 Delete scripts/migrate-black.py (#5319) 2026-08-18 19:56:44 -05:00
cobalt d2490e24da Prepare release 26.5.0 (#5131)
test / test (macOS-latest, 3.10) (push) Has been cancelled
test release tool / test-release-tool (ubuntu-latest, 3.15) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.12) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.13) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.14) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.15) (push) Has been cancelled
test / test (macOS-latest, 3.11) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.12) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.13) (push) Has been cancelled
docs / docs (ubuntu-latest) (push) Has been cancelled
docs / docs (windows-latest) (push) Has been cancelled
lint and format / lint (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.14) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.15) (push) Has been cancelled
test release tool / test-release-tool (ubuntu-latest, 3.12) (push) Has been cancelled
test release tool / test-release-tool (ubuntu-latest, 3.13) (push) Has been cancelled
test release tool / test-release-tool (ubuntu-latest, 3.14) (push) Has been cancelled
test / test (ubuntu-latest, pypy-3.11) (push) Has been cancelled
test / test (windows-11-arm, 3.11) (push) Has been cancelled
test / test (windows-11-arm, 3.12.10) (push) Has been cancelled
test / test (windows-11-arm, 3.13) (push) Has been cancelled
test / test (windows-11-arm, 3.14) (push) Has been cancelled
test / test (windows-11-arm, 3.15) (push) Has been cancelled
test / test (windows-latest, 3.10) (push) Has been cancelled
test / test (windows-latest, 3.11) (push) Has been cancelled
test / test (windows-latest, 3.12.10) (push) Has been cancelled
test / test (windows-latest, 3.13) (push) Has been cancelled
test / test (windows-latest, 3.14) (push) Has been cancelled
test / test (windows-latest, 3.15) (push) Has been cancelled
test / test (macOS-latest, 3.12.10) (push) Has been cancelled
test / test (macOS-latest, 3.13) (push) Has been cancelled
test / test (macOS-latest, 3.14) (push) Has been cancelled
test / test (macOS-latest, 3.15) (push) Has been cancelled
test / test (macOS-latest, pypy-3.11) (push) Has been cancelled
test / test (ubuntu-latest, 3.10) (push) Has been cancelled
test / test (ubuntu-latest, 3.11) (push) Has been cancelled
test / test (ubuntu-latest, 3.12.10) (push) Has been cancelled
test / test (ubuntu-latest, 3.13) (push) Has been cancelled
test / test (ubuntu-latest, 3.14) (push) Has been cancelled
test / test (ubuntu-latest, 3.15) (push) Has been cancelled
test / test (windows-latest, pypy-3.11) (push) Has been cancelled
test / coveralls-finish (push) Has been cancelled
test / uvloop (macOS-latest) (push) Has been cancelled
test / uvloop (ubuntu-latest) (push) Has been cancelled
test / uvloop (windows-11-arm) (push) Has been cancelled
test / uvloop (windows-latest) (push) Has been cancelled
Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>
2026-05-16 12:33:59 -05:00
Krishna Chaitanya 6e84c2b6d3 Use "Version X.Y.Z" headings in changelog for stable permalink anchors (#5063)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-03-29 21:10:08 -05:00
Hunter Hogan 21bb2fce89 Fix Windows path syntax in documentation. Fix assorted typos in codebase. (#5059)
* Fix Windows path syntax in docs. Fix assorted typos.

1. scripts/fuzz.py: fixed typo in FUNCTION NAME. I searched for references to the function, and the only references were within the module.
2. What motivated starting this PR: in docs, fix Windows path syntax. `C:\\` will usually work because the OS treats consecutive separators as only one separator. Nevertheless, `C:\` is the correct syntax. _See, e.g.,_ https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file
3. Since I had the repo open, I fixed some typos. Other than the typo above, all fixes were in comments and docstrings.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix `- [wbolster/emacs-python-black](https://github.com/wbolster/emacs-python-black)`

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-03-21 10:31:04 -05:00
cobalt c5c1cbddd9 Minor release patches (#5035) 2026-03-08 17:51:35 -05:00
edvatar ce030cc0f0 docs: add dedicated Jupyter Notebooks guide (#5009)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: cobalt <61329810+cobaltt7@users.noreply.github.com>
Co-authored-by: Varun Chawla <34209028+veeceey@users.noreply.github.com>
Co-authored-by: Akash <jainaakash303@gmail.com>
Co-authored-by: edvatar <88481784+toroleapinc@users.noreply.github.com>
2026-03-01 21:56:29 -06:00
cobalt 1f8cbba26d A few more small CI tweaks (#4978)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-03-01 19:44:27 -06:00
cobalt 6305bf1ae6 Prepare 2026.1.0 release (#4892)
test release tool / test-release-tool (ubuntu-latest, 3.12) (push) Has been cancelled
docs / docs (ubuntu-latest) (push) Has been cancelled
docs / docs (windows-latest) (push) Has been cancelled
lint and format / lint (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.12) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.13) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.14) (push) Has been cancelled
fuzz / fuzz (3.10) (push) Has been cancelled
fuzz / fuzz (3.11) (push) Has been cancelled
fuzz / fuzz (3.12) (push) Has been cancelled
fuzz / fuzz (3.13) (push) Has been cancelled
fuzz / fuzz (3.14) (push) Has been cancelled
test release tool / test-release-tool (ubuntu-latest, 3.13) (push) Has been cancelled
test release tool / test-release-tool (ubuntu-latest, 3.14) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.12) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.13) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.14) (push) Has been cancelled
test / test (macOS-latest, 3.10) (push) Has been cancelled
test / test (macOS-latest, 3.11) (push) Has been cancelled
test / test (macOS-latest, 3.12.10) (push) Has been cancelled
test / test (macOS-latest, 3.13) (push) Has been cancelled
test / test (macOS-latest, 3.14) (push) Has been cancelled
test / test (macOS-latest, pypy-3.11) (push) Has been cancelled
test / test (ubuntu-latest, 3.10) (push) Has been cancelled
test / test (ubuntu-latest, 3.11) (push) Has been cancelled
test / test (ubuntu-latest, 3.12.10) (push) Has been cancelled
test / test (ubuntu-latest, 3.13) (push) Has been cancelled
test / test (ubuntu-latest, 3.14) (push) Has been cancelled
test / test (ubuntu-latest, pypy-3.11) (push) Has been cancelled
test / test (windows-11-arm, 3.11) (push) Has been cancelled
test / test (windows-11-arm, 3.12.10) (push) Has been cancelled
test / test (windows-11-arm, 3.13) (push) Has been cancelled
test / test (windows-11-arm, 3.14) (push) Has been cancelled
test / test (windows-latest, 3.10) (push) Has been cancelled
test / test (windows-latest, 3.11) (push) Has been cancelled
test / test (windows-latest, 3.12.10) (push) Has been cancelled
test / test (windows-latest, 3.13) (push) Has been cancelled
test / test (windows-latest, 3.14) (push) Has been cancelled
test / test (windows-latest, pypy-3.11) (push) Has been cancelled
test / coveralls-finish (push) Has been cancelled
test / uvloop (macOS-latest) (push) Has been cancelled
test / uvloop (ubuntu-latest) (push) Has been cancelled
Co-authored-by: cobalt <61329810+cobaltt7@users.noreply.github.com>
Co-authored-by: Kai Sforza <kai@kaictl.me>
2026-01-17 22:30:36 -06:00
cobalt b41acd6ebb Various CI and doc refactors (#4928) 2026-01-15 22:05:06 -06:00
Shantanu 36497716dd Upgrade mypy (#4749)
Co-authored-by: cobalt <61329810+cobaltt7@users.noreply.github.com>
2025-11-29 01:13:20 -08:00
cobalt 58c5ac8030 Remove old noqa comments and disable C901 globally (#4874)
* Remove old `noqa` comments and disable `C901` globally

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>

* add back black.InvalidInput

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>

---------

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>
2025-11-28 08:03:43 -06:00
Hugo van Kemenade 45b4087976 Drop support for EOL Python 3.9 (#4842)
* Drop support for EOL Python 3.9

* pyupgrade --py310 except not profiling/ or tests/data/

* Apply suggestions from code review

* Fix optional.py typing so we can merge

---------

Co-authored-by: Cooper Ry Lees <me@cooperlees.com>
2025-11-16 21:16:43 -06:00
cobalt e97cf5bdbc doc: Add note to changelog to use PR numbers (#4801) 2025-10-19 16:50:47 -05:00
cobalt 0fc6fb7610 ci: try running diff-shades runs concurrently (#4767)
* ci: try running diff-shades runs concurrently

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>

* fix unable to merge origin main

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>

* add merge-multiple: true

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>

* merge analysis back into one
because it needs to be one in case projects are different based off of cache

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>

* split it up again, but pull from the cache for baseline projects list
idk why i combined it back tbh lol

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>

* add the comment back

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>

* Update diff_shades_gha_helper.py

---------

Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>
2025-10-18 19:48:30 -05:00
cobalt 95a1e75344 Revert "ci: Run diff-shades on unstable instead of preview (#4741)" (#4799) 2025-10-18 09:43:48 -05:00
cobalt 903bef54aa ci: ignore #\r in Fuzz (#4766)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-25 18:04:30 -05:00
GiGaGon 4a8e6b789b Improve generate_schema.py 8.3.0 code (#4758)
After talking for a bit on the click discord, I was pointed to the `to_info_dict` function.

Since the functionality of `to_info_dict` was preserved between 8.2.0 and 8.3.0, using it makes the code much cleaner while having the same effect.

Theoretically, the entirety of the function could re-use `to_info_dict`, but there are two problems: No `is_eager` detection, and it's currently untyped besides `dict[str, Any]`, so I decided against it and just did the one improvement.
2025-09-19 07:34:25 -07:00
GiGaGon 147129da01 Fix regexes in releases.py (#4753)
When making these previously I forgot to add the multiline flag that makes them work.

I prefer using (?m) instead of re.Multiline for flags, since when reading a regex it's a lot more obvious, being placed at the begining instead of the end.
2025-09-18 18:50:47 -07:00
GiGaGon 9363888014 Add utf-8 encoding to opens in release.py (#4752)
Git by default uses utf-8 file encodings, so these files will always be utf-8. On a windows system without PYTHONUTF8 set, these opens will fail (normal black doesn't have this issue because it detects file encodings automatically).

This PR makes it so that the opens always use utf-8 mode, so the script will always work on windows systems.
2025-09-18 18:50:22 -07:00
GiGaGon ffc01a0275 Fix schema generation error caused by new click version (#4750)
* Fix schema generation error caused by new click version
Not sure on the policy for updating versions, so to cope with the new click 8.3.0 version I used some code from #4577 for version conditional behavior. When >= 8.3.0, unset defaults are now the special UNSET sentinal instead of None.
Hopefully nothing breaks on the click._utils usage since it's an _ module, might have to find a different solution if it does.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add ignore for mypy error

* Actually fix mypy errors with ignore

* Add explanation for ignores

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-18 14:33:22 -07:00
cobalt 24f5169617 ci: Run diff-shades on unstable instead of preview (#4741)
Signed-off-by: cobalt <61329810+cobaltt7@users.noreply.github.com>
2025-09-08 07:52:08 -05:00
GiGaGon e2dc6b3e19 Prerelease improvements (#4691)
* Update parsing.py

* Update release.py

* Update release_process.md

* Update release_process.md

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update release.py

* Update parsing.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-06-12 15:22:31 -07:00
GiGaGon 7987951e24 Convert legacy string formatting to f-strings (#4685)
* the changes

* Update driver.py
2025-06-05 18:51:26 -07:00
cobalt 71e380aedf CI: Remove now-uneeded workarounds (#4665) 2025-05-25 18:23:42 -05:00
sobolevn 256f3420b1 Add --local-partial-types and --strict-bytes to mypy (#4583) 2025-02-20 15:27:23 -08:00
Matej Aleksandrov c98fc0c128 Update deprecated type aliases (#4486) 2024-10-23 07:00:55 -07:00
Matej Aleksandrov 484a669699 Replace remaining aliases to built-in types (#4485) 2024-10-14 16:37:58 -07:00
Matej Aleksandrov f50aba4984 Fix broken GitHub link to black.schema.json (#4445) 2024-09-07 18:14:27 -07:00
Jelle Zijlstra c801cd60b1 Format docs/ and scripts/ in CI (#4348) 2024-05-04 13:26:36 -07:00
Tomasz Kłoczko 0c033f3eb7 Upgrade some old syntax (#4338)
Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-04-27 07:54:18 -07:00
Henry Schreiner 24c9c01e91 fix: minor issue with schemastore part of script (#4195)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2024-02-01 09:25:38 -08:00
Henry Schreiner 2bc5ce8ae1 feat: add schema and validate-pyproject support (#4181)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-01-29 07:56:48 -08:00
Jelle Zijlstra 0e6e46b9eb Prepare release 24.1.0 (#4170)
Test / coveralls-finish (push) Has been cancelled
Documentation / build (ubuntu-latest) (push) Has been cancelled
Documentation / build (windows-latest) (push) Has been cancelled
Fuzz / build (3.10) (push) Has been cancelled
Release tool CI / Running python 3.12 on macOS-latest (push) Has been cancelled
Release tool CI / Running python 3.12 on ubuntu-latest (push) Has been cancelled
Release tool CI / Running python 3.12 on windows-latest (push) Has been cancelled
Test / main (macOS-latest, 3.10) (push) Has been cancelled
Test / main (macOS-latest, 3.11) (push) Has been cancelled
Test / main (macOS-latest, 3.12) (push) Has been cancelled
Test / main (macOS-latest, 3.8) (push) Has been cancelled
Test / main (macOS-latest, 3.9) (push) Has been cancelled
Test / main (macOS-latest, pypy-3.9) (push) Has been cancelled
Test / main (ubuntu-latest, 3.10) (push) Has been cancelled
Test / main (ubuntu-latest, 3.11) (push) Has been cancelled
Test / main (ubuntu-latest, 3.12) (push) Has been cancelled
Test / main (ubuntu-latest, 3.8) (push) Has been cancelled
Test / main (ubuntu-latest, 3.9) (push) Has been cancelled
Fuzz / build (3.11) (push) Has been cancelled
Fuzz / build (3.12) (push) Has been cancelled
Fuzz / build (3.8) (push) Has been cancelled
Fuzz / build (3.9) (push) Has been cancelled
Lint + format ourselves / build (push) Has been cancelled
Test / main (ubuntu-latest, pypy-3.9) (push) Has been cancelled
Test / main (windows-latest, 3.10) (push) Has been cancelled
Test / main (windows-latest, 3.11) (push) Has been cancelled
Test / main (windows-latest, 3.12) (push) Has been cancelled
Test / main (windows-latest, 3.8) (push) Has been cancelled
Test / main (windows-latest, 3.9) (push) Has been cancelled
Test / main (windows-latest, pypy-3.9) (push) Has been cancelled
Test / uvloop (macOS-latest) (push) Has been cancelled
Test / uvloop (ubuntu-latest) (push) Has been cancelled
2024-01-25 20:35:21 -08:00
Alex Waygood d93a942a79 Upgrade mypy to 1.6.1 (#4049) 2023-11-18 11:42:36 -08:00
Cooper Lees f7cbe4ae1b Add release tool (#3974)
* Add release tool

- Add tool for release managers to use to generate commits
  - I'm trying to only use stdlib so we have no depdencies ...
- Default is to change date strings in hard coded documentation files + CHANGES.md
  - I write directly to files cause we have SCM to fix any screw ups ...
- We hackily convert calver to ints to sort (all for better ideas here)
  - If we hit a ValueError we just set to 0 for sorting - This is alhpa + beta release we can safely ignore these days
- Add new CI to only run release unittests in 3.12 only on all platforms
- Update release docs

- Checked with `mypy --strict` + ensure we are `black --preview` formatted :D

Tests:
- Run it to generate template PR
  - `python3.12 release.py --debug --add-changes-template`
- Run it to cleanup CHANGE.md + change version in specified doc files
```
crl-m1:black cooper$ python3.12 release.py -d
[2023-10-23 23:39:38,414] INFO: Current version detected to be 23.10.1 (release.py:221)
[2023-10-23 23:39:38,414] INFO: Next version will be 23.10.2 (release.py:222)
[2023-10-23 23:39:38,414] INFO: Cleaning up /Users/cooper/repos/black/CHANGES.md (release.py:127)
[2023-10-23 23:39:38,416] DEBUG: Finished Cleaning up /Users/cooper/repos/black/CHANGES.md (release.py:147)
[2023-10-23 23:39:38,416] INFO: Updating black version to 23.10.2 in /Users/cooper/repos/black/docs/integrations/source_version_control.md (release.py:173)
[2023-10-23 23:39:38,416] DEBUG: Finished updating black version to 23.10.2 in /Users/cooper/repos/black/docs/integrations/source_version_control.md (release.py:185)
[2023-10-23 23:39:38,416] INFO: Updating black version to 23.10.2 in /Users/cooper/repos/black/docs/usage_and_configuration/the_basics.md (release.py:173)
[2023-10-23 23:39:38,417] DEBUG: Finished updating black version to 23.10.2 in /Users/cooper/repos/black/docs/usage_and_configuration/the_basics.md (release.py:185)
```
- Add tests around some key logic

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix lints + add git to release CI

- Remove black + mypy as linting already runs it ...
- Ignore delete param to TemporaryDirectory as we can't set mypy to 3.12 :D

* Only run CI on linux/ubuntu for now

* Add lots of debug printing + directly run unitests (not via coverage)

* Overloading __str__ is bad on a TestCase

* Add more logging around git tag

* Print where git is in a step

* Rollback creating a fake black repo as we were not using it - I did plan to but I can't get it working on GitHub actions

* Do a deep checkout

* Add noqa for E701,E761 ... maybe we need this in our flake8 config now?

* Fix action to have correct workflow yaml to action on
- Also add fix to not double run when we push directly to psf/black

* All jelle suggestions
- Fix bug missing lines ending with --> in CHANGES.md to delete ...
- Update ci to run out of scripts dir too
- Update test_tuple_calver

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-10-29 15:34:38 -07:00
Charles Patel 6f84f65285 Migrate mypy config to pyproject.toml (#3936)
Co-authored-by: Charles Patel <charles.patel@apkudo.com>
2023-10-16 05:24:16 -07:00
rdrll 3bb92146f5 CI Test: Deprecating 'Healthcheck.all()' from Hypothesis in fuzz.py (#3945) 2023-10-16 05:13:53 -07:00
Daniël van Noord b7717c3f1e Standardise newlines after module-level docstrings (#3932)
Co-authored-by: jpy-git <josephyoung.jpy@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-10-09 19:34:26 -07:00
Richard Si 2f68ac850b Fix diff-shades comment missing newlines (#3799)
Preserving newlines is done differently when writing to $GITHUB_OUTPUT
over the deprecated :set-output: command.
2023-07-18 06:51:16 -08:00
Shantanu b4dca26c7d Drop support for Python 3.7 (#3765) 2023-07-05 10:08:04 -07:00
rdrll 839ef35dc1 CI Test: Deprecating 'set-output' command (#3757) 2023-06-30 07:07:42 -07:00
Shantanu e1036119f2 Check self format for the whole repo (#3750)
`black .` is changing things in gallery and scripts for me
2023-06-25 06:53:26 -07:00
Jelle Zijlstra 3decbd6db9 Document each configuration option in more detail (#2839) 2023-05-24 19:55:12 -07:00
Hong Minhee (洪 民憙) ef6e079901 Let string splitters respect East_Asian_Width property (#3445)
This patch changes the preview style so that string splitters respect
Unicode East Asian Width[^1] property.  If you are not familiar to CJK
languages it is not clear immediately.  Let me elaborate with some
examples.

Traditionally, East Asian characters (including punctuation) have
taken up space twice than European letters and stops when they are
rendered in monospace typeset.  Compare the following characters:

```
abcdefg.
글、字。
```

The characters at the first line are half-width, and the second line
are full-width.  (Also note that the last character with a small
circle, the East Asian period, is also full-width.)  Therefore, if we
want to prevent those full-width characters to exceed the maximum
columns per line, we need to count their *width* rather than the number
of characters.  Again, the following characters:

```
글、字。
```

These are just 4 characters, but their total width is 8.

Suppose we want to maintain up to 4 columns per line with the following
text:

```
abcdefg.
글、字。
```

How should it be then?  We want it to look like:

```
abcd
efg.
글、
字。
```

However, Black currently turns it into like this:

```
abcd
efg.
글、字。
```

It's because Black currently counts the number of characters in the line
instead of measuring their width. So, how could we measure the width?
How can we tell if a character is full- or half-width? What if half-width
characters and full-width ones are mixed in a line? That's why Unicode
defined an attribute named `East_Asian_Width`. Unicode grouped every
single character according to their width in fixed-width typeset.

This partially addresses #1197, but only for string splitters. The other
parts need to be fixed as well in future patches.

This was implemented by copying rich's own approach to handling wide
characters: generate a table using wcwidth, check it into source
control, and use in to drive helper functions in Black's logic. This
gets us the best of both worlds: accuracy and performance (and let's us
update as per our stability policy too!).

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-03-19 19:09:57 -04:00
Holger Brunn 72a25591b0 [FIX] migrate-black.py: don't fail on binary files (#3266) 2022-09-13 20:06:54 -07:00
Shantanu 2c90480e1a Use strict mypy checking (#3222)
Co-authored-by: Richard Si <63936253+ichard26@users.noreply.github.com>
2022-08-30 20:46:46 -07:00
Richard Si ca0dbb8fa6 Move fuzz.py to scripts/ (#3199) 2022-07-31 07:34:29 -07:00
Richard Si 44d5da00b5 Reformat codebase with isort 2022-07-27 17:19:28 -04:00
Vivek Vashist f51e53726b Fix minor typo (#3096) 2022-06-03 15:59:26 -07:00
Holger Brunn 436e12f290 Add script to ease migration to black (#3038)
* Add script to ease migration to black

* Update CHANGES.md

Co-authored-by: Cooper Lees <me@cooperlees.com>
2022-06-01 11:20:02 -07:00