All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
* Move to explicitly creating a new loop
- >= 3.10 add a warning that `get_event_loop` will not automatically create a loop
- Move to explicit API
Test:
- `python3.11 -m venv --upgrade-deps /tmp/tb`
- `/tmp/tb/bin/pip install -e .`
- Install deps and no blackd as aiohttp + yarl can't build still with 3.11
- https://github.com/aio-libs/aiohttp/issues/6600
- `export PYTHONWARNINGS=error`
```
cooper@l33t:~/repos/black$ /tmp/tb/bin/black .
All done! ✨ 🍰 ✨
44 files left unchanged.
```
Fixes #3110
* Add to CHANGES.md
* Fix a cooper typo yet again
* Set default asyncio loop to our explicitly created one + unset on exit
* Update CHANGES.md
Fix my silly typo.
Co-authored-by: Thomas Grainger <tagrain@gmail.com>
Co-authored-by: Cooper Ry Lees <me@wcooperlees.com>
Co-authored-by: Thomas Grainger <tagrain@gmail.com>
<!-- Changes to Black's terminal output and error messages -->
<!-- Changes to Black's terminal output and error messages -->
+- Change from deprecated `asyncio.get_event_loop()` to create our event loop which
+ removes DeprecationWarning (#3164)
+
### Packaging
<!-- Changes to how Black is packaged, such as dependency requirements -->
### Packaging
<!-- Changes to how Black is packaged, such as dependency requirements -->
from concurrent.futures import Executor, ThreadPoolExecutor, ProcessPoolExecutor
executor: Executor
from concurrent.futures import Executor, ThreadPoolExecutor, ProcessPoolExecutor
executor: Executor
- loop = asyncio.get_event_loop()
worker_count = workers if workers is not None else DEFAULT_WORKERS
if sys.platform == "win32":
# Work around https://bugs.python.org/issue26903
worker_count = workers if workers is not None else DEFAULT_WORKERS
if sys.platform == "win32":
# Work around https://bugs.python.org/issue26903
# any good due to the Global Interpreter Lock)
executor = ThreadPoolExecutor(max_workers=1)
# any good due to the Global Interpreter Lock)
executor = ThreadPoolExecutor(max_workers=1)
+ loop = asyncio.new_event_loop()
+ asyncio.set_event_loop(loop)
try:
loop.run_until_complete(
schedule_formatting(
try:
loop.run_until_complete(
schedule_formatting(
+ try:
+ shutdown(loop)
+ finally:
+ asyncio.set_event_loop(None)
if executor is not None:
executor.shutdown()
if executor is not None:
executor.shutdown()