chore(deps): update development dependencies (non-major)
Metadata
Current evaluation
Renovate updates were merged in canonical/charmcraft#1604 at commit f414390d, advancing pytest, Hypothesis, and four type-checking development dependencies.
Resolution: closed resolved
Reason: PR canonical/charmcraft#1604 was merged as commit f414390d, completing the non-major development dependency updates.
Evaluated by: mr-cal-bot
No scores available.
Issue body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [hypothesis](https://hypothesis.works) ([source](https://togithub.com/HypothesisWorks/hypothesis/tree/HEAD/hypothesis-python), [changelog](https://togithub.com/HypothesisWorks/hypothesis/blob/master/hypothesis-python/docs/changes.rst)) | `==6.98.9` -> `==6.99.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/) |
| [pytest](https://togithub.com/pytest-dev/pytest) ([changelog](https://docs.pytest.org/en/stable/changelog.html)) | `==8.0.1` -> `==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/) |
| [types-Deprecated](https://togithub.com/python/typeshed) ([changelog](https://togithub.com/typeshed-internal/stub_uploader/blob/main/data/changelogs/Deprecated.md)) | `==1.2.9.20240106` -> `==1.2.9.20240311` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [types-PyYAML](https://togithub.com/python/typeshed) ([changelog](https://togithub.com/typeshed-internal/stub_uploader/blob/main/data/changelogs/PyYAML.md)) | `==6.0.12.12` -> `==6.0.12.20240311` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [types/pyright](https://togithub.com/RobertCraigie/pyright-python) | `==1.1.352` -> `==1.1.353` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [types/types-requests](https://togithub.com/python/typeshed) ([changelog](https://togithub.com/typeshed-internal/stub_uploader/blob/main/data/changelogs/requests.md)) | `<2.31.0.7` -> `<2.31.0.20240312` | [](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>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.
</details>
<details>
<summary>RobertCraigie/pyright-python (types/pyright)</summary>
### [`v1.1.353`](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.352...v1.1.353)
[Compare Source](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.352...v1.1.353)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **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/charmcraft).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzguMSIsInVwZGF0ZWRJblZlciI6IjM3LjIzOC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Renovate updates were merged in canonical/charmcraft#1604 at commit f414390d, advancing pytest, Hypothesis, and four type-checking development dependencies. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/charmcraft#1604 (commit f414390d), updating Hypothesis, pytest, and four type-checking development dependencies to newer non-major versions. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged automated development dependency updates after passing CI and receiving two approvals. Updated hypothesis, pytest, types-Deprecated, types-PyYAML, types/pyright, and types/types-requests to latest non-major versions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged automated non-major development dependency updates via Renovate bot. Upgraded hypothesis, pytest, types-Deprecated, types-PyYAML, types/pyright, and types/types-requests. Changes were automerged per repository configuration. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #494 chore(deps): update development dependencies (non-major) | craft-providers | merged | Renovate's non-major development dependency updates were merged in PR #494 (commit 77d2ce0), covering pytest, coverage, Black, mypy, and other tooling. | |
| #463 chore(deps): update development dependencies (non-major) | craft-providers | merged | Renovate dependency updates in #463 were merged into main, upgrading pytest, mypy, Black, pyfakefs, and other development dependencies. | |
| #4696 chore(deps): update development dependencies (non-major) | snapcraft | merged | Renovate's non-major dev-dependency bump (typeshed stubs: types-Deprecated, types-PyYAML, types-requests, types-setuptools, etc.) merged into main via commit 542fd6798. | |
| #127 chore(deps): update development dependencies (non-major) | craft-application | merged | Renovate's non-major dev dependency bump merged in commit b80c77ab: pytest 7.4.2->7.4.3, black 23.10.0->23.10.1, pyright-python 1.1.332->1.1.333 (3-line pyproject.toml change). | |
| #170 chore(deps): update development dependencies (non-major) | craft-cli | merged | Merged Renovate PR #170, updating non-major dev dependencies including coverage 7.3.0, pytest 7.4.0, Black 23.7.0, mypy 1.5.1 and Pyright 1.1.323. | |
| #354 chore(deps): update development dependencies (non-major) | craft-providers | merged | Renovate non-major dev dependency bump merged into main as commit 881f376: pytest 7.4.0, pytest-mock 3.11.1, pytest-time 0.3.1, codespell 2.2.5, mypy 1.4.1, pyright 1.1.316 (+6/-6 in pyproject.toml). | |
| #153 chore(deps): update development dependencies (non-major) | starbase | merged | Renovate PR #153 was merged, updating pytest to 7.4.3, Black 23.11.0, Ruff 0.1.6, yamllint 1.33.0, mypy 1.7.1, and pyright 1.1.337. | |
| #565 chore(deps): update development dependencies (non-major) | craft-providers | merged | Merged Renovate PR #565 as c2acee7, updating coverage to 7.5.1, pytest to 8.2.0, pytest-xdist to 3.6.1, and types/pyright to 1.1.361. | |
| #206 chore(deps): update development dependencies (non-major) | craft-cli | merged | Renovate PR updating craft-cli dev dependencies (pytest 7.4.2→7.4.3, black 23.10.0→23.11.0, yamllint 1.32.0→1.33.0, mypy 1.6.1→1.7.1, pyright 1.1.332→1.1.337) was approved and merged into main as commit 70d8914. | |
| #137 chore(deps): update development dependencies (non-major) | starbase | merged | Merged Renovate PR #137 into main, updating seven pinned development dependencies, including pytest-mock 3.12.0 and mypy 1.6.1. |