Add optional uvloop import (#2258)
* Add optional uvloop import - If we find `uvloop` in the env for black, blackd or black-primer lets try and use it - Add a uvloop extra install Fixes #2257 Test: - Add ci job to install black[uvloop] and run a primer run with uvloop - Only with latest python (3.9) - Will be handy to compare runtimes as a very unoffical benchmark * Remove tox install * Add to CHANGES/news
This commit is contained in:
parent
92f20d7f84
commit
754eecf69e
45
.github/workflows/uvloop_test.yml
vendored
Normal file
45
.github/workflows/uvloop_test.yml
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
name: test uvloop
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- "docs/**"
|
||||
- "*.md"
|
||||
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- "docs/**"
|
||||
- "*.md"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
# We want to run on external PRs, but not on our own internal PRs as they'll be run
|
||||
# by the push to the branch. Without this if check, checks are duplicated since
|
||||
# internal PRs match both the push and pull_request events.
|
||||
if:
|
||||
github.event_name == 'push' || github.event.pull_request.head.repo.full_name !=
|
||||
github.repository
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, macOS-latest]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2
|
||||
|
||||
- name: Install latest pip
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
|
||||
- name: Test uvloop Extra Install
|
||||
run: |
|
||||
python -m pip install -e ".[uvloop]"
|
||||
|
||||
- name: Primer uvloop run
|
||||
run: |
|
||||
black-primer
|
@ -9,6 +9,7 @@
|
||||
- Respect `.gitignore` files in all levels, not only `root/.gitignore` file (apply
|
||||
`.gitignore` rules like `git` does) (#2225)
|
||||
- Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (#2227)
|
||||
- Add extra uvloop install + import support if in python env (#2258)
|
||||
|
||||
### _Blackd_
|
||||
|
||||
|
1
setup.py
1
setup.py
@ -86,6 +86,7 @@ def get_long_description() -> str:
|
||||
"d": ["aiohttp>=3.6.0", "aiohttp-cors>=0.4.0"],
|
||||
"colorama": ["colorama>=0.4.3"],
|
||||
"python2": ["typed-ast>=1.4.2"],
|
||||
"uvloop": ["uvloop>=0.15.2"],
|
||||
},
|
||||
test_suite="tests.test_black",
|
||||
classifiers=[
|
||||
|
@ -54,6 +54,13 @@
|
||||
|
||||
from _black_version import version as __version__
|
||||
|
||||
# If our environment has uvloop installed lets use it
|
||||
try:
|
||||
import uvloop
|
||||
|
||||
uvloop.install()
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
# types
|
||||
FileContent = str
|
||||
|
@ -13,6 +13,14 @@
|
||||
|
||||
from black_primer import lib
|
||||
|
||||
# If our environment has uvloop installed lets use it
|
||||
try:
|
||||
import uvloop
|
||||
|
||||
uvloop.install()
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
|
||||
DEFAULT_CONFIG = Path(__file__).parent / "primer.json"
|
||||
_timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
|
||||
|
@ -22,6 +22,14 @@
|
||||
import black
|
||||
import click
|
||||
|
||||
# If our environment has uvloop installed lets use it
|
||||
try:
|
||||
import uvloop
|
||||
|
||||
uvloop.install()
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
from _black_version import version as __version__
|
||||
|
||||
# This is used internally by tests to shut down the server prematurely
|
||||
|
Loading…
Reference in New Issue
Block a user