Remove regex dependency (GH-2663)
We were no longer using it since GH-2644 and GH-2654. This should hopefully make using Black easier to use as there's one less compiled dependency. The core team also doesn't have to deal with the surprisingly frequent fires the regex packaging setup goes through. Co-authored-by: Richard Si <63936253+ichard26@users.noreply.github.com>
This commit is contained in:
parent
20d7ae0676
commit
bd9d52b52d
@ -8,7 +8,7 @@
|
|||||||
cell magics were tokenized, leading to possible indentation errors e.g. with
|
cell magics were tokenized, leading to possible indentation errors e.g. with
|
||||||
`%%writefile`. (#2630)
|
`%%writefile`. (#2630)
|
||||||
- Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
|
- Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
|
||||||
- Reduce usage of the `regex` dependency (#2644)
|
- Remove dependency on `regex` (#2644) (#2663)
|
||||||
- Fix `match` statements with open sequence subjects, like `match a, b:` or
|
- Fix `match` statements with open sequence subjects, like `match a, b:` or
|
||||||
`match a, *b:` (#2639) (#2659)
|
`match a, *b:` (#2639) (#2659)
|
||||||
- Fix `match`/`case` statements that contain `match`/`case` soft keywords multiple
|
- Fix `match`/`case` statements that contain `match`/`case` soft keywords multiple
|
||||||
|
1
Pipfile
1
Pipfile
@ -42,7 +42,6 @@ platformdirs= ">=2"
|
|||||||
click = ">=8.0.0"
|
click = ">=8.0.0"
|
||||||
mypy_extensions = ">=0.4.3"
|
mypy_extensions = ">=0.4.3"
|
||||||
pathspec = ">=0.8.1"
|
pathspec = ">=0.8.1"
|
||||||
regex = ">=2021.4.4"
|
|
||||||
tomli = ">=0.2.6, <2.0.0"
|
tomli = ">=0.2.6, <2.0.0"
|
||||||
typed-ast = "==1.4.3"
|
typed-ast = "==1.4.3"
|
||||||
typing_extensions = {markers = "python_version < '3.10'", version = ">=3.10.0.0"}
|
typing_extensions = {markers = "python_version < '3.10'", version = ">=3.10.0.0"}
|
||||||
|
112
Pipfile.lock
generated
112
Pipfile.lock
generated
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"_meta": {
|
"_meta": {
|
||||||
"hash": {
|
"hash": {
|
||||||
"sha256": "a516705ed9270469fd58d20f1b26a94a6ed052451ef7425d82605b80513a65b3"
|
"sha256": "7728caac52b47ed119a804ead88afa002d62c17a324e962b7833b8944049609b"
|
||||||
},
|
},
|
||||||
"pipfile-spec": 6,
|
"pipfile-spec": 6,
|
||||||
"requires": {},
|
"requires": {},
|
||||||
@ -375,61 +375,6 @@
|
|||||||
"markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
"markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
"version": "==2.4.7"
|
"version": "==2.4.7"
|
||||||
},
|
},
|
||||||
"regex": {
|
|
||||||
"hashes": [
|
|
||||||
"sha256:05b7d6d7e64efe309972adab77fc2af8907bb93217ec60aa9fe12a0dad35874f",
|
|
||||||
"sha256:0617383e2fe465732af4509e61648b77cbe3aee68b6ac8c0b6fe934db90be5cc",
|
|
||||||
"sha256:07856afef5ffcc052e7eccf3213317fbb94e4a5cd8177a2caa69c980657b3cb4",
|
|
||||||
"sha256:162abfd74e88001d20cb73ceaffbfe601469923e875caf9118333b1a4aaafdc4",
|
|
||||||
"sha256:2207ae4f64ad3af399e2d30dde66f0b36ae5c3129b52885f1bffc2f05ec505c8",
|
|
||||||
"sha256:30ab804ea73972049b7a2a5c62d97687d69b5a60a67adca07eb73a0ddbc9e29f",
|
|
||||||
"sha256:3b5df18db1fccd66de15aa59c41e4f853b5df7550723d26aa6cb7f40e5d9da5a",
|
|
||||||
"sha256:3c5fb32cc6077abad3bbf0323067636d93307c9fa93e072771cf9a64d1c0f3ef",
|
|
||||||
"sha256:416c5f1a188c91e3eb41e9c8787288e707f7d2ebe66e0a6563af280d9b68478f",
|
|
||||||
"sha256:432bd15d40ed835a51617521d60d0125867f7b88acf653e4ed994a1f8e4995dc",
|
|
||||||
"sha256:4aaa4e0705ef2b73dd8e36eeb4c868f80f8393f5f4d855e94025ce7ad8525f50",
|
|
||||||
"sha256:537ca6a3586931b16a85ac38c08cc48f10fc870a5b25e51794c74df843e9966d",
|
|
||||||
"sha256:53db2c6be8a2710b359bfd3d3aa17ba38f8aa72a82309a12ae99d3c0c3dcd74d",
|
|
||||||
"sha256:5537f71b6d646f7f5f340562ec4c77b6e1c915f8baae822ea0b7e46c1f09b733",
|
|
||||||
"sha256:6650f16365f1924d6014d2ea770bde8555b4a39dc9576abb95e3cd1ff0263b36",
|
|
||||||
"sha256:666abff54e474d28ff42756d94544cdfd42e2ee97065857413b72e8a2d6a6345",
|
|
||||||
"sha256:68a067c11463de2a37157930d8b153005085e42bcb7ad9ca562d77ba7d1404e0",
|
|
||||||
"sha256:780b48456a0f0ba4d390e8b5f7c661fdd218934388cde1a974010a965e200e12",
|
|
||||||
"sha256:788aef3549f1924d5c38263104dae7395bf020a42776d5ec5ea2b0d3d85d6646",
|
|
||||||
"sha256:7ee1227cf08b6716c85504aebc49ac827eb88fcc6e51564f010f11a406c0a667",
|
|
||||||
"sha256:7f301b11b9d214f83ddaf689181051e7f48905568b0c7017c04c06dfd065e244",
|
|
||||||
"sha256:83ee89483672b11f8952b158640d0c0ff02dc43d9cb1b70c1564b49abe92ce29",
|
|
||||||
"sha256:85bfa6a5413be0ee6c5c4a663668a2cad2cbecdee367630d097d7823041bdeec",
|
|
||||||
"sha256:9345b6f7ee578bad8e475129ed40123d265464c4cfead6c261fd60fc9de00bcf",
|
|
||||||
"sha256:93a5051fcf5fad72de73b96f07d30bc29665697fb8ecdfbc474f3452c78adcf4",
|
|
||||||
"sha256:962b9a917dd7ceacbe5cd424556914cb0d636001e393b43dc886ba31d2a1e449",
|
|
||||||
"sha256:98ba568e8ae26beb726aeea2273053c717641933836568c2a0278a84987b2a1a",
|
|
||||||
"sha256:a3feefd5e95871872673b08636f96b61ebef62971eab044f5124fb4dea39919d",
|
|
||||||
"sha256:b43c2b8a330a490daaef5a47ab114935002b13b3f9dc5da56d5322ff218eeadb",
|
|
||||||
"sha256:b483c9d00a565633c87abd0aaf27eb5016de23fed952e054ecc19ce32f6a9e7e",
|
|
||||||
"sha256:ba05430e819e58544e840a68b03b28b6d328aff2e41579037e8bab7653b37d83",
|
|
||||||
"sha256:ca5f18a75e1256ce07494e245cdb146f5a9267d3c702ebf9b65c7f8bd843431e",
|
|
||||||
"sha256:d5ca078bb666c4a9d1287a379fe617a6dccd18c3e8a7e6c7e1eb8974330c626a",
|
|
||||||
"sha256:da1a90c1ddb7531b1d5ff1e171b4ee61f6345119be7351104b67ff413843fe94",
|
|
||||||
"sha256:dba70f30fd81f8ce6d32ddeef37d91c8948e5d5a4c63242d16a2b2df8143aafc",
|
|
||||||
"sha256:dd33eb9bdcfbabab3459c9ee651d94c842bc8a05fabc95edf4ee0c15a072495e",
|
|
||||||
"sha256:e0538c43565ee6e703d3a7c3bdfe4037a5209250e8502c98f20fea6f5fdf2965",
|
|
||||||
"sha256:e1f54b9b4b6c53369f40028d2dd07a8c374583417ee6ec0ea304e710a20f80a0",
|
|
||||||
"sha256:e32d2a2b02ccbef10145df9135751abea1f9f076e67a4e261b05f24b94219e36",
|
|
||||||
"sha256:e71255ba42567d34a13c03968736c5d39bb4a97ce98188fafb27ce981115beec",
|
|
||||||
"sha256:ed2e07c6a26ed4bea91b897ee2b0835c21716d9a469a96c3e878dc5f8c55bb23",
|
|
||||||
"sha256:eef2afb0fd1747f33f1ee3e209bce1ed582d1896b240ccc5e2697e3275f037c7",
|
|
||||||
"sha256:f23222527b307970e383433daec128d769ff778d9b29343fb3496472dc20dabe",
|
|
||||||
"sha256:f341ee2df0999bfdf7a95e448075effe0db212a59387de1a70690e4acb03d4c6",
|
|
||||||
"sha256:f7f325be2804246a75a4f45c72d4ce80d2443ab815063cdf70ee8fb2ca59ee1b",
|
|
||||||
"sha256:f8af619e3be812a2059b212064ea7a640aff0568d972cd1b9e920837469eb3cb",
|
|
||||||
"sha256:fa8c626d6441e2d04b6ee703ef2d1e17608ad44c7cb75258c09dd42bacdfc64b",
|
|
||||||
"sha256:fbb9dc00e39f3e6c0ef48edee202f9520dafb233e8b51b06b8428cfcb92abd30",
|
|
||||||
"sha256:fff55f3ce50a3ff63ec8e2a8d3dd924f1941b250b0aac3d3d42b687eeff07a8e"
|
|
||||||
],
|
|
||||||
"index": "pypi",
|
|
||||||
"version": "==2021.11.10"
|
|
||||||
},
|
|
||||||
"setuptools": {
|
"setuptools": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:a481fbc56b33f5d8f6b33dce41482e64c68b668be44ff42922903b03872590bf",
|
"sha256:a481fbc56b33f5d8f6b33dce41482e64c68b668be44ff42922903b03872590bf",
|
||||||
@ -1624,61 +1569,6 @@
|
|||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==30.0"
|
"version": "==30.0"
|
||||||
},
|
},
|
||||||
"regex": {
|
|
||||||
"hashes": [
|
|
||||||
"sha256:05b7d6d7e64efe309972adab77fc2af8907bb93217ec60aa9fe12a0dad35874f",
|
|
||||||
"sha256:0617383e2fe465732af4509e61648b77cbe3aee68b6ac8c0b6fe934db90be5cc",
|
|
||||||
"sha256:07856afef5ffcc052e7eccf3213317fbb94e4a5cd8177a2caa69c980657b3cb4",
|
|
||||||
"sha256:162abfd74e88001d20cb73ceaffbfe601469923e875caf9118333b1a4aaafdc4",
|
|
||||||
"sha256:2207ae4f64ad3af399e2d30dde66f0b36ae5c3129b52885f1bffc2f05ec505c8",
|
|
||||||
"sha256:30ab804ea73972049b7a2a5c62d97687d69b5a60a67adca07eb73a0ddbc9e29f",
|
|
||||||
"sha256:3b5df18db1fccd66de15aa59c41e4f853b5df7550723d26aa6cb7f40e5d9da5a",
|
|
||||||
"sha256:3c5fb32cc6077abad3bbf0323067636d93307c9fa93e072771cf9a64d1c0f3ef",
|
|
||||||
"sha256:416c5f1a188c91e3eb41e9c8787288e707f7d2ebe66e0a6563af280d9b68478f",
|
|
||||||
"sha256:432bd15d40ed835a51617521d60d0125867f7b88acf653e4ed994a1f8e4995dc",
|
|
||||||
"sha256:4aaa4e0705ef2b73dd8e36eeb4c868f80f8393f5f4d855e94025ce7ad8525f50",
|
|
||||||
"sha256:537ca6a3586931b16a85ac38c08cc48f10fc870a5b25e51794c74df843e9966d",
|
|
||||||
"sha256:53db2c6be8a2710b359bfd3d3aa17ba38f8aa72a82309a12ae99d3c0c3dcd74d",
|
|
||||||
"sha256:5537f71b6d646f7f5f340562ec4c77b6e1c915f8baae822ea0b7e46c1f09b733",
|
|
||||||
"sha256:6650f16365f1924d6014d2ea770bde8555b4a39dc9576abb95e3cd1ff0263b36",
|
|
||||||
"sha256:666abff54e474d28ff42756d94544cdfd42e2ee97065857413b72e8a2d6a6345",
|
|
||||||
"sha256:68a067c11463de2a37157930d8b153005085e42bcb7ad9ca562d77ba7d1404e0",
|
|
||||||
"sha256:780b48456a0f0ba4d390e8b5f7c661fdd218934388cde1a974010a965e200e12",
|
|
||||||
"sha256:788aef3549f1924d5c38263104dae7395bf020a42776d5ec5ea2b0d3d85d6646",
|
|
||||||
"sha256:7ee1227cf08b6716c85504aebc49ac827eb88fcc6e51564f010f11a406c0a667",
|
|
||||||
"sha256:7f301b11b9d214f83ddaf689181051e7f48905568b0c7017c04c06dfd065e244",
|
|
||||||
"sha256:83ee89483672b11f8952b158640d0c0ff02dc43d9cb1b70c1564b49abe92ce29",
|
|
||||||
"sha256:85bfa6a5413be0ee6c5c4a663668a2cad2cbecdee367630d097d7823041bdeec",
|
|
||||||
"sha256:9345b6f7ee578bad8e475129ed40123d265464c4cfead6c261fd60fc9de00bcf",
|
|
||||||
"sha256:93a5051fcf5fad72de73b96f07d30bc29665697fb8ecdfbc474f3452c78adcf4",
|
|
||||||
"sha256:962b9a917dd7ceacbe5cd424556914cb0d636001e393b43dc886ba31d2a1e449",
|
|
||||||
"sha256:98ba568e8ae26beb726aeea2273053c717641933836568c2a0278a84987b2a1a",
|
|
||||||
"sha256:a3feefd5e95871872673b08636f96b61ebef62971eab044f5124fb4dea39919d",
|
|
||||||
"sha256:b43c2b8a330a490daaef5a47ab114935002b13b3f9dc5da56d5322ff218eeadb",
|
|
||||||
"sha256:b483c9d00a565633c87abd0aaf27eb5016de23fed952e054ecc19ce32f6a9e7e",
|
|
||||||
"sha256:ba05430e819e58544e840a68b03b28b6d328aff2e41579037e8bab7653b37d83",
|
|
||||||
"sha256:ca5f18a75e1256ce07494e245cdb146f5a9267d3c702ebf9b65c7f8bd843431e",
|
|
||||||
"sha256:d5ca078bb666c4a9d1287a379fe617a6dccd18c3e8a7e6c7e1eb8974330c626a",
|
|
||||||
"sha256:da1a90c1ddb7531b1d5ff1e171b4ee61f6345119be7351104b67ff413843fe94",
|
|
||||||
"sha256:dba70f30fd81f8ce6d32ddeef37d91c8948e5d5a4c63242d16a2b2df8143aafc",
|
|
||||||
"sha256:dd33eb9bdcfbabab3459c9ee651d94c842bc8a05fabc95edf4ee0c15a072495e",
|
|
||||||
"sha256:e0538c43565ee6e703d3a7c3bdfe4037a5209250e8502c98f20fea6f5fdf2965",
|
|
||||||
"sha256:e1f54b9b4b6c53369f40028d2dd07a8c374583417ee6ec0ea304e710a20f80a0",
|
|
||||||
"sha256:e32d2a2b02ccbef10145df9135751abea1f9f076e67a4e261b05f24b94219e36",
|
|
||||||
"sha256:e71255ba42567d34a13c03968736c5d39bb4a97ce98188fafb27ce981115beec",
|
|
||||||
"sha256:ed2e07c6a26ed4bea91b897ee2b0835c21716d9a469a96c3e878dc5f8c55bb23",
|
|
||||||
"sha256:eef2afb0fd1747f33f1ee3e209bce1ed582d1896b240ccc5e2697e3275f037c7",
|
|
||||||
"sha256:f23222527b307970e383433daec128d769ff778d9b29343fb3496472dc20dabe",
|
|
||||||
"sha256:f341ee2df0999bfdf7a95e448075effe0db212a59387de1a70690e4acb03d4c6",
|
|
||||||
"sha256:f7f325be2804246a75a4f45c72d4ce80d2443ab815063cdf70ee8fb2ca59ee1b",
|
|
||||||
"sha256:f8af619e3be812a2059b212064ea7a640aff0568d972cd1b9e920837469eb3cb",
|
|
||||||
"sha256:fa8c626d6441e2d04b6ee703ef2d1e17608ad44c7cb75258c09dd42bacdfc64b",
|
|
||||||
"sha256:fbb9dc00e39f3e6c0ef48edee202f9520dafb233e8b51b06b8428cfcb92abd30",
|
|
||||||
"sha256:fff55f3ce50a3ff63ec8e2a8d3dd924f1941b250b0aac3d3d42b687eeff07a8e"
|
|
||||||
],
|
|
||||||
"index": "pypi",
|
|
||||||
"version": "==2021.11.10"
|
|
||||||
},
|
|
||||||
"requests": {
|
"requests": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24",
|
"sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24",
|
||||||
|
@ -204,30 +204,28 @@ Traceback (most recent call last):
|
|||||||
ImportError: /home/gui/.vim/black/lib/python3.7/site-packages/typed_ast/_ast3.cpython-37m-x86_64-linux-gnu.so: undefined symbool: PyExc_KeyboardInterrupt
|
ImportError: /home/gui/.vim/black/lib/python3.7/site-packages/typed_ast/_ast3.cpython-37m-x86_64-linux-gnu.so: undefined symbool: PyExc_KeyboardInterrupt
|
||||||
```
|
```
|
||||||
|
|
||||||
Then you need to install `typed_ast` and `regex` directly from the source code. The
|
Then you need to install `typed_ast` directly from the source code. The error happens
|
||||||
error happens because `pip` will download [Python wheels](https://pythonwheels.com/) if
|
because `pip` will download [Python wheels](https://pythonwheels.com/) if they are
|
||||||
they are available. Python wheels are a new standard of distributing Python packages and
|
available. Python wheels are a new standard of distributing Python packages and packages
|
||||||
packages that have Cython and extensions written in C are already compiled, so the
|
that have Cython and extensions written in C are already compiled, so the installation
|
||||||
installation is much more faster. The problem here is that somehow the Python
|
is much more faster. The problem here is that somehow the Python environment inside Vim
|
||||||
environment inside Vim does not match with those already compiled C extensions and these
|
does not match with those already compiled C extensions and these kind of errors are the
|
||||||
kind of errors are the result. Luckily there is an easy fix: installing the packages
|
result. Luckily there is an easy fix: installing the packages from the source code.
|
||||||
from the source code.
|
|
||||||
|
|
||||||
The two packages that cause the problem are:
|
The package that causes problems is:
|
||||||
|
|
||||||
- [regex](https://pypi.org/project/regex/)
|
|
||||||
- [typed-ast](https://pypi.org/project/typed-ast/)
|
- [typed-ast](https://pypi.org/project/typed-ast/)
|
||||||
|
|
||||||
Now remove those two packages:
|
Now remove those two packages:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ pip uninstall regex typed-ast -y
|
$ pip uninstall typed-ast -y
|
||||||
```
|
```
|
||||||
|
|
||||||
And now you can install them with:
|
And now you can install them with:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ pip install --no-binary :all: regex typed-ast
|
$ pip install --no-binary :all: typed-ast
|
||||||
```
|
```
|
||||||
|
|
||||||
The C extensions will be compiled and now Vim's Python environment will match. Note that
|
The C extensions will be compiled and now Vim's Python environment will match. Note that
|
||||||
@ -237,7 +235,7 @@ Ubuntu/Debian do `sudo apt-get install build-essential python3-dev`).
|
|||||||
If you later want to update _Black_, you should do it like this:
|
If you later want to update _Black_, you should do it like this:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ pip install -U black --no-binary regex,typed-ast
|
$ pip install -U black --no-binary typed-ast
|
||||||
```
|
```
|
||||||
|
|
||||||
### With ALE
|
### With ALE
|
||||||
|
1
setup.py
1
setup.py
@ -101,7 +101,6 @@ def find_python_files(base: Path) -> List[Path]:
|
|||||||
"platformdirs>=2",
|
"platformdirs>=2",
|
||||||
"tomli>=0.2.6,<2.0.0",
|
"tomli>=0.2.6,<2.0.0",
|
||||||
"typed-ast>=1.4.2; python_version < '3.8' and implementation_name == 'cpython'",
|
"typed-ast>=1.4.2; python_version < '3.8' and implementation_name == 'cpython'",
|
||||||
"regex>=2021.4.4",
|
|
||||||
"pathspec>=0.9.0, <1",
|
"pathspec>=0.9.0, <1",
|
||||||
"dataclasses>=0.6; python_version < '3.7'",
|
"dataclasses>=0.6; python_version < '3.7'",
|
||||||
"typing_extensions>=3.10.0.0",
|
"typing_extensions>=3.10.0.0",
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
import regex as re # We need recursive patterns here (?R)
|
import re
|
||||||
from typing import (
|
from typing import (
|
||||||
Any,
|
Any,
|
||||||
Callable,
|
Callable,
|
||||||
@ -453,7 +453,7 @@ def make_naked(string: str, string_prefix: str) -> str:
|
|||||||
# with 'f'...
|
# with 'f'...
|
||||||
if "f" in prefix and "f" not in next_prefix:
|
if "f" in prefix and "f" not in next_prefix:
|
||||||
# Then we must escape any braces contained in this substring.
|
# Then we must escape any braces contained in this substring.
|
||||||
SS = re.subf(r"(\{|\})", "{1}{1}", SS)
|
SS = re.sub(r"(\{|\})", r"\1\1", SS)
|
||||||
|
|
||||||
NSS = make_naked(SS, next_prefix)
|
NSS = make_naked(SS, next_prefix)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user