Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update Python dependencies (major) (#44)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [anyio](https://togithub.com/agronholm/anyio) ([changelog](https://anyio.readthedocs.io/en/stable/versionhistory.html)) | `==3.7.0` -> `==4.0.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/anyio/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/anyio/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/anyio/3.7.0/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/anyio/3.7.0/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [flake8](https://togithub.com/pycqa/flake8) ([changelog](https://flake8.pycqa.org/en/latest/release-notes/index.html)) | `5.0.4` -> `6.1.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/flake8/6.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/flake8/6.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/flake8/5.0.4/6.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/flake8/5.0.4/6.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [httpcore](https://togithub.com/encode/httpcore) | `==0.17.2` -> `==1.0.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/httpcore/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/httpcore/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/httpcore/0.17.2/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/httpcore/0.17.2/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>agronholm/anyio (anyio)</summary> ### [`v4.0.0`](https://togithub.com/agronholm/anyio/releases/tag/4.0.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/3.7.1...4.0.0) - **BACKWARDS INCOMPATIBLE** Replaced AnyIO's own `ExceptionGroup` class with the PEP 654 `BaseExceptionGroup` and `ExceptionGroup` - **BACKWARDS INCOMPATIBLE** Changes to cancellation semantics: - Any exceptions raising out of a task groups are now nested inside an `ExceptionGroup` (or `BaseExceptionGroup` if one or more `BaseException` were included) - Fixed task group not raising a cancellation exception on asyncio at exit if no child tasks were spawned and an outer cancellation scope had been cancelled before - Ensured that exiting a `TaskGroup` always hits a yield point, regardless of whether there are running child tasks to be waited on - On asyncio, cancel scopes will defer cancelling tasks that are scheduled to resume with a finished future - On asyncio and Python 3.9/3.10, cancel scopes now only suppress cancellation exceptions if the cancel message matches the scope - Task groups on all backends now raise a single cancellation exception when an outer cancel scope is cancelled, and no exceptions other than cancellation exceptions are raised in the group - **BACKWARDS INCOMPATIBLE** Changes the pytest plugin to run all tests and fixtures in the same task, allowing fixtures to set context variables for tests and other fixtures - **BACKWARDS INCOMPATIBLE** Changed `anyio.Path.relative_to()` and `anyio.Path.is_relative_to()` to only accept one argument, as passing multiple arguments is deprecated as of Python 3.12 - **BACKWARDS INCOMPATIBLE** Dropped support for spawning tasks from old-style coroutine functions (`@asyncio.coroutine`) - **BACKWARDS INCOMPATIBLE** The `policy` option on the `asyncio` backend was changed to `loop_factory` to accommodate `asyncio.Runner` - Changed `anyio.run()` to use `asyncio.Runner` (or a back-ported version of it on Pythons older than 3.11) on the `asyncio` backend - Dropped support for Python 3.7 - Added support for Python 3.12 - Bumped minimum version of trio to v0.22 - Added the `anyio.Path.is_junction()` and `anyio.Path.walk()` methods - Added `create_unix_datagram_socket` and `create_connected_unix_datagram_socket` to create UNIX datagram sockets (PR by Jean Hominal) - Fixed `from_thread.run` and `from_thread.run_sync` not setting sniffio on asyncio. As a result: - Fixed `from_thread.run_sync` failing when used to call sniffio-dependent functions on asyncio - Fixed `from_thread.run` failing when used to call sniffio-dependent functions on asyncio from a thread running trio or curio - Fixed deadlock when using `from_thread.start_blocking_portal(backend="asyncio")` in a thread running trio or curio (PR by Ganden Schaffner) - Improved type annotations: - The `item_type` argument of `create_memory_object_stream` was deprecated. To indicate the item type handled by the stream, use `create_memory_object_stream[T_Item]()` instead. Type checking should no longer fail when annotating memory object streams with uninstantiable item types (PR by Ganden Schaffner) - Added the `CancelScope.cancelled_caught` property which tells users if the cancel scope suppressed a cancellation exception - Fixed `fail_after()` raising an unwarranted `TimeoutError` when the cancel scope was cancelled before reaching its deadline - Fixed `MemoryObjectReceiveStream.receive()` causing the receiving task on asyncio to remain in a cancelled state if the operation was cancelled after an item was queued to be received by the task (but before the task could actually receive the item) - Fixed `TaskGroup.start()` on asyncio not responding to cancellation from the outside - Fixed tasks started from `BlockingPortal` not notifying synchronous listeners (`concurrent.futures.wait()`) when they're cancelled - Removed unnecessary extra waiting cycle in `Event.wait()` on asyncio in the case where the event was not yet set - Fixed processes spawned by `anyio.to_process()` being "lost" as unusable to the process pool when processes that have idled over 5 minutes are pruned at part of the `to_process.run_sync()` call, leading to increased memory consumption (PR by Anael Gorfinkel) Changes since 4.0.0rc1: - Fixed the type annotation of `TaskGroup.start_soon()` to accept any awaitables (already in v3.7.0 but was missing from 4.0.0rc1) - Changed `CancelScope` to also consider the cancellation count (in addition to the cancel message) on asyncio to determine if a cancellation exception should be swallowed on scope exit, to combat issues where third party libraries catch the `CancelledError` and raise another, thus erasing the original cancel message - Worked around a [CPython bug](https://togithub.com/python/cpython/issues/108668) that caused `TLSListener.handle_handshake_error()` on asyncio to log `"NoneType: None"` instead of the error (PR by Ganden Schaffner) - Re-added the `item_type` argument to `create_memory_object_stream()` (but using it raises a deprecation warning and does nothing with regards to the static types of the returned streams) - Fixed processes spawned by `anyio.to_process()` being "lost" as unusable to the process pool when processes that have idled over 5 minutes are pruned at part of the `to_process.run_sync()` call, leading to increased memory consumption (PR by Anael Gorfinkel) ### [`v3.7.1`](https://togithub.com/agronholm/anyio/compare/3.7.0...3.7.1) [Compare Source](https://togithub.com/agronholm/anyio/compare/3.7.0...3.7.1) </details> <details> <summary>pycqa/flake8 (flake8)</summary> ### [`v6.1.0`](https://togithub.com/pycqa/flake8/compare/6.0.0...6.1.0) [Compare Source](https://togithub.com/pycqa/flake8/compare/6.0.0...6.1.0) ### [`v6.0.0`](https://togithub.com/pycqa/flake8/compare/5.0.4...6.0.0) [Compare Source](https://togithub.com/pycqa/flake8/compare/5.0.4...6.0.0) </details> <details> <summary>encode/httpcore (httpcore)</summary> ### [`v1.0.0`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#100-November-6th-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/0.18.0...1.0.0) From version 1.0 our async support is now optional, as the package has minimal dependencies by default. For async support use either `pip install 'httpcore[asyncio]'` or `pip install 'httpcore[trio]'`. The project versioning policy is now explicitly governed by SEMVER. See https://semver.org/. - Async support becomes fully optional. ([#​809](https://togithub.com/encode/httpcore/issues/809)) - Add support for Python 3.12. ([#​807](https://togithub.com/encode/httpcore/issues/807)) ### [`v0.18.0`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#0180-September-8th-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/0.17.3...0.18.0) - Add support for HTTPS proxies. ([#​745](https://togithub.com/encode/httpcore/issues/745), [#​786](https://togithub.com/encode/httpcore/issues/786)) - Drop Python 3.7 support. ([#​727](https://togithub.com/encode/httpcore/issues/727)) - Handle `sni_hostname` extension with SOCKS proxy. ([#​774](https://togithub.com/encode/httpcore/issues/774)) - Handle HTTP/1.1 half-closed connections gracefully. ([#​641](https://togithub.com/encode/httpcore/issues/641)) - Change the type of `Extensions` from `Mapping[Str, Any]` to `MutableMapping[Str, Any]`. ([#​762](https://togithub.com/encode/httpcore/issues/762)) ### [`v0.17.3`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#0173-July-5th-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/0.17.2...0.17.3) - Support async cancellations, ensuring that the connection pool is left in a clean state when cancellations occur. ([#​726](https://togithub.com/encode/httpcore/issues/726)) - The networking backend interface has [been added to the public API](https://www.encode.io/httpcore/network-backends). Some classes which were previously private implementation detail are now part of the top-level public API. ([#​699](https://togithub.com/encode/httpcore/issues/699)) - Graceful handling of HTTP/2 GoAway frames, with requests being transparently retried on a new connection. ([#​730](https://togithub.com/encode/httpcore/issues/730)) - Add exceptions when a synchronous `trace callback` is passed to an asynchronous request or an asynchronous `trace callback` is passed to a synchronous request. ([#​717](https://togithub.com/encode/httpcore/issues/717)) - Drop Python 3.7 support. ([#​727](https://togithub.com/encode/httpcore/issues/727)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 1am and before 2am on saturday" in timezone Etc/UTC, 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/canonical/spark-k8s-toolkit-py). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4xOS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
- Loading branch information