-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a context manager for creating Spark Session [Integration Pulse Spark <> Kubeflow] #122
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[](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.1` -> `==4.3.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [certifi](https://togithub.com/certifi/python-certifi) | `==2023.11.17` -> `==2024.2.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` -> `7.0.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [httpcore](https://togithub.com/encode/httpcore) | `==0.18.0` -> `==1.0.4` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pyOpenSSL](https://pyopenssl.org/) ([source](https://togithub.com/pyca/pyopenssl)) | `23.3.0` -> `24.1.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pytest](https://togithub.com/pytest-dev/pytest) ([changelog](https://docs.pytest.org/en/stable/changelog.html)) | `7.4.4` -> `8.1.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pytest-cov](https://togithub.com/pytest-dev/pytest-cov) ([changelog](https://pytest-cov.readthedocs.io/en/latest/changelog.html)) | `4.1.0` -> `5.0.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>agronholm/anyio (anyio)</summary> ### [`v4.3.0`](https://togithub.com/agronholm/anyio/releases/tag/4.3.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.2.0...4.3.0) - Added support for the Python 3.12 `walk_up` keyword argument in `anyio.Path.relative_to()` (PR by Colin Taylor) - Fixed passing `total_tokens` to `anyio.CapacityLimiter()` as a keyword argument not working on the `trio` backend ([#​515](https://togithub.com/agronholm/anyio/issues/515)) - Fixed `Process.aclose()` not performing the minimum level of necessary cleanup when cancelled. Previously: - Cancellation of `Process.aclose()` could leak an orphan process - Cancellation of `run_process()` could very briefly leak an orphan process. - Cancellation of `Process.aclose()` or `run_process()` on Trio could leave standard streams unclosed (PR by Ganden Schaffner) - Fixed `Process.stdin.aclose()`, `Process.stdout.aclose()`, and `Process.stderr.aclose()` not including a checkpoint on asyncio (PR by Ganden Schaffner) - Fixed documentation on how to provide your own typed attributes ### [`v4.2.0`](https://togithub.com/agronholm/anyio/releases/tag/4.2.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.1.0...4.2.0) - Add support for `byte`-based paths in `connect_unix`, `create_unix_listeners`, `create_unix_datagram_socket`, and `create_connected_unix_datagram_socket`. (PR by Lura Skye) - Enabled the `Event` and `CapacityLimiter` classes to be instantiated outside an event loop thread - Broadly improved/fixed the type annotations. Among other things, many functions and methods that take variadic positional arguments now make use of PEP 646 `TypeVarTuple` to allow the positional arguments to be validated by static type checkers. These changes affected numerous methods and functions, including: - `anyio.run()` - `TaskGroup.start_soon()` - `anyio.from_thread.run()` - `anyio.from_thread.run_sync()` - `anyio.to_thread.run_sync()` - `anyio.to_process.run_sync()` - `BlockingPortal.call()` - `BlockingPortal.start_task_soon()` - `BlockingPortal.start_task()` (also resolves [#​560](https://togithub.com/agronholm/anyio/issues/560)) - Fixed various type annotations of `anyio.Path` to match Typeshed: - `anyio.Path.__lt__()` - `anyio.Path.__le__()` - `anyio.Path.__gt__()` - `anyio.Path.__ge__()` - `anyio.Path.__truediv__()` - `anyio.Path.__rtruediv__()` - `anyio.Path.hardlink_to()` - `anyio.Path.samefile()` - `anyio.Path.symlink_to()` - `anyio.Path.with_segments()` (PR by Ganden Schaffner) - Fixed adjusting the total number of tokens in a `CapacityLimiter` on asyncio failing to wake up tasks waiting to acquire the limiter in certain edge cases (fixed with help from Egor Blagov) - Fixed `loop_factory` and `use_uvloop` options not being used on the asyncio backend ([#​643](https://togithub.com/agronholm/anyio/issues/643)) - Fixed cancellation propagating on asyncio from a task group to child tasks if the task hosting the task group is in a shielded cancel scope ([#​642](https://togithub.com/agronholm/anyio/issues/642)) ### [`v4.1.0`](https://togithub.com/agronholm/anyio/releases/tag/4.1.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.0.0...4.1.0) - Adapted to API changes made in Trio v0.23: - Call `trio.to_thread.run_sync()` using the `abandon_on_cancel` keyword argument instead of `cancellable` - Removed a checkpoint when exiting a task group - Renamed the `cancellable` argument in `anyio.to_thread.run_sync()` to `abandon_on_cancel` (and deprecated the old parameter name) - Bumped minimum version of Trio to v0.23 - Added support for voluntary thread cancellation via `anyio.from_thread.check_cancelled()` - Bumped minimum version of trio to v0.23 - Exposed the `ResourceGuard` class in the public API ([#​627](https://togithub.com/agronholm/anyio/issues/627)) - Fixed `RuntimeError: Runner is closed` when running higher-scoped async generator fixtures in some cases ([#​619](https://togithub.com/agronholm/anyio/issues/619)) - Fixed discrepancy between `asyncio` and `trio` where reraising a cancellation exception in an `except*` block would incorrectly bubble out of its cancel scope ([#​634](https://togithub.com/agronholm/anyio/issues/634)) ### [`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) </details> <details> <summary>certifi/python-certifi (certifi)</summary> ### [`v2024.2.2`](https://togithub.com/certifi/python-certifi/compare/2023.11.17...2024.02.02) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2023.11.17...2024.02.02) </details> <details> <summary>pycqa/flake8 (flake8)</summary> ### [`v7.0.0`](https://togithub.com/pycqa/flake8/compare/6.1.0...7.0.0) [Compare Source](https://togithub.com/pycqa/flake8/compare/6.1.0...7.0.0) ### [`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.4`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#104-February-21st-2024) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.3...1.0.4) - Add `target` request extension. ([#​888](https://togithub.com/encode/httpcore/issues/888)) - Fix support for connection `Upgrade` and `CONNECT` when some data in the stream has been read. ([#​882](https://togithub.com/encode/httpcore/issues/882)) ### [`v1.0.3`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#103-February-13th-2024) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.2...1.0.3) - Fix support for async cancellations. ([#​880](https://togithub.com/encode/httpcore/issues/880)) - Fix trace extension when used with socks proxy. ([#​849](https://togithub.com/encode/httpcore/issues/849)) - Fix SSL context for connections using the "wss" scheme ([#​869](https://togithub.com/encode/httpcore/issues/869)) ### [`v1.0.2`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#102-November-10th-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.1...1.0.2) - Fix `float("inf")` timeouts in `Event.wait` function. ([#​846](https://togithub.com/encode/httpcore/issues/846)) ### [`v1.0.1`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#101-November-3rd-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.0...1.0.1) - Fix pool timeout to account for the total time spent retrying. ([#​823](https://togithub.com/encode/httpcore/issues/823)) - Raise a neater RuntimeError when the correct async deps are not installed. ([#​826](https://togithub.com/encode/httpcore/issues/826)) - Add support for synchronous TLS-in-TLS streams. ([#​840](https://togithub.com/encode/httpcore/issues/840)) ### [`v1.0.0`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#100-October-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)) </details> <details> <summary>pyca/pyopenssl (pyOpenSSL)</summary> ### [`v24.1.0`](https://togithub.com/pyca/pyopenssl/blob/HEAD/CHANGELOG.rst#2410-2024-03-09) [Compare Source](https://togithub.com/pyca/pyopenssl/compare/24.0.0...24.1.0) Backward-incompatible changes: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Removed the deprecated `OpenSSL.crypto.PKCS12` and `OpenSSL.crypto.NetscapeSPKI`. `OpenSSL.crypto.PKCS12` may be replaced by the [PKCS#12](https://togithub.com/PKCS/pyopenssl/issues/12) APIs in the `cryptography` package. Deprecations: ^^^^^^^^^^^^^ Changes: ^^^^^^^^ ### [`v24.0.0`](https://togithub.com/pyca/pyopenssl/blob/HEAD/CHANGELOG.rst#2400-2024-01-22) [Compare Source](https://togithub.com/pyca/pyopenssl/compare/23.3.0...24.0.0) Backward-incompatible changes: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Deprecations: ^^^^^^^^^^^^^ Changes: ^^^^^^^^ - Added `OpenSSL.SSL.Connection.get_selected_srtp_profile` to determine which SRTP profile was negotiated. `#​1279 <https://github.com/pyca/pyopenssl/pull/1279>`\_. </details> <details> <summary>pytest-dev/pytest (pytest)</summary> ### [`v8.1.1`](https://togithub.com/pytest-dev/pytest/releases/tag/8.1.1) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.1.0...8.1.1) # pytest 8.1.1 (2024-03-08) ::: {.note} ::: {.title} Note ::: This release is not a usual bug fix release -- it contains features and improvements, being a follow up to `8.1.0`, which has been yanked from PyPI. ::: ## Features - [#​11475](https://togithub.com/pytest-dev/pytest/issues/11475): Added the new `consider_namespace_packages`{.interpreted-text role="confval"} configuration option, defaulting to `False`. If set to `True`, pytest will attempt to identify modules that are part of [namespace packages](https://packaging.python.org/en/latest/guides/packaging-namespace-packages) when importing modules. - [#​11653](https://togithub.com/pytest-dev/pytest/issues/11653): Added the new `verbosity_test_cases`{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity. See `Fine-grained verbosity <pytest.fine_grained_verbosity>`{.interpreted-text role="ref"} for more details. ## Improvements - [#​10865](https://togithub.com/pytest-dev/pytest/issues/10865): `pytest.warns`{.interpreted-text role="func"} now validates that `warnings.warn`{.interpreted-text role="func"} was called with a \[str]{.title-ref} or a \[Warning]{.title-ref}. Currently in Python it is possible to use other types, however this causes an exception when `warnings.filterwarnings`{.interpreted-text role="func"} is used to filter those warnings (see [CPython #​103577](https://togithub.com/python/cpython/issues/103577) for a discussion). While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing. - [#​11311](https://togithub.com/pytest-dev/pytest/issues/11311): When using `--override-ini` for paths in invocations without a configuration file defined, the current working directory is used as the relative directory. Previoulsy this would raise an `AssertionError`{.interpreted-text role="class"}. - [#​11475](https://togithub.com/pytest-dev/pytest/issues/11475): `--import-mode=importlib <import-mode-importlib>`{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :py`sys.path`{.interpreted-text role="data"}), falling back to importing modules directly only if that fails. This means that installed packages will be imported under their canonical name if possible first, for example `app.core.models`, instead of having the module name always be derived from their path (for example `.env310.lib.site_packages.app.core.models`). - [#​11801](https://togithub.com/pytest-dev/pytest/issues/11801): Added the `iter_parents() <_pytest.nodes.Node.iter_parents>`{.interpreted-text role="func"} helper method on nodes. It is similar to `listchain <_pytest.nodes.Node.listchain>`{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list. - [#​11850](https://togithub.com/pytest-dev/pytest/issues/11850): Added support for `sys.last_exc`{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12. - [#​11962](https://togithub.com/pytest-dev/pytest/issues/11962): In case no other suitable candidates for configuration file are found, a `pyproject.toml` (even without a `[tool.pytest.ini_options]` table) will be considered as the configuration file and define the `rootdir`. - [#​11978](https://togithub.com/pytest-dev/pytest/issues/11978): Add `--log-file-mode` option to the logging plugin, enabling appending to log-files. This option accepts either `"w"` or `"a"` and defaults to `"w"`. Previously, the mode was hard-coded to be `"w"` which truncates the file before logging. - [#​12047](https://togithub.com/pytest-dev/pytest/issues/12047): When multiple finalizers of a fixture raise an exception, now all exceptions are reported as an exception group. Previously, only the first exception was reported. ## Bug Fixes - [#​11475](https://togithub.com/pytest-dev/pytest/issues/11475): Fixed regression where `--importmode=importlib` would import non-test modules more than once. - [#​11904](https://togithub.com/pytest-dev/pytest/issues/11904): Fixed a regression in pytest 8.0.0 that would cause test collection to fail due to permission errors when using `--pyargs`. This change improves the collection tree for tests specified using `--pyargs`, see `12043`{.interpreted-text role="pull"} for a comparison with pytest 8.0 and <8. - [#​12011](https://togithub.com/pytest-dev/pytest/issues/12011): Fixed a regression in 8.0.1 whereby `setup_module` xunit-style fixtures are not executed when `--doctest-modules` is passed. - [#​12014](https://togithub.com/pytest-dev/pytest/issues/12014): Fix the `stacklevel` used when warning about marks used on fixtures. - [#​12039](https://togithub.com/pytest-dev/pytest/issues/12039): Fixed a regression in `8.0.2` where tests created using `tmp_path`{.interpreted-text role="fixture"} have been collected multiple times in CI under Windows. ## Improved Documentation - [#​11790](https://togithub.com/pytest-dev/pytest/issues/11790): Documented the retention of temporary directories created using the `tmp_path` fixture in more detail. ## Trivial/Internal Changes - [#​11785](https://togithub.com/pytest-dev/pytest/issues/11785): Some changes were made to private functions which may affect plugins which access them: - `FixtureManager._getautousenames()` now takes a `Node` itself instead of the nodeid. - `FixtureManager.getfixturedefs()` now takes the `Node` itself instead of the nodeid. - The `_pytest.nodes.iterparentnodeids()` function is removed without replacement. Prefer to traverse the node hierarchy itself instead. If you really need to, copy the function from the previous pytest release. - [#​12069](https://togithub.com/pytest-dev/pytest/issues/12069): Delayed the deprecation of the following features to `9.0.0`: - `node-ctor-fspath-deprecation`{.interpreted-text role="ref"}. - `legacy-path-hooks-deprecated`{.interpreted-text role="ref"}. It was discovered after `8.1.0` was released that the warnings about the impeding removal were not being displayed, so the team decided to revert the removal. This is the reason for `8.1.0` being yanked. # pytest 8.1.0 (YANKED) ::: {.note} ::: {.title} Note ::: This release has been **yanked**: it broke some plugins without the proper warning period, due to some warnings not showing up as expected. See [#​12069](https://togithub.com/pytest-dev/pytest/issues/12069). ::: ### [`v8.1.0`](https://togithub.com/pytest-dev/pytest/releases/tag/8.1.0) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.0.2...8.1.0) # pytest 8.1.0 (YANKED) > \[!IMPORTANT]\ > This release has been **yanked**: it broke some plugins without the proper warning period, due to some warnings not showing up as expected. See [#​12069](https://togithub.com/pytest-dev/pytest/issues/12069). ## Features - [#​11475](https://togithub.com/pytest-dev/pytest/issues/11475): Added the new `consider_namespace_packages`{.interpreted-text role="confval"} configuration option, defaulting to `False`. If set to `True`, pytest will attempt to identify modules that are part of [namespace packages](https://packaging.python.org/en/latest/guides/packaging-namespace-packages) when importing modules. - [#​11653](https://togithub.com/pytest-dev/pytest/issues/11653): Added the new `verbosity_test_cases`{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity. See `Fine-grained verbosity <pytest.fine_grained_verbosity>`{.interpreted-text role="ref"} for more details. ## Improvements - [#​10865](https://togithub.com/pytest-dev/pytest/issues/10865): `pytest.warns`{.interpreted-text role="func"} now validates that `warnings.warn`{.interpreted-text role="func"} was called with a \[str]{.title-ref} or a \[Warning]{.title-ref}. Currently in Python it is possible to use other types, however this causes an exception when `warnings.filterwarnings`{.interpreted-text role="func"} is used to filter those warnings (see [CPython #​103577](https://togithub.com/python/cpython/issues/103577) for a discussion). While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing. - [#​11311](https://togithub.com/pytest-dev/pytest/issues/11311): When using `--override-ini` for paths in invocations without a configuration file defined, the current working directory is used as the relative directory. Previoulsy this would raise an `AssertionError`{.interpreted-text role="class"}. - [#​11475](https://togithub.com/pytest-dev/pytest/issues/11475): `--import-mode=importlib <import-mode-importlib>`{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :py`sys.path`{.interpreted-text role="data"}), falling back to importing modules directly only if that fails. This means that installed packages will be imported under their canonical name if possible first, for example `app.core.models`, instead of having the module name always be derived from their path (for example `.env310.lib.site_packages.app.core.models`). - [#​11801](https://togithub.com/pytest-dev/pytest/issues/11801): Added the `iter_parents() <_pytest.nodes.Node.iter_parents>`{.interpreted-text role="func"} helper method on nodes. It is similar to `listchain <_pytest.nodes.Node.listchain>`{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list. - [#​11850](https://togithub.com/pytest-dev/pytest/issues/11850): Added support for `sys.last_exc`{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12. - [#​11962](https://togithub.com/pytest-dev/pytest/issues/11962): In case no other suitable candidates for configuration file are found, a `pyproject.toml` (even without a `[tool.pytest.ini_options]` table) will be considered as the configuration file and define the `rootdir`. - [#​11978](https://togithub.com/pytest-dev/pytest/issues/11978): Add `--log-file-mode` option to the logging plugin, enabling appending to log-files. This option accepts either `"w"` or `"a"` and defaults to `"w"`. Previously, the mode was hard-coded to be `"w"` which truncates the file before logging. - [#​12047](https://togithub.com/pytest-dev/pytest/issues/12047): When multiple finalizers of a fixture raise an exception, now all exceptions are reported as an exception group. Previously, only the first exception was reported. ## Bug Fixes - [#​11904](https://togithub.com/pytest-dev/pytest/issues/11904): Fixed a regression in pytest 8.0.0 that would cause test collection to fail due to permission errors when using `--pyargs`. This change improves the collection tree for tests specified using `--pyargs`, see `12043`{.interpreted-text role="pull"} for a comparison with pytest 8.0 and <8. - [#​12011](https://togithub.com/pytest-dev/pytest/issues/12011): Fixed a regression in 8.0.1 whereby `setup_module` xunit-style fixtures are not executed when `--doctest-modules` is passed. - [#​12014](https://togithub.com/pytest-dev/pytest/issues/12014): Fix the `stacklevel` used when warning about marks used on fixtures. - [#​12039](https://togithub.com/pytest-dev/pytest/issues/12039): Fixed a regression in `8.0.2` where tests created using `tmp_path`{.interpreted-text role="fixture"} have been collected multiple times in CI under Windows. ## Improved Documentation - [#​11790](https://togithub.com/pytest-dev/pytest/issues/11790): Documented the retention of temporary directories created using the `tmp_path` fixture in more detail. ## Trivial/Internal Changes - [#​11785](https://togithub.com/pytest-dev/pytest/issues/11785): Some changes were made to private functions which may affect plugins which access them: - `FixtureManager._getautousenames()` now takes a `Node` itself instead of the nodeid. - `FixtureManager.getfixturedefs()` now takes the `Node` itself instead of the nodeid. - The `_pytest.nodes.iterparentnodeids()` function is removed without replacement. Prefer to traverse the node hierarchy itself instead. If you really need to, copy the function from the previous pytest release. ### [`v8.0.2`](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.2) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.0.1...8.0.2) # pytest 8.0.2 (2024-02-24) ## Bug Fixes - [#​11895](https://togithub.com/pytest-dev/pytest/issues/11895): Fix collection on Windows where initial paths contain the short version of a path (for example `c:\PROGRA~1\tests`). - [#​11953](https://togithub.com/pytest-dev/pytest/issues/11953): Fix an `IndexError` crash raising from `getstatementrange_ast`. - [#​12021](https://togithub.com/pytest-dev/pytest/issues/12021): Reverted a fix to \[--maxfail]{.title-ref} handling in pytest 8.0.0 because it caused a regression in pytest-xdist whereby session fixture teardowns may get executed multiple times when the max-fails is reached. ### [`v8.0.1`](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.1) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.0.0...8.0.1) # pytest 8.0.1 (2024-02-16) ## Bug Fixes - [#​11875](https://togithub.com/pytest-dev/pytest/issues/11875): Correctly handle errors from `getpass.getuser`{.interpreted-text role="func"} in Python 3.13. - [#​11879](https://togithub.com/pytest-dev/pytest/issues/11879): Fix an edge case where `ExceptionInfo._stringify_exception` could crash `pytest.raises`{.interpreted-text role="func"}. - [#​11906](https://togithub.com/pytest-dev/pytest/issues/11906): Fix regression with `pytest.warns`{.interpreted-text role="func"} using custom warning subclasses which have more than one parameter in their \[\__init\_\_]{.title-ref}. - [#​11907](https://togithub.com/pytest-dev/pytest/issues/11907): Fix a regression in pytest 8.0.0 whereby calling `pytest.skip`{.interpreted-text role="func"} and similar control-flow exceptions within a `pytest.warns()`{.interpreted-text role="func"} block would get suppressed instead of propagating. - [#​11929](https://togithub.com/pytest-dev/pytest/issues/11929): Fix a regression in pytest 8.0.0 whereby autouse fixtures defined in a module get ignored by the doctests in the module. - [#​11937](https://togithub.com/pytest-dev/pytest/issues/11937): Fix a regression in pytest 8.0.0 whereby items would be collected in reverse order in some circumstances. ### [`v8.0.0`](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.0): pytest 8.0.0 (2024-01-27) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/7.4.4...8.0.0) See [8.0.0rc1](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.0rc1) and [8.0.0rc2](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.0rc2) for the full changes since pytest 7.4! #### Bug Fixes - [#​11842](https://togithub.com/pytest-dev/pytest/issues/11842): Properly escape the `reason` of a `skip <pytest.mark.skip ref>`{.interpreted-text role="ref"} mark when writing JUnit XML files. - [#​11861](https://togithub.com/pytest-dev/pytest/issues/11861): Avoid microsecond exceeds `1_000_000` when using `log-date-format` with `%f` specifier, which might cause the test suite to crash. </details> <details> <summary>pytest-dev/pytest-cov (pytest-cov)</summary> ### [`v5.0.0`](https://togithub.com/pytest-dev/pytest-cov/blob/HEAD/CHANGELOG.rst#500-2024-03-24) [Compare Source](https://togithub.com/pytest-dev/pytest-cov/compare/v4.1.0...v5.0.0) - Removed support for xdist rsync (now deprecated). Contributed by Matthias Reichenbach in `#​623 <https://github.com/pytest-dev/pytest-cov/pull/623>`\_. - Switched docs theme to Furo. - Various legacy Python cleanup and CI improvements. Contributed by Christian Clauss and Hugo van Kemenade in `#​630 <https://github.com/pytest-dev/pytest-cov/pull/630>`*, `#​631 <https://github.com/pytest-dev/pytest-cov/pull/631>`*, `#​632 <https://github.com/pytest-dev/pytest-cov/pull/632>`\_ and `#​633 <https://github.com/pytest-dev/pytest-cov/pull/633>`\_. - Added a `pyproject.toml` example in the docs. Contributed by Dawn James in `#​626 <https://github.com/pytest-dev/pytest-cov/pull/626>`\_. - Modernized project's pre-commit hooks to use ruff. Initial POC contributed by Christian Clauss in `#​584 <https://github.com/pytest-dev/pytest-cov/pull/584>`\_. </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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-python](https://togithub.com/actions/setup-python) | action | minor | `v5.0.0` -> `v5.1.0` | --- ### Release Notes <details> <summary>actions/setup-python (actions/setup-python)</summary> ### [`v5.1.0`](https://togithub.com/actions/setup-python/releases/tag/v5.1.0) [Compare Source](https://togithub.com/actions/setup-python/compare/v5.0.0...v5.1.0) #### What's Changed - Leveraging the raw API to retrieve the version-manifest, as it does not impose a rate limit and hence facilitates unrestricted consumption without the need for a token for Github Enterprise Servers by [@​Shegox](https://togithub.com/Shegox) in [https://github.com/actions/setup-python/pull/766](https://togithub.com/actions/setup-python/pull/766). - Dependency updates by [@​dependabot](https://togithub.com/dependabot) and [@​HarithaVattikuti](https://togithub.com/HarithaVattikuti) in [https://github.com/actions/setup-python/pull/817](https://togithub.com/actions/setup-python/pull/817) - Documentation changes for version in README by [@​basnijholt](https://togithub.com/basnijholt) in [https://github.com/actions/setup-python/pull/776](https://togithub.com/actions/setup-python/pull/776) - Documentation changes for link in README by [@​ukd1](https://togithub.com/ukd1) in [https://github.com/actions/setup-python/pull/793](https://togithub.com/actions/setup-python/pull/793) - Documentation changes for link in Advanced Usage by [@​Jamim](https://togithub.com/Jamim) in [https://github.com/actions/setup-python/pull/782](https://togithub.com/actions/setup-python/pull/782) - Documentation changes for avoiding rate limit issues on GHES by [@​priya-kinthali](https://togithub.com/priya-kinthali) in [https://github.com/actions/setup-python/pull/835](https://togithub.com/actions/setup-python/pull/835) #### New Contributors - [@​basnijholt](https://togithub.com/basnijholt) made their first contribution in [https://github.com/actions/setup-python/pull/776](https://togithub.com/actions/setup-python/pull/776) - [@​ukd1](https://togithub.com/ukd1) made their first contribution in [https://github.com/actions/setup-python/pull/793](https://togithub.com/actions/setup-python/pull/793) - [@​Jamim](https://togithub.com/Jamim) made their first contribution in [https://github.com/actions/setup-python/pull/782](https://togithub.com/actions/setup-python/pull/782) - [@​Shegox](https://togithub.com/Shegox) made their first contribution in [https://github.com/actions/setup-python/pull/766](https://togithub.com/actions/setup-python/pull/766) - [@​priya-kinthali](https://togithub.com/priya-kinthali) made their first contribution in [https://github.com/actions/setup-python/pull/835](https://togithub.com/actions/setup-python/pull/835) **Full Changelog**: actions/setup-python@v5.0.0...v5.1.0 </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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [mypy](https://www.mypy-lang.org/) ([source](https://togithub.com/python/mypy), [changelog](https://mypy-lang.blogspot.com/)) | `1.8.0` -> `1.9.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pytest-mock](https://togithub.com/pytest-dev/pytest-mock) ([changelog](https://pytest-mock.readthedocs.io/en/latest/changelog.html)) | `3.12.0` -> `3.14.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [tox](https://togithub.com/tox-dev/tox) ([changelog](https://tox.wiki/en/latest/changelog.html)) | `4.13.0` -> `4.14.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>python/mypy (mypy)</summary> ### [`v1.9.0`](https://togithub.com/python/mypy/compare/v1.8.0...1.9.0) [Compare Source](https://togithub.com/python/mypy/compare/v1.8.0...1.9.0) </details> <details> <summary>pytest-dev/pytest-mock (pytest-mock)</summary> ### [`v3.14.0`](https://togithub.com/pytest-dev/pytest-mock/blob/HEAD/CHANGELOG.rst#3140-2024-03-21) [Compare Source](https://togithub.com/pytest-dev/pytest-mock/compare/v3.13.0...v3.14.0) - `#​415 <https://github.com/pytest-dev/pytest-mock/pull/415>`\_: `MockType` and `AsyncMockType` can be imported from `pytest_mock` for type annotation purposes. - `#​420 <https://github.com/pytest-dev/pytest-mock/issues/420>`\_: Fixed a regression which would cause `mocker.patch.object` to not being properly cleared between tests. ### [`v3.13.0`](https://togithub.com/pytest-dev/pytest-mock/blob/HEAD/CHANGELOG.rst#3130-2024-03-21) [Compare Source](https://togithub.com/pytest-dev/pytest-mock/compare/v3.12.0...v3.13.0) - `#​417 <https://github.com/pytest-dev/pytest-mock/pull/417>`\_: `spy` now has `spy_return_list`, which is a list containing all the values returned by the spied function. - `pytest-mock` now requires `pytest>=6.2.5`. - `#​410 <https://github.com/pytest-dev/pytest-mock/pull/410>`*: pytest-mock's `setup.py` file is removed. If you relied on this file, e.g. to install pytest using `setup.py install`, please see `Why you shouldn't invoke setup.py directly <https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary>`* for alternatives. </details> <details> <summary>tox-dev/tox (tox)</summary> ### [`v4.14.2`](https://togithub.com/tox-dev/tox/releases/tag/4.14.2) [Compare Source](https://togithub.com/tox-dev/tox/compare/4.14.1...4.14.2) <!-- Release notes generated using configuration in .github/release.yml at 4.14.2 --> #### What's Changed - Removed unneeded line by [@​reinout](https://togithub.com/reinout) in [https://github.com/tox-dev/tox/pull/3241](https://togithub.com/tox-dev/tox/pull/3241) - Add missing space by [@​droctothorpe](https://togithub.com/droctothorpe) in [https://github.com/tox-dev/tox/pull/3243](https://togithub.com/tox-dev/tox/pull/3243) - Add Provision Arguments to ToxParser by [@​seyidaniels](https://togithub.com/seyidaniels) in [https://github.com/tox-dev/tox/pull/3246](https://togithub.com/tox-dev/tox/pull/3246) #### New Contributors - [@​reinout](https://togithub.com/reinout) made their first contribution in [https://github.com/tox-dev/tox/pull/3241](https://togithub.com/tox-dev/tox/pull/3241) - [@​droctothorpe](https://togithub.com/droctothorpe) made their first contribution in [https://github.com/tox-dev/tox/pull/3243](https://togithub.com/tox-dev/tox/pull/3243) - [@​seyidaniels](https://togithub.com/seyidaniels) made their first contribution in [https://github.com/tox-dev/tox/pull/3246](https://togithub.com/tox-dev/tox/pull/3246) **Full Changelog**: tox-dev/tox@4.14.1...4.14.2 ### [`v4.14.1`](https://togithub.com/tox-dev/tox/releases/tag/4.14.1) [Compare Source](https://togithub.com/tox-dev/tox/compare/4.14.0...4.14.1) <!-- Release notes generated using configuration in .github/release.yml at 4.14.1 --> #### What's Changed - Fix fresh subprocesses and allow duplicate register config calls for the core set only by [@​gaborbernat](https://togithub.com/gaborbernat) in [https://github.com/tox-dev/tox/pull/3237](https://togithub.com/tox-dev/tox/pull/3237) **Full Changelog**: tox-dev/tox@4.14.0...4.14.1 ### [`v4.14.0`](https://togithub.com/tox-dev/tox/releases/tag/4.14.0) [Compare Source](https://togithub.com/tox-dev/tox/compare/4.13.0...4.14.0) <!-- Release notes generated using configuration in .github/release.yml at 4.14.0 --> #### What's Changed - Fix issue/PR number in 4.13.0 changelog by [@​hroncok](https://togithub.com/hroncok) in [https://github.com/tox-dev/tox/pull/3223](https://togithub.com/tox-dev/tox/pull/3223) - Fix linkcheck failing by [@​gaborbernat](https://togithub.com/gaborbernat) in [https://github.com/tox-dev/tox/pull/3229](https://togithub.com/tox-dev/tox/pull/3229) - Support fresh subprocess for build backends by [@​gaborbernat](https://togithub.com/gaborbernat) in [https://github.com/tox-dev/tox/pull/3233](https://togithub.com/tox-dev/tox/pull/3233) - Allow plugins to attach data to --version by [@​gaborbernat](https://togithub.com/gaborbernat) in [https://github.com/tox-dev/tox/pull/3234](https://togithub.com/tox-dev/tox/pull/3234) **Full Changelog**: tox-dev/tox@4.13.0...4.14.0 </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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [idna](https://togithub.com/kjd/idna) ([changelog](https://togithub.com/kjd/idna/blob/master/HISTORY.rst)) | `==3.4` -> `==3.7` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2024-3651](https://togithub.com/kjd/idna/security/advisories/GHSA-jjg7-2v4v-x38h) ### Impact A specially crafted argument to the `idna.encode()` function could consume significant resources. This may lead to a denial-of-service. ### Patches The function has been refined to reject such strings without the associated resource consumption in version 3.7. ### Workarounds Domain names cannot exceed 253 characters in length, if this length limit is enforced prior to passing the domain to the `idna.encode()` function it should no longer consume significant resources. This is triggered by arbitrarily large inputs that would not occur in normal usage, but may be passed to the library assuming there is no preliminary input validation by the higher-level application. ### References * https://huntr.com/bounties/93d78d07-d791-4b39-a845-cbfabc44aadb --- ### Release Notes <details> <summary>kjd/idna (idna)</summary> ### [`v3.7`](https://togithub.com/kjd/idna/compare/v3.6...v3.7) [Compare Source](https://togithub.com/kjd/idna/compare/v3.6...v3.7) ### [`v3.6`](https://togithub.com/kjd/idna/compare/v3.5...v3.6) [Compare Source](https://togithub.com/kjd/idna/compare/v3.5...v3.6) ### [`v3.5`](https://togithub.com/kjd/idna/compare/v3.4...v3.5) [Compare Source](https://togithub.com/kjd/idna/compare/v3.4...v3.5) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [black](https://togithub.com/psf/black) ([changelog](https://togithub.com/psf/black/blob/main/CHANGES.md)) | `23.12.1` -> `24.3.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2024-21503](https://nvd.nist.gov/vuln/detail/CVE-2024-21503) Versions of the package black before 24.3.0 are vulnerable to Regular Expression Denial of Service (ReDoS) via the lines_with_leading_tabs_expanded function in the strings.py file. An attacker could exploit this vulnerability by crafting a malicious input that causes a denial of service. Exploiting this vulnerability is possible when running Black on untrusted input, or if you habitually put thousands of leading tab characters in your docstrings. --- ### Release Notes <details> <summary>psf/black (black)</summary> ### [`v24.3.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2430) [Compare Source](https://togithub.com/psf/black/compare/24.2.0...24.3.0) ##### Highlights This release is a milestone: it fixes Black's first CVE security vulnerability. If you run Black on untrusted input, or if you habitually put thousands of leading tab characters in your docstrings, you are strongly encouraged to upgrade immediately to fix [CVE-2024-21503](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-21503). This release also fixes a bug in Black's AST safety check that allowed Black to make incorrect changes to certain f-strings that are valid in Python 3.12 and higher. ##### Stable style - Don't move comments along with delimiters, which could cause crashes ([#​4248](https://togithub.com/psf/black/issues/4248)) - Strengthen AST safety check to catch more unsafe changes to strings. Previous versions of Black would incorrectly format the contents of certain unusual f-strings containing nested strings with the same quote type. Now, Black will crash on such strings until support for the new f-string syntax is implemented. ([#​4270](https://togithub.com/psf/black/issues/4270)) - Fix a bug where line-ranges exceeding the last code line would not work as expected ([#​4273](https://togithub.com/psf/black/issues/4273)) ##### Performance - Fix catastrophic performance on docstrings that contain large numbers of leading tab characters. This fixes [CVE-2024-21503](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-21503). ([#​4278](https://togithub.com/psf/black/issues/4278)) ##### Documentation - Note what happens when `--check` is used with `--quiet` ([#​4236](https://togithub.com/psf/black/issues/4236)) ### [`v24.2.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2420) [Compare Source](https://togithub.com/psf/black/compare/24.1.1...24.2.0) ##### Stable style - Fixed a bug where comments where mistakenly removed along with redundant parentheses ([#​4218](https://togithub.com/psf/black/issues/4218)) ##### Preview style - Move the `hug_parens_with_braces_and_square_brackets` feature to the unstable style due to an outstanding crash and proposed formatting tweaks ([#​4198](https://togithub.com/psf/black/issues/4198)) - Fixed a bug where base expressions caused inconsistent formatting of \*\* in tenary expression ([#​4154](https://togithub.com/psf/black/issues/4154)) - Checking for newline before adding one on docstring that is almost at the line limit ([#​4185](https://togithub.com/psf/black/issues/4185)) - Remove redundant parentheses in `case` statement `if` guards ([#​4214](https://togithub.com/psf/black/issues/4214)). ##### Configuration - Fix issue where *Black* would ignore input files in the presence of symlinks ([#​4222](https://togithub.com/psf/black/issues/4222)) - *Black* now ignores `pyproject.toml` that is missing a `tool.black` section when discovering project root and configuration. Since *Black* continues to use version control as an indicator of project root, this is expected to primarily change behavior for users in a monorepo setup (desirably). If you wish to preserve previous behavior, simply add an empty `[tool.black]` to the previously discovered `pyproject.toml` ([#​4204](https://togithub.com/psf/black/issues/4204)) ##### Output - Black will swallow any `SyntaxWarning`s or `DeprecationWarning`s produced by the `ast` module when performing equivalence checks ([#​4189](https://togithub.com/psf/black/issues/4189)) ##### Integrations - Add a JSONSchema and provide a validate-pyproject entry-point ([#​4181](https://togithub.com/psf/black/issues/4181)) ### [`v24.1.1`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2411) [Compare Source](https://togithub.com/psf/black/compare/24.1.0...24.1.1) Bugfix release to fix a bug that made Black unusable on certain file systems with strict limits on path length. ##### Preview style - Consistently add trailing comma on typed parameters ([#​4164](https://togithub.com/psf/black/issues/4164)) ##### Configuration - Shorten the length of the name of the cache file to fix crashes on file systems that do not support long paths ([#​4176](https://togithub.com/psf/black/issues/4176)) ### [`v24.1.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2410) [Compare Source](https://togithub.com/psf/black/compare/23.12.1...24.1.0) ##### Highlights This release introduces the new 2024 stable style ([#​4106](https://togithub.com/psf/black/issues/4106)), stabilizing the following changes: - Add parentheses around `if`-`else` expressions ([#​2278](https://togithub.com/psf/black/issues/2278)) - Dummy class and function implementations consisting only of `...` are formatted more compactly ([#​3796](https://togithub.com/psf/black/issues/3796)) - If an assignment statement is too long, we now prefer splitting on the right-hand side ([#​3368](https://togithub.com/psf/black/issues/3368)) - Hex codes in Unicode escape sequences are now standardized to lowercase ([#​2916](https://togithub.com/psf/black/issues/2916)) - Allow empty first lines at the beginning of most blocks ([#​3967](https://togithub.com/psf/black/issues/3967), [#​4061](https://togithub.com/psf/black/issues/4061)) - Add parentheses around long type annotations ([#​3899](https://togithub.com/psf/black/issues/3899)) - Enforce newline after module docstrings ([#​3932](https://togithub.com/psf/black/issues/3932), [#​4028](https://togithub.com/psf/black/issues/4028)) - Fix incorrect magic trailing comma handling in return types ([#​3916](https://togithub.com/psf/black/issues/3916)) - Remove blank lines before class docstrings ([#​3692](https://togithub.com/psf/black/issues/3692)) - Wrap multiple context managers in parentheses if combined in a single `with` statement ([#​3489](https://togithub.com/psf/black/issues/3489)) - Fix bug in line length calculations for power operations ([#​3942](https://togithub.com/psf/black/issues/3942)) - Add trailing commas to collection literals even if there's a comment after the last entry ([#​3393](https://togithub.com/psf/black/issues/3393)) - When using `--skip-magic-trailing-comma` or `-C`, trailing commas are stripped from subscript expressions with more than 1 element ([#​3209](https://togithub.com/psf/black/issues/3209)) - Add extra blank lines in stubs in a few cases ([#​3564](https://togithub.com/psf/black/issues/3564), [#​3862](https://togithub.com/psf/black/issues/3862)) - Accept raw strings as docstrings ([#​3947](https://togithub.com/psf/black/issues/3947)) - Split long lines in case blocks ([#​4024](https://togithub.com/psf/black/issues/4024)) - Stop removing spaces from walrus operators within subscripts ([#​3823](https://togithub.com/psf/black/issues/3823)) - Fix incorrect formatting of certain async statements ([#​3609](https://togithub.com/psf/black/issues/3609)) - Allow combining `# fmt: skip` with other comments ([#​3959](https://togithub.com/psf/black/issues/3959)) There are already a few improvements in the `--preview` style, which are slated for the 2025 stable style. Try them out and [share your feedback](https://togithub.com/psf/black/issues). In the past, the preview style has included some features that we were not able to stabilize. This year, we're adding a separate `--unstable` style for features with known problems. Now, the `--preview` style only includes features that we actually expect to make it into next year's stable style. ##### Stable style Several bug fixes were made in features that are moved to the stable style in this release: - Fix comment handling when parenthesising conditional expressions ([#​4134](https://togithub.com/psf/black/issues/4134)) - Fix bug where spaces were not added around parenthesized walruses in subscripts, unlike other binary operators ([#​4109](https://togithub.com/psf/black/issues/4109)) - Remove empty lines before docstrings in async functions ([#​4132](https://togithub.com/psf/black/issues/4132)) - Address a missing case in the change to allow empty lines at the beginning of all blocks, except immediately before a docstring ([#​4130](https://togithub.com/psf/black/issues/4130)) - For stubs, fix logic to enforce empty line after nested classes with bodies ([#​4141](https://togithub.com/psf/black/issues/4141)) ##### Preview style - Add `--unstable` style, covering preview features that have known problems that would block them from going into the stable style. Also add the `--enable-unstable-feature` flag; for example, use `--enable-unstable-feature hug_parens_with_braces_and_square_brackets` to apply this preview feature throughout 2024, even if a later Black release downgrades the feature to unstable ([#​4096](https://togithub.com/psf/black/issues/4096)) - Format module docstrings the same as class and function docstrings ([#​4095](https://togithub.com/psf/black/issues/4095)) - Fix crash when using a walrus in a dictionary ([#​4155](https://togithub.com/psf/black/issues/4155)) - Fix unnecessary parentheses when wrapping long dicts ([#​4135](https://togithub.com/psf/black/issues/4135)) - Stop normalizing spaces before `# fmt: skip` comments ([#​4146](https://togithub.com/psf/black/issues/4146)) ##### Configuration - Print warning when configuration in `pyproject.toml` contains an invalid key ([#​4165](https://togithub.com/psf/black/issues/4165)) - Fix symlink handling, properly ignoring symlinks that point outside of root ([#​4161](https://togithub.com/psf/black/issues/4161)) - Fix cache mtime logic that resulted in false positive cache hits ([#​4128](https://togithub.com/psf/black/issues/4128)) - Remove the long-deprecated `--experimental-string-processing` flag. This feature can currently be enabled with `--preview --enable-unstable-feature string_processing`. ([#​4096](https://togithub.com/psf/black/issues/4096)) ##### Integrations - Revert the change to run Black's pre-commit integration only on specific git hooks ([#​3940](https://togithub.com/psf/black/issues/3940)) for better compatibility with older versions of pre-commit ([#​4137](https://togithub.com/psf/black/issues/4137)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Enrico Deusebio <enrico.deusebio@canonical.com>
[](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.3.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [certifi](https://togithub.com/certifi/python-certifi) | `==2023.7.22` -> `==2024.2.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` -> `7.0.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [httpcore](https://togithub.com/encode/httpcore) | `==0.17.2` -> `==1.0.5` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>agronholm/anyio (anyio)</summary> ### [`v4.3.0`](https://togithub.com/agronholm/anyio/releases/tag/4.3.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.2.0...4.3.0) - Added support for the Python 3.12 `walk_up` keyword argument in `anyio.Path.relative_to()` (PR by Colin Taylor) - Fixed passing `total_tokens` to `anyio.CapacityLimiter()` as a keyword argument not working on the `trio` backend ([#​515](https://togithub.com/agronholm/anyio/issues/515)) - Fixed `Process.aclose()` not performing the minimum level of necessary cleanup when cancelled. Previously: - Cancellation of `Process.aclose()` could leak an orphan process - Cancellation of `run_process()` could very briefly leak an orphan process. - Cancellation of `Process.aclose()` or `run_process()` on Trio could leave standard streams unclosed (PR by Ganden Schaffner) - Fixed `Process.stdin.aclose()`, `Process.stdout.aclose()`, and `Process.stderr.aclose()` not including a checkpoint on asyncio (PR by Ganden Schaffner) - Fixed documentation on how to provide your own typed attributes ### [`v4.2.0`](https://togithub.com/agronholm/anyio/releases/tag/4.2.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.1.0...4.2.0) - Add support for `byte`-based paths in `connect_unix`, `create_unix_listeners`, `create_unix_datagram_socket`, and `create_connected_unix_datagram_socket`. (PR by Lura Skye) - Enabled the `Event` and `CapacityLimiter` classes to be instantiated outside an event loop thread - Broadly improved/fixed the type annotations. Among other things, many functions and methods that take variadic positional arguments now make use of PEP 646 `TypeVarTuple` to allow the positional arguments to be validated by static type checkers. These changes affected numerous methods and functions, including: - `anyio.run()` - `TaskGroup.start_soon()` - `anyio.from_thread.run()` - `anyio.from_thread.run_sync()` - `anyio.to_thread.run_sync()` - `anyio.to_process.run_sync()` - `BlockingPortal.call()` - `BlockingPortal.start_task_soon()` - `BlockingPortal.start_task()` (also resolves [#​560](https://togithub.com/agronholm/anyio/issues/560)) - Fixed various type annotations of `anyio.Path` to match Typeshed: - `anyio.Path.__lt__()` - `anyio.Path.__le__()` - `anyio.Path.__gt__()` - `anyio.Path.__ge__()` - `anyio.Path.__truediv__()` - `anyio.Path.__rtruediv__()` - `anyio.Path.hardlink_to()` - `anyio.Path.samefile()` - `anyio.Path.symlink_to()` - `anyio.Path.with_segments()` (PR by Ganden Schaffner) - Fixed adjusting the total number of tokens in a `CapacityLimiter` on asyncio failing to wake up tasks waiting to acquire the limiter in certain edge cases (fixed with help from Egor Blagov) - Fixed `loop_factory` and `use_uvloop` options not being used on the asyncio backend ([#​643](https://togithub.com/agronholm/anyio/issues/643)) - Fixed cancellation propagating on asyncio from a task group to child tasks if the task hosting the task group is in a shielded cancel scope ([#​642](https://togithub.com/agronholm/anyio/issues/642)) ### [`v4.1.0`](https://togithub.com/agronholm/anyio/releases/tag/4.1.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.0.0...4.1.0) - Adapted to API changes made in Trio v0.23: - Call `trio.to_thread.run_sync()` using the `abandon_on_cancel` keyword argument instead of `cancellable` - Removed a checkpoint when exiting a task group - Renamed the `cancellable` argument in `anyio.to_thread.run_sync()` to `abandon_on_cancel` (and deprecated the old parameter name) - Bumped minimum version of Trio to v0.23 - Added support for voluntary thread cancellation via `anyio.from_thread.check_cancelled()` - Bumped minimum version of trio to v0.23 - Exposed the `ResourceGuard` class in the public API ([#​627](https://togithub.com/agronholm/anyio/issues/627)) - Fixed `RuntimeError: Runner is closed` when running higher-scoped async generator fixtures in some cases ([#​619](https://togithub.com/agronholm/anyio/issues/619)) - Fixed discrepancy between `asyncio` and `trio` where reraising a cancellation exception in an `except*` block would incorrectly bubble out of its cancel scope ([#​634](https://togithub.com/agronholm/anyio/issues/634)) ### [`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>certifi/python-certifi (certifi)</summary> ### [`v2024.2.2`](https://togithub.com/certifi/python-certifi/compare/2023.11.17...2024.02.02) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2023.11.17...2024.02.02) ### [`v2023.11.17`](https://togithub.com/certifi/python-certifi/compare/2023.07.22...2023.11.17) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2023.07.22...2023.11.17) </details> <details> <summary>pycqa/flake8 (flake8)</summary> ### [`v7.0.0`](https://togithub.com/pycqa/flake8/compare/6.1.0...7.0.0) [Compare Source](https://togithub.com/pycqa/flake8/compare/6.1.0...7.0.0) ### [`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.5`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#105-March-27th-2024) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.4...1.0.5) - Handle `EndOfStream` exception for anyio backend. ([#​899](https://togithub.com/encode/httpcore/issues/899)) - Allow trio `0.25.*` series in package dependancies. ([#​903](https://togithub.com/encode/httpcore/issues/903)) ### [`v1.0.4`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#104-February-21st-2024) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.3...1.0.4) - Add `target` request extension. ([#​888](https://togithub.com/encode/httpcore/issues/888)) - Fix support for connection `Upgrade` and `CONNECT` when some data in the stream has been read. ([#​882](https://togithub.com/encode/httpcore/issues/882)) ### [`v1.0.3`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#103-February-13th-2024) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.2...1.0.3) - Fix support for async cancellations. ([#​880](https://togithub.com/encode/httpcore/issues/880)) - Fix trace extension when used with socks proxy. ([#​849](https://togithub.com/encode/httpcore/issues/849)) - Fix SSL context for connections using the "wss" scheme ([#​869](https://togithub.com/encode/httpcore/issues/869)) ### [`v1.0.2`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#102-November-10th-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.1...1.0.2) - Fix `float("inf")` timeouts in `Event.wait` function. ([#​846](https://togithub.com/encode/httpcore/issues/846)) ### [`v1.0.1`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#101-November-3rd-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.0...1.0.1) - Fix pool timeout to account for the total time spent retrying. ([#​823](https://togithub.com/encode/httpcore/issues/823)) - Raise a neater RuntimeError when the correct async deps are not installed. ([#​826](https://togithub.com/encode/httpcore/issues/826)) - Add support for synchronous TLS-in-TLS streams. ([#​840](https://togithub.com/encode/httpcore/issues/840)) ### [`v1.0.0`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#100-October-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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [idna](https://togithub.com/kjd/idna) ([changelog](https://togithub.com/kjd/idna/blob/master/HISTORY.rst)) | `==3.4` -> `==3.7` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2024-3651](https://togithub.com/kjd/idna/security/advisories/GHSA-jjg7-2v4v-x38h) ### Impact A specially crafted argument to the `idna.encode()` function could consume significant resources. This may lead to a denial-of-service. ### Patches The function has been refined to reject such strings without the associated resource consumption in version 3.7. ### Workarounds Domain names cannot exceed 253 characters in length, if this length limit is enforced prior to passing the domain to the `idna.encode()` function it should no longer consume significant resources. This is triggered by arbitrarily large inputs that would not occur in normal usage, but may be passed to the library assuming there is no preliminary input validation by the higher-level application. ### References * https://huntr.com/bounties/93d78d07-d791-4b39-a845-cbfabc44aadb --- ### Release Notes <details> <summary>kjd/idna (idna)</summary> ### [`v3.7`](https://togithub.com/kjd/idna/compare/v3.6...v3.7) [Compare Source](https://togithub.com/kjd/idna/compare/v3.6...v3.7) ### [`v3.6`](https://togithub.com/kjd/idna/compare/v3.5...v3.6) [Compare Source](https://togithub.com/kjd/idna/compare/v3.5...v3.6) ### [`v3.5`](https://togithub.com/kjd/idna/compare/v3.4...v3.5) [Compare Source](https://togithub.com/kjd/idna/compare/v3.4...v3.5) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [certifi](https://togithub.com/certifi/python-certifi) | `==2023.5.7` -> `==2023.7.22` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2023-37920](https://togithub.com/certifi/python-certifi/security/advisories/GHSA-xqr8-7jwr-rhp7) Certifi 2023.07.22 removes root certificates from "e-Tugra" from the root store. These are in the process of being removed from Mozilla's trust store. e-Tugra's root certificates are being removed pursuant to an investigation prompted by reporting of security issues in their systems. Conclusions of Mozilla's investigation can be found [here](https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/C-HrP1SEq1A). --- ### Release Notes <details> <summary>certifi/python-certifi (certifi)</summary> ### [`v2023.7.22`](https://togithub.com/certifi/python-certifi/compare/2023.05.07...2023.07.22) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2023.05.07...2023.07.22) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [certifi](https://togithub.com/certifi/python-certifi) | `==2023.5.7` -> `==2023.7.22` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2023-37920](https://togithub.com/certifi/python-certifi/security/advisories/GHSA-xqr8-7jwr-rhp7) Certifi 2023.07.22 removes root certificates from "e-Tugra" from the root store. These are in the process of being removed from Mozilla's trust store. e-Tugra's root certificates are being removed pursuant to an investigation prompted by reporting of security issues in their systems. Conclusions of Mozilla's investigation can be found [here](https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/C-HrP1SEq1A). --- ### Release Notes <details> <summary>certifi/python-certifi (certifi)</summary> ### [`v2023.7.22`](https://togithub.com/certifi/python-certifi/compare/2023.05.07...2023.07.22) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2023.05.07...2023.07.22) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [idna](https://togithub.com/kjd/idna) ([changelog](https://togithub.com/kjd/idna/blob/master/HISTORY.rst)) | `==3.4` -> `==3.7` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2024-3651](https://togithub.com/kjd/idna/security/advisories/GHSA-jjg7-2v4v-x38h) ### Impact A specially crafted argument to the `idna.encode()` function could consume significant resources. This may lead to a denial-of-service. ### Patches The function has been refined to reject such strings without the associated resource consumption in version 3.7. ### Workarounds Domain names cannot exceed 253 characters in length, if this length limit is enforced prior to passing the domain to the `idna.encode()` function it should no longer consume significant resources. This is triggered by arbitrarily large inputs that would not occur in normal usage, but may be passed to the library assuming there is no preliminary input validation by the higher-level application. ### References * https://huntr.com/bounties/93d78d07-d791-4b39-a845-cbfabc44aadb --- ### Release Notes <details> <summary>kjd/idna (idna)</summary> ### [`v3.7`](https://togithub.com/kjd/idna/compare/v3.6...v3.7) [Compare Source](https://togithub.com/kjd/idna/compare/v3.6...v3.7) ### [`v3.6`](https://togithub.com/kjd/idna/compare/v3.5...v3.6) [Compare Source](https://togithub.com/kjd/idna/compare/v3.5...v3.6) ### [`v3.5`](https://togithub.com/kjd/idna/compare/v3.4...v3.5) [Compare Source](https://togithub.com/kjd/idna/compare/v3.4...v3.5) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Replace "ROCK" with "rock"
[](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [canonical/data-platform-workflows](https://togithub.com/canonical/data-platform-workflows) | action | major | `v13` -> `v16` | --- ### Release Notes <details> <summary>canonical/data-platform-workflows (canonical/data-platform-workflows)</summary> ### [`v16`](https://togithub.com/canonical/data-platform-workflows/compare/v15...v16) [Compare Source](https://togithub.com/canonical/data-platform-workflows/compare/v15...v16) ### [`v15`](https://togithub.com/canonical/data-platform-workflows/compare/v14...v15) [Compare Source](https://togithub.com/canonical/data-platform-workflows/compare/v14...v15) ### [`v14`](https://togithub.com/canonical/data-platform-workflows/compare/v13...v14) [Compare Source](https://togithub.com/canonical/data-platform-workflows/compare/v13...v14) </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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjAuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](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.4.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [certifi](https://togithub.com/certifi/python-certifi) | `==2023.7.22` -> `==2024.6.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` -> `7.1.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [httpcore](https://togithub.com/encode/httpcore) | `==0.17.2` -> `==1.0.5` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>agronholm/anyio (anyio)</summary> ### [`v4.4.0`](https://togithub.com/agronholm/anyio/releases/tag/4.4.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.3.0...4.4.0) - Added the `BlockingPortalProvider` class to aid with constructing synchronous counterparts to asynchronous interfaces that would otherwise require multiple blocking portals - Added `__slots__` to `AsyncResource` so that child classes can use `__slots__` ([#​733](https://togithub.com/agronholm/anyio/pull/733); PR by Justin Su) - Added the `TaskInfo.has_pending_cancellation()` method - Fixed erroneous `RuntimeError: called 'started' twice on the same task status` when cancelling a task in a TaskGroup created with the `start()` method before the first checkpoint is reached after calling `task_status.started()` ([#​706](https://togithub.com/agronholm/anyio/issues/706); PR by Dominik Schwabe) - Fixed two bugs with `TaskGroup.start()` on asyncio: - Fixed erroneous `RuntimeError: called 'started' twice on the same task status` when cancelling a task in a TaskGroup created with the `start()` method before the first checkpoint is reached after calling `task_status.started()` ([#​706](https://togithub.com/agronholm/anyio/issues/706); PR by Dominik Schwabe) - Fixed the entire task group being cancelled if a `TaskGroup.start()` call gets cancelled ([#​685](https://togithub.com/agronholm/anyio/issues/685), [#​710](https://togithub.com/agronholm/anyio/issues/710)) - Fixed a race condition that caused crashes when multiple event loops of the same backend were running in separate threads and simultaneously attempted to use AnyIO for their first time ([#​425](https://togithub.com/agronholm/anyio/issues/425); PR by David Jiricek and Ganden Schaffner) - Fixed cancellation delivery on asyncio incrementing the wrong cancel scope's cancellation counter when cascading a cancel operation to a child scope, thus failing to uncancel the host task ([#​716](https://togithub.com/agronholm/anyio/issues/716)) - Fixed erroneous `TypedAttributeLookupError` if a typed attribute getter raises `KeyError` - Fixed the asyncio backend not respecting the `PYTHONASYNCIODEBUG` environment variable when setting the `debug` flag in `anyio.run()` - Fixed `SocketStream.receive()` not detecting EOF on asyncio if there is also data in the read buffer ([#​701](https://togithub.com/agronholm/anyio/issues/701)) - Fixed `MemoryObjectStream` dropping an item if the item is delivered to a recipient that is waiting to receive an item but has a cancellation pending ([#​728](https://togithub.com/agronholm/anyio/issues/728)) - Emit a `ResourceWarning` for `MemoryObjectReceiveStream` and `MemoryObjectSendStream` that were garbage collected without being closed (PR by Andrey Kazantcev) - Fixed `MemoryObjectSendStream.send()` not raising `BrokenResourceError` when the last corresponding `MemoryObjectReceiveStream` is closed while waiting to send a falsey item ([#​731](https://togithub.com/agronholm/anyio/issues/731); PR by Ganden Schaffner) ### [`v4.3.0`](https://togithub.com/agronholm/anyio/releases/tag/4.3.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.2.0...4.3.0) - Added support for the Python 3.12 `walk_up` keyword argument in `anyio.Path.relative_to()` (PR by Colin Taylor) - Fixed passing `total_tokens` to `anyio.CapacityLimiter()` as a keyword argument not working on the `trio` backend ([#​515](https://togithub.com/agronholm/anyio/issues/515)) - Fixed `Process.aclose()` not performing the minimum level of necessary cleanup when cancelled. Previously: - Cancellation of `Process.aclose()` could leak an orphan process - Cancellation of `run_process()` could very briefly leak an orphan process. - Cancellation of `Process.aclose()` or `run_process()` on Trio could leave standard streams unclosed (PR by Ganden Schaffner) - Fixed `Process.stdin.aclose()`, `Process.stdout.aclose()`, and `Process.stderr.aclose()` not including a checkpoint on asyncio (PR by Ganden Schaffner) - Fixed documentation on how to provide your own typed attributes ### [`v4.2.0`](https://togithub.com/agronholm/anyio/releases/tag/4.2.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.1.0...4.2.0) - Add support for `byte`-based paths in `connect_unix`, `create_unix_listeners`, `create_unix_datagram_socket`, and `create_connected_unix_datagram_socket`. (PR by Lura Skye) - Enabled the `Event` and `CapacityLimiter` classes to be instantiated outside an event loop thread - Broadly improved/fixed the type annotations. Among other things, many functions and methods that take variadic positional arguments now make use of PEP 646 `TypeVarTuple` to allow the positional arguments to be validated by static type checkers. These changes affected numerous methods and functions, including: - `anyio.run()` - `TaskGroup.start_soon()` - `anyio.from_thread.run()` - `anyio.from_thread.run_sync()` - `anyio.to_thread.run_sync()` - `anyio.to_process.run_sync()` - `BlockingPortal.call()` - `BlockingPortal.start_task_soon()` - `BlockingPortal.start_task()` (also resolves [#​560](https://togithub.com/agronholm/anyio/issues/560)) - Fixed various type annotations of `anyio.Path` to match Typeshed: - `anyio.Path.__lt__()` - `anyio.Path.__le__()` - `anyio.Path.__gt__()` - `anyio.Path.__ge__()` - `anyio.Path.__truediv__()` - `anyio.Path.__rtruediv__()` - `anyio.Path.hardlink_to()` - `anyio.Path.samefile()` - `anyio.Path.symlink_to()` - `anyio.Path.with_segments()` (PR by Ganden Schaffner) - Fixed adjusting the total number of tokens in a `CapacityLimiter` on asyncio failing to wake up tasks waiting to acquire the limiter in certain edge cases (fixed with help from Egor Blagov) - Fixed `loop_factory` and `use_uvloop` options not being used on the asyncio backend ([#​643](https://togithub.com/agronholm/anyio/issues/643)) - Fixed cancellation propagating on asyncio from a task group to child tasks if the task hosting the task group is in a shielded cancel scope ([#​642](https://togithub.com/agronholm/anyio/issues/642)) ### [`v4.1.0`](https://togithub.com/agronholm/anyio/releases/tag/4.1.0) [Compare Source](https://togithub.com/agronholm/anyio/compare/4.0.0...4.1.0) - Adapted to API changes made in Trio v0.23: - Call `trio.to_thread.run_sync()` using the `abandon_on_cancel` keyword argument instead of `cancellable` - Removed a checkpoint when exiting a task group - Renamed the `cancellable` argument in `anyio.to_thread.run_sync()` to `abandon_on_cancel` (and deprecated the old parameter name) - Bumped minimum version of Trio to v0.23 - Added support for voluntary thread cancellation via `anyio.from_thread.check_cancelled()` - Bumped minimum version of trio to v0.23 - Exposed the `ResourceGuard` class in the public API ([#​627](https://togithub.com/agronholm/anyio/issues/627)) - Fixed `RuntimeError: Runner is closed` when running higher-scoped async generator fixtures in some cases ([#​619](https://togithub.com/agronholm/anyio/issues/619)) - Fixed discrepancy between `asyncio` and `trio` where reraising a cancellation exception in an `except*` block would incorrectly bubble out of its cancel scope ([#​634](https://togithub.com/agronholm/anyio/issues/634)) ### [`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>certifi/python-certifi (certifi)</summary> ### [`v2024.6.2`](https://togithub.com/certifi/python-certifi/compare/2024.02.02...2024.06.02) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2024.02.02...2024.06.02) ### [`v2024.2.2`](https://togithub.com/certifi/python-certifi/compare/2023.11.17...2024.02.02) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2023.11.17...2024.02.02) ### [`v2023.11.17`](https://togithub.com/certifi/python-certifi/compare/2023.07.22...2023.11.17) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2023.07.22...2023.11.17) </details> <details> <summary>pycqa/flake8 (flake8)</summary> ### [`v7.1.0`](https://togithub.com/pycqa/flake8/compare/7.0.0...7.1.0) [Compare Source](https://togithub.com/pycqa/flake8/compare/7.0.0...7.1.0) ### [`v7.0.0`](https://togithub.com/pycqa/flake8/compare/6.1.0...7.0.0) [Compare Source](https://togithub.com/pycqa/flake8/compare/6.1.0...7.0.0) ### [`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.5`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#105-March-27th-2024) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.4...1.0.5) - Handle `EndOfStream` exception for anyio backend. ([#​899](https://togithub.com/encode/httpcore/issues/899)) - Allow trio `0.25.*` series in package dependancies. ([#​903](https://togithub.com/encode/httpcore/issues/903)) ### [`v1.0.4`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#104-February-21st-2024) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.3...1.0.4) - Add `target` request extension. ([#​888](https://togithub.com/encode/httpcore/issues/888)) - Fix support for connection `Upgrade` and `CONNECT` when some data in the stream has been read. ([#​882](https://togithub.com/encode/httpcore/issues/882)) ### [`v1.0.3`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#103-February-13th-2024) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.2...1.0.3) - Fix support for async cancellations. ([#​880](https://togithub.com/encode/httpcore/issues/880)) - Fix trace extension when used with socks proxy. ([#​849](https://togithub.com/encode/httpcore/issues/849)) - Fix SSL context for connections using the "wss" scheme ([#​869](https://togithub.com/encode/httpcore/issues/869)) ### [`v1.0.2`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#102-November-10th-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.1...1.0.2) - Fix `float("inf")` timeouts in `Event.wait` function. ([#​846](https://togithub.com/encode/httpcore/issues/846)) ### [`v1.0.1`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#101-November-3rd-2023) [Compare Source](https://togithub.com/encode/httpcore/compare/1.0.0...1.0.1) - Fix pool timeout to account for the total time spent retrying. ([#​823](https://togithub.com/encode/httpcore/issues/823)) - Raise a neater RuntimeError when the correct async deps are not installed. ([#​826](https://togithub.com/encode/httpcore/issues/826)) - Add support for synchronous TLS-in-TLS streams. ([#​840](https://togithub.com/encode/httpcore/issues/840)) ### [`v1.0.0`](https://togithub.com/encode/httpcore/blob/HEAD/CHANGELOG.md#100-October-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:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjAuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [black](https://togithub.com/psf/black) ([changelog](https://togithub.com/psf/black/blob/main/CHANGES.md)) | `24.4.0` -> `24.4.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [certifi](https://togithub.com/certifi/python-certifi) | `==2024.6.2` -> `==2024.7.4` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [codespell](https://togithub.com/codespell-project/codespell) | `2.2.6` -> `2.3.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [exceptiongroup](https://togithub.com/agronholm/exceptiongroup) ([changelog](https://togithub.com/agronholm/exceptiongroup/blob/main/CHANGES.rst)) | `==1.1.1` -> `==1.2.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [httpx](https://togithub.com/encode/httpx) ([changelog](https://togithub.com/encode/httpx/blob/master/CHANGELOG.md)) | `==0.24.1` -> `==0.27.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [lightkube](https://togithub.com/gtsystem/lightkube) | `0.15.2` -> `0.15.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [lightkube](https://togithub.com/gtsystem/lightkube) | `==0.15.2` -> `==0.15.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [lightkube-models](https://togithub.com/gtsystem/lightkube-models) | `==1.27.1.4` -> `==1.30.0.8` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [markupsafe](https://palletsprojects.com/p/markupsafe/) ([changelog](https://markupsafe.palletsprojects.com/changes/)) | `==2.1.3` -> `==2.1.5` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [mypy](https://www.mypy-lang.org/) ([source](https://togithub.com/python/mypy), [changelog](https://mypy-lang.blogspot.com/)) | `1.9.0` -> `1.10.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pytest](https://togithub.com/pytest-dev/pytest) ([changelog](https://docs.pytest.org/en/stable/changelog.html)) | `8.1.1` -> `8.2.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pyyaml](https://pyyaml.org/) ([source](https://togithub.com/yaml/pyyaml)) | `==6.0` -> `==6.0.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [sniffio](https://togithub.com/python-trio/sniffio) ([changelog](https://sniffio.readthedocs.io/en/latest/history.html)) | `==1.3.0` -> `==1.3.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [tox](https://togithub.com/tox-dev/tox) ([changelog](https://tox.wiki/en/latest/changelog.html)) | `4.14.2` -> `4.16.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>psf/black (black)</summary> ### [`v24.4.2`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2442) [Compare Source](https://togithub.com/psf/black/compare/24.4.1...24.4.2) This is a bugfix release to fix two regressions in the new f-string parser introduced in 24.4.1. ##### Parser - Fix regression where certain complex f-strings failed to parse ([#​4332](https://togithub.com/psf/black/issues/4332)) ##### Performance - Fix bad performance on certain complex string literals ([#​4331](https://togithub.com/psf/black/issues/4331)) ### [`v24.4.1`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2441) [Compare Source](https://togithub.com/psf/black/compare/24.4.0...24.4.1) ##### Highlights - Add support for the new Python 3.12 f-string syntax introduced by PEP 701 ([#​3822](https://togithub.com/psf/black/issues/3822)) ##### Stable style - Fix crash involving indented dummy functions containing newlines ([#​4318](https://togithub.com/psf/black/issues/4318)) ##### Parser - Add support for type parameter defaults, a new syntactic feature added to Python 3.13 by PEP 696 ([#​4327](https://togithub.com/psf/black/issues/4327)) ##### Integrations - Github Action now works even when `git archive` is skipped ([#​4313](https://togithub.com/psf/black/issues/4313)) </details> <details> <summary>certifi/python-certifi (certifi)</summary> ### [`v2024.7.4`](https://togithub.com/certifi/python-certifi/compare/2024.06.02...2024.07.04) [Compare Source](https://togithub.com/certifi/python-certifi/compare/2024.06.02...2024.07.04) </details> <details> <summary>codespell-project/codespell (codespell)</summary> ### [`v2.3.0`](https://togithub.com/codespell-project/codespell/releases/tag/v2.3.0) [Compare Source](https://togithub.com/codespell-project/codespell/compare/v2.2.6...v2.3.0) #### What's Changed - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3115](https://togithub.com/codespell-project/codespell/pull/3115) - Add schematrion->schematron by [@​AirQuick](https://togithub.com/AirQuick) in [https://github.com/codespell-project/codespell/pull/3116](https://togithub.com/codespell-project/codespell/pull/3116) - Add explicit Python 3.12 support by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3121](https://togithub.com/codespell-project/codespell/pull/3121) - Add miscellaneous typos by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3117](https://togithub.com/codespell-project/codespell/pull/3117) - fix: aesthetic(s) should be kept as is by [@​SimonVerhoeven](https://togithub.com/SimonVerhoeven) in [https://github.com/codespell-project/codespell/pull/3126](https://togithub.com/codespell-project/codespell/pull/3126) - Add more labour\* variants by [@​SimonVerhoeven](https://togithub.com/SimonVerhoeven) in [https://github.com/codespell-project/codespell/pull/3128](https://togithub.com/codespell-project/codespell/pull/3128) - Add additional spelling corrections for prior and variant. by [@​cfi-gb](https://togithub.com/cfi-gb) in [https://github.com/codespell-project/codespell/pull/3135](https://togithub.com/codespell-project/codespell/pull/3135) - Fix `no-commit-to-branch` Pre-Commit check by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3130](https://togithub.com/codespell-project/codespell/pull/3130) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3131](https://togithub.com/codespell-project/codespell/pull/3131) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3155](https://togithub.com/codespell-project/codespell/pull/3155) - Return exit status in **main**.py by [@​szepeviktor](https://togithub.com/szepeviktor) in [https://github.com/codespell-project/codespell/pull/3157](https://togithub.com/codespell-project/codespell/pull/3157) - Fix ruff alerts (currently) not caught by pre-commit by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3158](https://togithub.com/codespell-project/codespell/pull/3158) - Added new word by [@​muhahahmad68](https://togithub.com/muhahahmad68) in [https://github.com/codespell-project/codespell/pull/3146](https://togithub.com/codespell-project/codespell/pull/3146) - `dictionary.txt` additions by [@​janosh](https://togithub.com/janosh) in [https://github.com/codespell-project/codespell/pull/3149](https://togithub.com/codespell-project/codespell/pull/3149) - Add Gelma's typos that start with "a" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3150](https://togithub.com/codespell-project/codespell/pull/3150) - Add Gelma's typos from "b" to "cl" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3163](https://togithub.com/codespell-project/codespell/pull/3163) - Add some academies typos by [@​peternewman](https://togithub.com/peternewman) in [https://github.com/codespell-project/codespell/pull/3173](https://togithub.com/codespell-project/codespell/pull/3173) - Add Gelma's typos from "co" to "cy" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3167](https://togithub.com/codespell-project/codespell/pull/3167) - Add Gelma's typos that start with "d" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3168](https://togithub.com/codespell-project/codespell/pull/3168) - Refactor code using `encodings` by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3172](https://togithub.com/codespell-project/codespell/pull/3172) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3176](https://togithub.com/codespell-project/codespell/pull/3176) - Add Gelma's typos that start with "e" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3174](https://togithub.com/codespell-project/codespell/pull/3174) - Add Gelma's typos from "f" to "h" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3175](https://togithub.com/codespell-project/codespell/pull/3175) - Add alwats->always correction. by [@​cfi-gb](https://togithub.com/cfi-gb) in [https://github.com/codespell-project/codespell/pull/3178](https://togithub.com/codespell-project/codespell/pull/3178) - Add obsloete->obsolete and friend by [@​peternewman](https://togithub.com/peternewman) in [https://github.com/codespell-project/codespell/pull/3019](https://togithub.com/codespell-project/codespell/pull/3019) - Add entries to rare dictionary by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3179](https://togithub.com/codespell-project/codespell/pull/3179) - Add Gelma's typos that start with "i" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3177](https://togithub.com/codespell-project/codespell/pull/3177) - diagional -> diagonal by [@​tkoyama010](https://togithub.com/tkoyama010) in [https://github.com/codespell-project/codespell/pull/3183](https://togithub.com/codespell-project/codespell/pull/3183) - Add Gelma's typos from "j" to "m" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3180](https://togithub.com/codespell-project/codespell/pull/3180) - Add Gelma's typos from "n" to "o" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3182](https://togithub.com/codespell-project/codespell/pull/3182) - Add corrections for vulnerbailit(y|ies)->vulnerabilit(y|ies). by [@​cfi-gb](https://togithub.com/cfi-gb) in [https://github.com/codespell-project/codespell/pull/3185](https://togithub.com/codespell-project/codespell/pull/3185) - Add Gelma's typos that start with "p" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3184](https://togithub.com/codespell-project/codespell/pull/3184) - Add Gelma's typos from "q" to "r" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3186](https://togithub.com/codespell-project/codespell/pull/3186) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3193](https://togithub.com/codespell-project/codespell/pull/3193) - openign->opening by [@​claydugo](https://togithub.com/claydugo) in [https://github.com/codespell-project/codespell/pull/3194](https://togithub.com/codespell-project/codespell/pull/3194) - Add Gelma's typos that start with "s" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3187](https://togithub.com/codespell-project/codespell/pull/3187) - Add spelling corrections for evaluate by [@​adrien-berchet](https://togithub.com/adrien-berchet) in [https://github.com/codespell-project/codespell/pull/3195](https://togithub.com/codespell-project/codespell/pull/3195) - Add Gelma's typos from "t" to "z" by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3188](https://togithub.com/codespell-project/codespell/pull/3188) - Dict update by [@​macpijan](https://togithub.com/macpijan) in [https://github.com/codespell-project/codespell/pull/3197](https://togithub.com/codespell-project/codespell/pull/3197) - Improve existing suggestions by [@​int-y1](https://togithub.com/int-y1) in [https://github.com/codespell-project/codespell/pull/3200](https://togithub.com/codespell-project/codespell/pull/3200) - Add a timeout to jobs that may benefit from it by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3199](https://togithub.com/codespell-project/codespell/pull/3199) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3201](https://togithub.com/codespell-project/codespell/pull/3201) - Unify multiple identities of luzpuz and Dimitri by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3205](https://togithub.com/codespell-project/codespell/pull/3205) - Ignore personal names Damon and Manuel by [@​hugovk](https://togithub.com/hugovk) in [https://github.com/codespell-project/codespell/pull/3204](https://togithub.com/codespell-project/codespell/pull/3204) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3214](https://togithub.com/codespell-project/codespell/pull/3214) - Ignore ill-formed INI files instead of crashing by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3213](https://togithub.com/codespell-project/codespell/pull/3213) - don't show stacktrace from KeyboardInterrupt [#​3217](https://togithub.com/codespell-project/codespell/issues/3217) by [@​jcubic](https://togithub.com/jcubic) in [https://github.com/codespell-project/codespell/pull/3218](https://togithub.com/codespell-project/codespell/pull/3218) - Adding 'hareware' to spelling corrections. by [@​barndawgie](https://togithub.com/barndawgie) in [https://github.com/codespell-project/codespell/pull/3215](https://togithub.com/codespell-project/codespell/pull/3215) - Add typos for knownledge->knowledge, analyzis->analysis and compialtion->compilation by [@​fishilico](https://togithub.com/fishilico) in [https://github.com/codespell-project/codespell/pull/3222](https://togithub.com/codespell-project/codespell/pull/3222) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3228](https://togithub.com/codespell-project/codespell/pull/3228) - Add --stdin-single-line option by [@​Jendker](https://togithub.com/Jendker) in [https://github.com/codespell-project/codespell/pull/3224](https://togithub.com/codespell-project/codespell/pull/3224) - Add spelling corrections for parameters by [@​adrien-berchet](https://togithub.com/adrien-berchet) in [https://github.com/codespell-project/codespell/pull/3230](https://togithub.com/codespell-project/codespell/pull/3230) - Ignore line endings in exclude-file by [@​Jackenmen](https://togithub.com/Jackenmen) in [https://github.com/codespell-project/codespell/pull/1889](https://togithub.com/codespell-project/codespell/pull/1889) - Add typo offsers by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3232](https://togithub.com/codespell-project/codespell/pull/3232) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3235](https://togithub.com/codespell-project/codespell/pull/3235) - Process files in sorted rather than arbitrary order by [@​hugovk](https://togithub.com/hugovk) in [https://github.com/codespell-project/codespell/pull/3234](https://togithub.com/codespell-project/codespell/pull/3234) - Add refinement to 'remore' typo by [@​luzpaz](https://togithub.com/luzpaz) in [https://github.com/codespell-project/codespell/pull/3236](https://togithub.com/codespell-project/codespell/pull/3236) - chore(license): update to use spdx id by [@​chenrui333](https://togithub.com/chenrui333) in [https://github.com/codespell-project/codespell/pull/3231](https://togithub.com/codespell-project/codespell/pull/3231) - Materials science related corrections by [@​janosh](https://togithub.com/janosh) in [https://github.com/codespell-project/codespell/pull/3237](https://togithub.com/codespell-project/codespell/pull/3237) - Add spelling corrections for vulnerability and variant. by [@​cfi-gb](https://togithub.com/cfi-gb) in [https://github.com/codespell-project/codespell/pull/3239](https://togithub.com/codespell-project/codespell/pull/3239) - Bump actions/setup-python from 4 to 5 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/codespell-project/codespell/pull/3240](https://togithub.com/codespell-project/codespell/pull/3240) - add velcoity -> velocity by [@​zingale](https://togithub.com/zingale) in [https://github.com/codespell-project/codespell/pull/3241](https://togithub.com/codespell-project/codespell/pull/3241) - black → ruff format by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3242](https://togithub.com/codespell-project/codespell/pull/3242) - ot is a typo also for it, which i is close to o by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3247](https://togithub.com/codespell-project/codespell/pull/3247) - Apply a selection of refurb rules by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3244](https://togithub.com/codespell-project/codespell/pull/3244) - Get rid of autoflake by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3250](https://togithub.com/codespell-project/codespell/pull/3250) - Bump actions/upload-artifact from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/codespell-project/codespell/pull/3253](https://togithub.com/codespell-project/codespell/pull/3253) - Bump actions/download-artifact from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/codespell-project/codespell/pull/3254](https://togithub.com/codespell-project/codespell/pull/3254) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3257](https://togithub.com/codespell-project/codespell/pull/3257) - Add spelling correction for miltiple and variant. by [@​cfi-gb](https://togithub.com/cfi-gb) in [https://github.com/codespell-project/codespell/pull/3255](https://togithub.com/codespell-project/codespell/pull/3255) - Collection of typos by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3251](https://togithub.com/codespell-project/codespell/pull/3251) - test: remove warning when aspell is not installed by [@​perillo](https://togithub.com/perillo) in [https://github.com/codespell-project/codespell/pull/3262](https://togithub.com/codespell-project/codespell/pull/3262) - Add carrets->carets by [@​ydah](https://togithub.com/ydah) in [https://github.com/codespell-project/codespell/pull/3263](https://togithub.com/codespell-project/codespell/pull/3263) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3264](https://togithub.com/codespell-project/codespell/pull/3264) - Add support for ANSI colors on Windows by [@​perillo](https://togithub.com/perillo) in [https://github.com/codespell-project/codespell/pull/3259](https://togithub.com/codespell-project/codespell/pull/3259) - Add prettier to pre-commit by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3268](https://togithub.com/codespell-project/codespell/pull/3268) - Apply Repo-Review suggestions by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3265](https://togithub.com/codespell-project/codespell/pull/3265) - dictionary: pathes can be patches by [@​mdeweerd](https://togithub.com/mdeweerd) in [https://github.com/codespell-project/codespell/pull/3273](https://togithub.com/codespell-project/codespell/pull/3273) - fix: typos in comments by [@​vEnhance](https://togithub.com/vEnhance) in [https://github.com/codespell-project/codespell/pull/3274](https://togithub.com/codespell-project/codespell/pull/3274) - doc: Specify .codespellrc is INI formatted by [@​vEnhance](https://togithub.com/vEnhance) in [https://github.com/codespell-project/codespell/pull/3271](https://togithub.com/codespell-project/codespell/pull/3271) - Add sanetize->sanitize by [@​sshane](https://togithub.com/sshane) in [https://github.com/codespell-project/codespell/pull/3275](https://togithub.com/codespell-project/codespell/pull/3275) - Case ignore by [@​vEnhance](https://togithub.com/vEnhance) in [https://github.com/codespell-project/codespell/pull/3272](https://togithub.com/codespell-project/codespell/pull/3272) - Fixed [#​3278](https://togithub.com/codespell-project/codespell/issues/3278) by [@​matlupi](https://togithub.com/matlupi) in [https://github.com/codespell-project/codespell/pull/3279](https://togithub.com/codespell-project/codespell/pull/3279) - dictionnary: persan can be persian. by [@​mdeweerd](https://togithub.com/mdeweerd) in [https://github.com/codespell-project/codespell/pull/3282](https://togithub.com/codespell-project/codespell/pull/3282) - Add validaiton->validation, valuation by [@​ydah](https://togithub.com/ydah) in [https://github.com/codespell-project/codespell/pull/3281](https://togithub.com/codespell-project/codespell/pull/3281) - Consistent title case capitalisation by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3286](https://togithub.com/codespell-project/codespell/pull/3286) - Updated dictionary for [#​2411](https://togithub.com/codespell-project/codespell/issues/2411) by [@​matlupi](https://togithub.com/matlupi) in [https://github.com/codespell-project/codespell/pull/3280](https://togithub.com/codespell-project/codespell/pull/3280) - dict: falt can be fault or flat by [@​mdeweerd](https://togithub.com/mdeweerd) in [https://github.com/codespell-project/codespell/pull/3289](https://togithub.com/codespell-project/codespell/pull/3289) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3291](https://togithub.com/codespell-project/codespell/pull/3291) - Add acquistion->acquisition by [@​hannah-morilak](https://togithub.com/hannah-morilak) in [https://github.com/codespell-project/codespell/pull/3287](https://togithub.com/codespell-project/codespell/pull/3287) - Adding fixes for recommond and recommonded by [@​barndawgie](https://togithub.com/barndawgie) in [https://github.com/codespell-project/codespell/pull/3292](https://togithub.com/codespell-project/codespell/pull/3292) - Add tox.ini file by [@​perillo](https://togithub.com/perillo) in [https://github.com/codespell-project/codespell/pull/3269](https://togithub.com/codespell-project/codespell/pull/3269) - Fixed [#​3297](https://togithub.com/codespell-project/codespell/issues/3297) by [@​matlupi](https://togithub.com/matlupi) in [https://github.com/codespell-project/codespell/pull/3298](https://togithub.com/codespell-project/codespell/pull/3298) - Enable lists in TOML config file by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3294](https://togithub.com/codespell-project/codespell/pull/3294) - Fix ruff alerts (currently) not caught by pre-commit by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3162](https://togithub.com/codespell-project/codespell/pull/3162) - Fixed [#​3301](https://togithub.com/codespell-project/codespell/issues/3301) by [@​matlupi](https://togithub.com/matlupi) in [https://github.com/codespell-project/codespell/pull/3302](https://togithub.com/codespell-project/codespell/pull/3302) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3303](https://togithub.com/codespell-project/codespell/pull/3303) - Materials science related corrections 2 by [@​janosh](https://togithub.com/janosh) in [https://github.com/codespell-project/codespell/pull/3295](https://togithub.com/codespell-project/codespell/pull/3295) - Add spelling corrections for sphere by [@​adrien-berchet](https://togithub.com/adrien-berchet) in [https://github.com/codespell-project/codespell/pull/3304](https://togithub.com/codespell-project/codespell/pull/3304) - Makes config for "count" more clear as a boolean by [@​amarvin](https://togithub.com/amarvin) in [https://github.com/codespell-project/codespell/pull/3307](https://togithub.com/codespell-project/codespell/pull/3307) - quanitization -> quantization by [@​claydugo](https://togithub.com/claydugo) in [https://github.com/codespell-project/codespell/pull/3308](https://togithub.com/codespell-project/codespell/pull/3308) - instroment->instrument by [@​matlupi](https://togithub.com/matlupi) in [https://github.com/codespell-project/codespell/pull/3309](https://togithub.com/codespell-project/codespell/pull/3309) - Add updadated->updated and uneared->unearned by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3310](https://togithub.com/codespell-project/codespell/pull/3310) - initiase -> initialise by [@​matlupi](https://togithub.com/matlupi) in [https://github.com/codespell-project/codespell/pull/3343](https://togithub.com/codespell-project/codespell/pull/3343) - Adding correction for furance->furnace by [@​barndawgie](https://togithub.com/barndawgie) in [https://github.com/codespell-project/codespell/pull/3347](https://togithub.com/codespell-project/codespell/pull/3347) - Bump codecov/codecov-action from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/codespell-project/codespell/pull/3348](https://togithub.com/codespell-project/codespell/pull/3348) - dict: disagreement by [@​mdeweerd](https://togithub.com/mdeweerd) in [https://github.com/codespell-project/codespell/pull/3351](https://togithub.com/codespell-project/codespell/pull/3351) - dict: False/true typos by [@​mdeweerd](https://togithub.com/mdeweerd) in [https://github.com/codespell-project/codespell/pull/3350](https://togithub.com/codespell-project/codespell/pull/3350) - sampe->sample by [@​matlupi](https://togithub.com/matlupi) in [https://github.com/codespell-project/codespell/pull/3354](https://togithub.com/codespell-project/codespell/pull/3354) - Multiple spelling suggestions by [@​mdeweerd](https://togithub.com/mdeweerd) in [https://github.com/codespell-project/codespell/pull/3349](https://togithub.com/codespell-project/codespell/pull/3349) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3352](https://togithub.com/codespell-project/codespell/pull/3352) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3357](https://togithub.com/codespell-project/codespell/pull/3357) - Fix "dubious ownership" error in dev containers by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3361](https://togithub.com/codespell-project/codespell/pull/3361) - Assorted mispellings by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3360](https://togithub.com/codespell-project/codespell/pull/3360) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3364](https://togithub.com/codespell-project/codespell/pull/3364) - Add metadataa typo by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3368](https://togithub.com/codespell-project/codespell/pull/3368) - Add corrections for all \*in->\*ing words starting with "A" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3336](https://togithub.com/codespell-project/codespell/pull/3336) - Add corrections for all \*in->\*ing words starting with "B" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3312](https://togithub.com/codespell-project/codespell/pull/3312) - Add corrections for all \*in->\*ing words starting with "C" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3314](https://togithub.com/codespell-project/codespell/pull/3314) - editible->editable by [@​skshetry](https://togithub.com/skshetry) in [https://github.com/codespell-project/codespell/pull/3367](https://togithub.com/codespell-project/codespell/pull/3367) - Add corrections for all \*in->\*ing words starting with "D" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3319](https://togithub.com/codespell-project/codespell/pull/3319) - Add corrections for all \*in->\*ing words starting with "E" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3318](https://togithub.com/codespell-project/codespell/pull/3318) - Add corrections for all \*in->\*ing words starting with "F" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3330](https://togithub.com/codespell-project/codespell/pull/3330) - Add correction for spoofing and spoofed. by [@​cfi-gb](https://togithub.com/cfi-gb) in [https://github.com/codespell-project/codespell/pull/3370](https://togithub.com/codespell-project/codespell/pull/3370) - Add reliabe->reliable by [@​adamscott](https://togithub.com/adamscott) in [https://github.com/codespell-project/codespell/pull/3372](https://togithub.com/codespell-project/codespell/pull/3372) - Add corrections for all \*in->\*ing words starting with "G" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3325](https://togithub.com/codespell-project/codespell/pull/3325) - Add corrections for all \*in->\*ing words starting with "H" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3315](https://togithub.com/codespell-project/codespell/pull/3315) - Add corrections for all \*in->\*ing words starting with "I" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3329](https://togithub.com/codespell-project/codespell/pull/3329) - Add corrections for all \*in->\*ing words starting with "J" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3331](https://togithub.com/codespell-project/codespell/pull/3331) - Add corrections for all \*in->\*ing words starting with "K" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3332](https://togithub.com/codespell-project/codespell/pull/3332) - Add corrections for all \*in->\*ing words starting with "L" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3326](https://togithub.com/codespell-project/codespell/pull/3326) - Add corrections for all \*in->\*ing words starting with "M" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3317](https://togithub.com/codespell-project/codespell/pull/3317) - Add corrections for all \*in->\*ing words starting with "N" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3320](https://togithub.com/codespell-project/codespell/pull/3320) - Add corrections for all \*in->\*ing words starting with "O" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3313](https://togithub.com/codespell-project/codespell/pull/3313) - Move focusin to code by [@​peternewman](https://togithub.com/peternewman) in [https://github.com/codespell-project/codespell/pull/3373](https://togithub.com/codespell-project/codespell/pull/3373) - Add filaname->filename by [@​cjwatson](https://togithub.com/cjwatson) in [https://github.com/codespell-project/codespell/pull/3371](https://togithub.com/codespell-project/codespell/pull/3371) - Add corrections for all \*in->\*ing words starting with "R" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3324](https://togithub.com/codespell-project/codespell/pull/3324) - Add corrections for all \*in->\*ing words starting with "S" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3316](https://togithub.com/codespell-project/codespell/pull/3316) - Add corrections for all \*in->\*ing words starting with "P" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3322](https://togithub.com/codespell-project/codespell/pull/3322) - Add corrections for all \*in->\*ing words starting with "Q" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3333](https://togithub.com/codespell-project/codespell/pull/3333) - Add corrections for all \*in->\*ing words starting with "T" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3328](https://togithub.com/codespell-project/codespell/pull/3328) - Add corrections for all \*in->\*ing words starting with "U" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3321](https://togithub.com/codespell-project/codespell/pull/3321) - Add corrections for all \*in->\*ing words starting with "V" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3327](https://togithub.com/codespell-project/codespell/pull/3327) - Add corrections for all \*in->\*ing words starting with "W" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3323](https://togithub.com/codespell-project/codespell/pull/3323) - Add corrections for all \*in->\*ing words starting with "Y" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3334](https://togithub.com/codespell-project/codespell/pull/3334) - Add corrections for all \*in->\*ing words starting with "Z" by [@​jdufresne](https://togithub.com/jdufresne) in [https://github.com/codespell-project/codespell/pull/3335](https://togithub.com/codespell-project/codespell/pull/3335) - Add 'quotted->quoted' by [@​sirosen](https://togithub.com/sirosen) in [https://github.com/codespell-project/codespell/pull/3374](https://togithub.com/codespell-project/codespell/pull/3374) - Remove reoccurrence from the dictionary.txt -- LGTM and popular word by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3378](https://togithub.com/codespell-project/codespell/pull/3378) - Add typos for expration(s) by [@​fishilico](https://togithub.com/fishilico) in [https://github.com/codespell-project/codespell/pull/3377](https://togithub.com/codespell-project/codespell/pull/3377) - Implement inline ignores by [@​kaste](https://togithub.com/kaste) in [https://github.com/codespell-project/codespell/pull/2400](https://togithub.com/codespell-project/codespell/pull/2400) - Add softwrae typo fix by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3383](https://togithub.com/codespell-project/codespell/pull/3383) - Add spelling corrections for morphology by [@​adrien-berchet](https://togithub.com/adrien-berchet) in [https://github.com/codespell-project/codespell/pull/3379](https://togithub.com/codespell-project/codespell/pull/3379) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3382](https://togithub.com/codespell-project/codespell/pull/3382) - Several spelling suggestions by [@​mdeweerd](https://togithub.com/mdeweerd) in [https://github.com/codespell-project/codespell/pull/3386](https://togithub.com/codespell-project/codespell/pull/3386) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3389](https://togithub.com/codespell-project/codespell/pull/3389) - Add 'repeatition->repetition' and variants by [@​fishilico](https://togithub.com/fishilico) in [https://github.com/codespell-project/codespell/pull/3388](https://togithub.com/codespell-project/codespell/pull/3388) - Add labael->label and variants by [@​peternewman](https://togithub.com/peternewman) in [https://github.com/codespell-project/codespell/pull/3384](https://togithub.com/codespell-project/codespell/pull/3384) - docs: add the documentation of the new inline ignore comments by [@​12rambau](https://togithub.com/12rambau) in [https://github.com/codespell-project/codespell/pull/3390](https://togithub.com/codespell-project/codespell/pull/3390) - Add reposiroty->repository by [@​fishilico](https://togithub.com/fishilico) in [https://github.com/codespell-project/codespell/pull/3393](https://togithub.com/codespell-project/codespell/pull/3393) - Adding communicationg->communicating by [@​barndawgie](https://togithub.com/barndawgie) in [https://github.com/codespell-project/codespell/pull/3394](https://togithub.com/codespell-project/codespell/pull/3394) - Add 'croporate->corporate', 'incroporate->incorporate' and variants by [@​fishilico](https://togithub.com/fishilico) in [https://github.com/codespell-project/codespell/pull/3395](https://togithub.com/codespell-project/codespell/pull/3395) - docs: indentation error by [@​12rambau](https://togithub.com/12rambau) in [https://github.com/codespell-project/codespell/pull/3392](https://togithub.com/codespell-project/codespell/pull/3392) - More typos from Wikipedia by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3363](https://togithub.com/codespell-project/codespell/pull/3363) - Add compatiblility / configurated by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3161](https://togithub.com/codespell-project/codespell/pull/3161) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3398](https://togithub.com/codespell-project/codespell/pull/3398) - Handle multiline options by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3400](https://togithub.com/codespell-project/codespell/pull/3400) - docs: just `codespell:ignore` by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/3397](https://togithub.com/codespell-project/codespell/pull/3397) - Add `aftewards` misspelling by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3403](https://togithub.com/codespell-project/codespell/pull/3403) - Add correction for trasversal and variants. by [@​cfi-gb](https://togithub.com/cfi-gb) in [https://github.com/codespell-project/codespell/pull/3405](https://togithub.com/codespell-project/codespell/pull/3405) - A few mispellings for the dictionnary by [@​mdeweerd](https://togithub.com/mdeweerd) in [https://github.com/codespell-project/codespell/pull/3404](https://togithub.com/codespell-project/codespell/pull/3404) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3406](https://togithub.com/codespell-project/codespell/pull/3406) - Options that expect a file, should accept lists of files too by [@​DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) in [https://github.com/codespell-project/codespell/pull/2767](https://togithub.com/codespell-project/codespell/pull/2767) - Add spelling correction for specialiaze/specialiase and variants. by [@​cfi-gb](https://togithub.com/cfi-gb) in [https://github.com/codespell-project/codespell/pull/3409](https://togithub.com/codespell-project/codespell/pull/3409) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3411](https://togithub.com/codespell-project/codespell/pull/3411) - Add statestics typo (github has over 300 hits) by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3412](https://togithub.com/codespell-project/codespell/pull/3412) - nueroimaging typo (13 hits on github) -- domain specific but no doubt wrong! by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3413](https://togithub.com/codespell-project/codespell/pull/3413) - Added minor typos by [@​matlupi](https://togithub.com/matlupi) in [https://github.com/codespell-project/codespell/pull/3410](https://togithub.com/codespell-project/codespell/pull/3410) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3415](https://togithub.com/codespell-project/codespell/pull/3415) - Add netflify typo by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3417](https://togithub.com/codespell-project/codespell/pull/3417) - insstance typo by [@​yarikoptic](https://togithub.com/yarikoptic) in [https://github.com/codespell-project/codespell/pull/3418](https://togithub.com/codespell-project/codespell/pull/3418) - mian->main by [@​MercuryDemo](https://togithub.com/MercuryDemo) in [https://github.com/codespell-project/codespell/pull/3339](https://togithub.com/codespell-project/codespell/pull/3339) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3420](https://togithub.com/codespell-project/codespell/pull/3420) - Add coverage files to `.gitignore` by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3422](https://togithub.com/codespell-project/codespell/pull/3422) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3423](https://togithub.com/codespell-project/codespell/pull/3423) - Add `arragne->arrange` typo by [@​korverdev](https://togithub.com/korverdev) in [https://github.com/codespell-project/codespell/pull/3421](https://togithub.com/codespell-project/codespell/pull/3421) - Materials science-related corrections 3 by [@​janosh](https://togithub.com/janosh) in [https://github.com/codespell-project/codespell/pull/3424](https://togithub.com/codespell-project/codespell/pull/3424) - \[pre-commit.ci] pre-commit autoupdate by [@​pre-commit-ci](https://togithub.com/pre-commit-ci) in [https://github.com/codespell-project/codespell/pull/3428](https://togithub.com/codespell-project/codespell/pull/3428) #### New Contributors - [@​SimonVerhoeven](https://togithub.com/SimonVerhoeven) made their first contribution in [https://github.com/codespell-project/codespell/pull/3126](https://togithub.com/codespell-project/codespell/pull/3126) - [@​muhahahmad68](https://togithub.com/muhahahmad68) made their first contribution in [https://github.com/codespell-project/codespell/pull/3146](https://togithub.com/codespell-project/codespell/pull/3146) - [@​macpijan](https://togithub.com/macpijan) made their first contribution in [https://github.com/codespell-project/codespell/pull/3197](https://togithub.com/codespell-project/codespell/pull/3197) - [@​hugovk](https://togithub.com/hugovk) made their first contribution in [https://github.com/codespell-project/codespell/pull/3204](https://togithub.com/codespell-project/codespell/pull/3204) - [@​jcubic](https://togithub.com/jcubic) made their first contribution in [https://github.com/codespell-project/codespell/pull/3218](https://togithub.com/codespell-project/codespell/pull/3218) - [@​barndawgie](https://togithub.com/barndawgie) made their first contribution in [https://github.com/codespell-project/codespell/pull/3215](https://togithub.com/codespell-project/codespell/pull/3215) - [@​Jendker](https://togithub.com/Jendker) made their first contribution in [https://github.com/codespell-project/codespell/pull/3224](https://togithub.com/codespell-project/codespell/pull/3224) - [@​chenrui333](https://togithub.com/chenrui333) made their first contribution in [https://github.com/codespell-project/codespell/pull/3231](https://togithub.com/codespell-project/codespell/pull/3231) - [@​zingale](https://togithub.com/zingale) made their first contribution in [https://github.com/codespell-project/codespell/pull/3241](https://togithub.com/codespell-project/codespell/pull/3241) - [@​perillo](https://togithub.com/perillo) made their first contribution in [https://github.com/codespell-project/codespell/pull/3262](https://togithub.com/codespell-project/codespell/pull/3262) - [@​vEnhance](https://togithub.com/vEnhance) made their first contribution in [https://github.com/codespell-project/codespell/pull/3274](https://togithub.com/codespell-project/codespell/pull/3274) - [@​sshane](https://togithub.com/sshane) made their first contribution in [https://github.com/codespell-project/codespell/pull/3275](https://togithub.com/codespell-project/codespell/pull/3275) - [@​matlupi](https://togithub.com/matlupi) made their first contribution in [https://github.com/codespell-project/codespell/pull/3279](https://togithub.com/codespell-project/codespell/pull/3279) - [@​hannah-morilak](https://togithub.com/hannah-morilak) made their first contribution in [https://github.com/codespell-project/codespell/pull/3287](https://togithub.com/codespell-project/codespell/pull/3287) - [@​amarvin](https://togithub.com/amarvin) made their first contribution in [https://github.com/codespell-project/codespell/pull/3307](https://togithub.com/codespell-project/codespell/pull/3307) - [@​skshetry](https://togithub.com/skshetry) made their first contribution in [https://github.com/codespell-project/codespell/pull/3367](https://togithub.com/codespell-project/codespell/pull/3367) - [@​adamscott](https://togithub.com/adamscott) made their first contribution in [https://github.com/codespell-project/codespell/pull/3372](https://togithub.com/codespell-project/codespell/pull/3372) - [@​cjwatson](https://togithub.com/cjwatson) made their first contribution in [https://github.com/codespell-project/codespell/pull/3371](https://togithub.com/codespell-project/codespell/pull/3371) - [@​kaste](https://togithub.com/kaste) made their first contribution in [https://github.com/codespell-project/codespell/pull/2400](https://togithub.com/codespell-project/codespell/pull/2400) - [@​12rambau](https://togithub.com/12rambau) made their first contribution in [https://github.com/codespell-project/codespell/pull/3390](https://togithub.com/codespell-project/codespell/pull/3390) - [@​MercuryDemo](https://togithub.com/MercuryDemo) made their first contribution in [https://github.com/codespell-project/codespell/pull/3339](https://togithub.com/codespell-project/codespell/pull/3339) **Full Changelog**: https://github.com/codespell-project/codespell/compare/v2.2.6...v2.3.0 </details> <details> <summary>agronholm/exceptiongroup (exceptiongroup)</summary> ### [`v1.2.1`](https://togithub.com/agronholm/exceptiongroup/releases/tag/1.2.1) [Compare Source](https://togithub.com/agronholm/exceptiongroup/compare/1.2.0...1.2.1) - Updated the copying of `__notes__` to match CPython behavior (PR by CF Bolz-Tereick) - Corrected the type annotation of the exception handler callback to accept a `BaseExceptionGroup` instead of `BaseException` - Fixed type errors on Python < 3.10 and the type annotation of `suppress()` (PR by John Litborn) ### [`v1.2.0`](https://togithub.com/agronholm/exceptiongroup/releases/tag/1.2.0) [Compare Source](https://togithub.com/agronho </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:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjAuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
--- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [anyio](https://redirect.github.com/agronholm/anyio) ([changelog](https://anyio.readthedocs.io/en/stable/versionhistory.html)) | `==4.6.0` -> `==4.6.2.post1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [black](https://redirect.github.com/psf/black) ([changelog](https://redirect.github.com/psf/black/blob/main/CHANGES.md)) | `24.8.0` -> `24.10.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [httpcore](https://redirect.github.com/encode/httpcore) | `==1.0.5` -> `==1.0.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [mypy](https://www.mypy-lang.org/) ([source](https://redirect.github.com/python/mypy), [changelog](https://mypy-lang.blogspot.com/)) | `1.11.2` -> `1.13.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [tox](https://redirect.github.com/tox-dev/tox) ([changelog](https://tox.wiki/en/latest/changelog.html)) | `4.21.2` -> `4.23.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>agronholm/anyio (anyio)</summary> ### [`v4.6.2.post1`](https://redirect.github.com/agronholm/anyio/compare/4.6.2...4.6.2.post1) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.6.2...4.6.2.post1) ### [`v4.6.2`](https://redirect.github.com/agronholm/anyio/releases/tag/4.6.2) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.6.1...4.6.2) - Fixed regression caused by ([#​807](https://redirect.github.com/agronholm/anyio/pull/807)) that prevented the use of parametrized async fixtures ### [`v4.6.1`](https://redirect.github.com/agronholm/anyio/releases/tag/4.6.1) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.6.0...4.6.1) This release contains all the changes from both v4.5.1 and v4.6.0, plus: - Fixed TaskGroup and CancelScope producing cyclic references in tracebacks when raising exceptions ([#​806](https://redirect.github.com/agronholm/anyio/pull/806)) (PR by [@​graingert](https://redirect.github.com/graingert)) </details> <details> <summary>psf/black (black)</summary> ### [`v24.10.0`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#24100) [Compare Source](https://redirect.github.com/psf/black/compare/24.8.0...24.10.0) ##### Highlights - Black is now officially tested with Python 3.13 and provides Python 3.13 mypyc-compiled wheels. ([#​4436](https://redirect.github.com/psf/black/issues/4436)) ([#​4449](https://redirect.github.com/psf/black/issues/4449)) - Black will issue an error when used with Python 3.12.5, due to an upstream memory safety issue in Python 3.12.5 that can cause Black's AST safety checks to fail. Please use Python 3.12.6 or Python 3.12.4 instead. ([#​4447](https://redirect.github.com/psf/black/issues/4447)) - Black no longer supports running with Python 3.8 ([#​4452](https://redirect.github.com/psf/black/issues/4452)) ##### Stable style - Fix crashes involving comments in parenthesised return types or `X | Y` style unions. ([#​4453](https://redirect.github.com/psf/black/issues/4453)) - Fix skipping Jupyter cells with unknown `%%` magic ([#​4462](https://redirect.github.com/psf/black/issues/4462)) ##### Preview style - Fix type annotation spacing between \* and more complex type variable tuple (i.e. `def fn(*args: *tuple[*Ts, T]) -> None: pass`) ([#​4440](https://redirect.github.com/psf/black/issues/4440)) ##### Caching - Fix bug where the cache was shared between runs with and without `--unstable` ([#​4466](https://redirect.github.com/psf/black/issues/4466)) ##### Packaging - Upgrade version of mypyc used to 1.12 beta ([#​4450](https://redirect.github.com/psf/black/issues/4450)) ([#​4449](https://redirect.github.com/psf/black/issues/4449)) - `blackd` now requires a newer version of aiohttp. ([#​4451](https://redirect.github.com/psf/black/issues/4451)) ##### Output - Added Python target version information on parse error ([#​4378](https://redirect.github.com/psf/black/issues/4378)) - Add information about Black version to internal error messages ([#​4457](https://redirect.github.com/psf/black/issues/4457)) </details> <details> <summary>encode/httpcore (httpcore)</summary> ### [`v1.0.6`](https://redirect.github.com/encode/httpcore/blob/HEAD/CHANGELOG.md#Version-106-October-1st-2024) [Compare Source](https://redirect.github.com/encode/httpcore/compare/1.0.5...1.0.6) - Relax `trio` dependency pinning. ([#​956](https://redirect.github.com/encode/httpcore/issues/956)) - Handle `trio` raising `NotImplementedError` on unsupported platforms. ([#​955](https://redirect.github.com/encode/httpcore/issues/955)) - Handle mapping `ssl.SSLError` to `httpcore.ConnectError`. ([#​918](https://redirect.github.com/encode/httpcore/issues/918)) </details> <details> <summary>python/mypy (mypy)</summary> ### [`v1.13.0`](https://redirect.github.com/python/mypy/compare/v1.12.1...v1.13.0) [Compare Source](https://redirect.github.com/python/mypy/compare/v1.12.1...v1.13.0) ### [`v1.12.1`](https://redirect.github.com/python/mypy/blob/HEAD/CHANGELOG.md#Mypy-1121) [Compare Source](https://redirect.github.com/python/mypy/compare/v1.12.0...v1.12.1) - Fix crash when showing partially analyzed type in error message (Ivan Levkivskyi, PR [17961](https://redirect.github.com/python/mypy/pull/17961)) - Fix iteration over union (when self type is involved) (Shantanu, PR [17976](https://redirect.github.com/python/mypy/pull/17976)) - Fix type object with type var default in union context (Jukka Lehtosalo, PR [17991](https://redirect.github.com/python/mypy/pull/17991)) - Revert change to `os.path` stubs affecting use of `os.PathLike[Any]` (Shantanu, PR [17995](https://redirect.github.com/python/mypy/pull/17995)) ### [`v1.12.0`](https://redirect.github.com/python/mypy/compare/v1.11.2...v1.12.0) [Compare Source](https://redirect.github.com/python/mypy/compare/v1.11.2...v1.12.0) </details> <details> <summary>tox-dev/tox (tox)</summary> ### [`v4.23.2`](https://redirect.github.com/tox-dev/tox/releases/tag/4.23.2) [Compare Source](https://redirect.github.com/tox-dev/tox/compare/4.23.1...4.23.2) <!-- Release notes generated using configuration in .github/release.yml at 4.23.2 --> #### What's Changed - Support external tox.pytest usage via "test" extra by [@​mbra](https://redirect.github.com/mbra) in [https://github.com/tox-dev/tox/pull/3422](https://redirect.github.com/tox-dev/tox/pull/3422) #### New Contributors - [@​mbra](https://redirect.github.com/mbra) made their first contribution in [https://github.com/tox-dev/tox/pull/3422](https://redirect.github.com/tox-dev/tox/pull/3422) **Full Changelog**: tox-dev/tox@4.23.1...4.23.2 ### [`v4.23.1`](https://redirect.github.com/tox-dev/tox/releases/tag/4.23.1) [Compare Source](https://redirect.github.com/tox-dev/tox/compare/4.23.0...4.23.1) <!-- Release notes generated using configuration in .github/release.yml at 4.23.1 --> #### What's Changed - Docs: adjusting EOL Python version testing remarks by [@​robsdedude](https://redirect.github.com/robsdedude) in [https://github.com/tox-dev/tox/pull/3417](https://redirect.github.com/tox-dev/tox/pull/3417) - Fix example docs by [@​gaborbernat](https://redirect.github.com/gaborbernat) in [https://github.com/tox-dev/tox/pull/3421](https://redirect.github.com/tox-dev/tox/pull/3421) #### New Contributors - [@​robsdedude](https://redirect.github.com/robsdedude) made their first contribution in [https://github.com/tox-dev/tox/pull/3417](https://redirect.github.com/tox-dev/tox/pull/3417) **Full Changelog**: tox-dev/tox@4.23.0...4.23.1 ### [`v4.23.0`](https://redirect.github.com/tox-dev/tox/releases/tag/4.23.0) [Compare Source](https://redirect.github.com/tox-dev/tox/compare/4.22.0...4.23.0) <!-- Release notes generated using configuration in .github/release.yml at 4.23.0 --> #### What's Changed - replace tool.pyproject and tool.tox.pyproject with tool.tox in config… by [@​graingert-coef](https://redirect.github.com/graingert-coef) in [https://github.com/tox-dev/tox/pull/3411](https://redirect.github.com/tox-dev/tox/pull/3411) - Add NETRC to the default_pass_env list by [@​chipot](https://redirect.github.com/chipot) in [https://github.com/tox-dev/tox/pull/3410](https://redirect.github.com/tox-dev/tox/pull/3410) #### New Contributors - [@​graingert-coef](https://redirect.github.com/graingert-coef) made their first contribution in [https://github.com/tox-dev/tox/pull/3411](https://redirect.github.com/tox-dev/tox/pull/3411) - [@​chipot](https://redirect.github.com/chipot) made their first contribution in [https://github.com/tox-dev/tox/pull/3410](https://redirect.github.com/tox-dev/tox/pull/3410) **Full Changelog**: tox-dev/tox@4.22.0...4.23.0 ### [`v4.22.0`](https://redirect.github.com/tox-dev/tox/releases/tag/4.22.0) [Compare Source](https://redirect.github.com/tox-dev/tox/compare/4.21.2...4.22.0) <!-- Release notes generated using configuration in .github/release.yml at 4.22.0 --> #### What's Changed - Fix the fix environment definition by [@​gaborbernat](https://redirect.github.com/gaborbernat) in [https://github.com/tox-dev/tox/pull/3407](https://redirect.github.com/tox-dev/tox/pull/3407) - Expose type checking dependencies into an extra by [@​ssbarnea](https://redirect.github.com/ssbarnea) in [https://github.com/tox-dev/tox/pull/3404](https://redirect.github.com/tox-dev/tox/pull/3404) - Add dependency-groups support (PEP-735) by [@​gaborbernat](https://redirect.github.com/gaborbernat) in [https://github.com/tox-dev/tox/pull/3409](https://redirect.github.com/tox-dev/tox/pull/3409) **Full Changelog**: tox-dev/tox@4.21.2...4.22.0 </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://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/canonical/spark-k8s-toolkit-py). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMTUuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.