pydantic / pydantic-extra-types

Extra Pydantic types.
MIT License
176 stars 47 forks source link

⬆ Bump the python-packages group with 6 updates #160

Closed dependabot[bot] closed 5 months ago

dependabot[bot] commented 5 months ago

Bumps the python-packages group with 6 updates:

Package From To
mypy 1.8.0 1.9.0
pre-commit 3.6.2 3.7.0
ruff 0.3.0 0.3.5
coverage[toml] 7.4.3 7.4.4
pytest 8.0.2 8.1.1
pytest-cov 4.1.0 5.0.0

Updates mypy from 1.8.0 to 1.9.0

Changelog

Sourced from mypy's changelog.

Mypy Release Notes

Mypy 1.9

We’ve just uploaded mypy 1.9 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

Breaking Changes

Because the version of typeshed we use in mypy 1.9 doesn't support 3.7, neither does mypy 1.9. (Jared Hance, PR 16883)

We are planning to enable local partial types (enabled via the --local-partial-types flag) later this year by default. This change was announced years ago, but now it's finally happening. This is a major backward-incompatible change, so we'll probably include it as part of the upcoming mypy 2.0 release. This makes daemon and non-daemon mypy runs have the same behavior by default.

Local partial types can also be enabled in the mypy config file:

local_partial_types = True

We are looking at providing a tool to make it easier to migrate projects to use --local-partial-types, but it's not yet clear whether this is practical. The migration usually involves adding some explicit type annotations to module-level and class-level variables.

Basic Support for Type Parameter Defaults (PEP 696)

This release contains new experimental support for type parameter defaults (PEP 696). Please try it out! This feature was contributed by Marc Mueller.

Since this feature will be officially introduced in the next Python feature release (3.13), you will need to import TypeVar, ParamSpec or TypeVarTuple from typing_extensions to use defaults for now.

This example adapted from the PEP defines a default for BotT:

from typing import Generic
from typing_extensions import TypeVar

class Bot: ...

BotT = TypeVar("BotT", bound=Bot, default=Bot) </tr></table>

... (truncated)

Commits


Updates pre-commit from 3.6.2 to 3.7.0

Release notes

Sourced from pre-commit's releases.

pre-commit v3.7.0

Features

  • Use a tty for docker and docker_image hooks when --color is specified.

Fixes

Updating

  • The per-hook behaviour of fail_fast was fixed. If you want the pre-3.7.0 behaviour, add fail_fast: true to all hooks before the last fail_fast hook.
Changelog

Sourced from pre-commit's changelog.

3.7.0 - 2024-03-24

Features

  • Use a tty for docker and docker_image hooks when --color is specified.

Fixes

Updating

  • The per-hook behaviour of fail_fast was fixed. If you want the pre-3.7.0 behaviour, add fail_fast: true to all hooks before the last fail_fast hook.
Commits
  • 7b4667e v3.7.0
  • d46c8fc Merge pull request #3168 from pre-commit/fix-fail-fast
  • fc62215 fix per-hook fail_fast to not fail on previous failures
  • 716da1e Merge pull request #3155 from pre-commit/pre-commit-ci-update-config
  • 0939c11 [pre-commit.ci] pre-commit autoupdate
  • 3bdf9fb Merge pull request #3150 from pre-commit/pre-commit-ci-update-config
  • 75b3e52 [pre-commit.ci] pre-commit autoupdate
  • 5e11c26 Merge pull request #3122 from glehmann/docker-tty
  • e580096 give docker a tty output when expecting color
  • 7b868c3 Merge pull request #3132 from pre-commit/pre-commit-ci-update-config
  • Additional commits viewable in compare view


Updates ruff from 0.3.0 to 0.3.5

Release notes

Sourced from ruff's releases.

v0.3.5

Changes

Preview features

  • [pylint] Implement modified-iterating-set (E4703) (#10473)
  • [refurb] Implement for-loop-set-mutations (FURB142) (#10583)
  • [refurb] Implement unnecessary-from-float (FURB164) (#10647)
  • [refurb] Implement verbose-decimal-constructor (FURB157) (#10533)

Rule changes

  • [flake8-comprehensions] Handled special case for C401 which also matches C416 (#10596)
  • [flake8-pyi] Mark unaliased-collections-abc-set-import fix as "safe" for more cases in stub files (PYI025) (#10547)
  • [numpy] Add row_stack to NumPy 2.0 migration rule (#10646)
  • [pycodestyle] Allow cell magics before an import (E402) (#10545)
  • [pycodestyle] Avoid blank line rules for the first logical line in cell (#10291)

Configuration

  • Respected nested namespace packages (#10541)
  • [flake8-boolean-trap] Add setting for user defined allowed boolean trap (#10531)

Bug fixes

  • Correctly handle references in __all__ definitions when renaming symbols in autofixes (#10527)
  • Track ranges of names inside __all__ definitions (#10525)
  • [flake8-bugbear] Avoid false positive for usage after continue (B031) (#10539)
  • [flake8-copyright] Accept commas in default copyright pattern (#9498)
  • [flake8-datetimez] Allow f-strings with %z for DTZ007 (#10651)
  • [flake8-pytest-style] Fix PT014 autofix for last item in list (#10532)
  • [flake8-quotes] Ignore Q000, Q001 when string is inside forward ref (#10585)
  • [isort] Always place non-relative imports after relative imports (#10669)
  • [isort] Respect Unicode characters in import sorting (#10529)
  • [pyflakes] Fix F821 false negatives when from __future__ import annotations is active (attempt 2) (#10524)
  • [pyflakes] Make unnecessary-lambda an always-unsafe fix (#10668)
  • [pylint] Fixed false-positive on the rule PLW1641 (eq-without-hash) (#10566)
  • [ruff] Fix panic in unused # noqa removal with multi-byte space (RUF100) (#10682)

Documentation

  • Add PR title format to CONTRIBUTING.md (#10665)
  • Fix list markup to include blank lines required (#10591)
  • Put flake8-logging next to the other flake8 plugins in registry (#10587)
  • [flake8-bandit] Update warning message for rule S305 to address insecure block cipher mode use (#10602)
  • [flake8-bugbear] Document use of anonymous assignment in useless-expression (#10551)
  • [flake8-datetimez] Clarify error messages and docs for DTZ rules (#10621)
  • [pycodestyle] Use same before vs. after numbers for space-around-operator (#10640)
  • [ruff] Change quadratic-list-summation docs to use iadd consistently (#10666)

... (truncated)

Changelog

Sourced from ruff's changelog.

0.3.5

Preview features

  • [pylint] Implement modified-iterating-set (E4703) (#10473)
  • [refurb] Implement for-loop-set-mutations (FURB142) (#10583)
  • [refurb] Implement unnecessary-from-float (FURB164) (#10647)
  • [refurb] Implement verbose-decimal-constructor (FURB157) (#10533)

Rule changes

  • [flake8-comprehensions] Handled special case for C401 which also matches C416 (#10596)
  • [flake8-pyi] Mark unaliased-collections-abc-set-import fix as "safe" for more cases in stub files (PYI025) (#10547)
  • [numpy] Add row_stack to NumPy 2.0 migration rule (#10646)
  • [pycodestyle] Allow cell magics before an import (E402) (#10545)
  • [pycodestyle] Avoid blank line rules for the first logical line in cell (#10291)

Configuration

  • Respected nested namespace packages (#10541)
  • [flake8-boolean-trap] Add setting for user defined allowed boolean trap (#10531)

Bug fixes

  • Correctly handle references in __all__ definitions when renaming symbols in autofixes (#10527)
  • Track ranges of names inside __all__ definitions (#10525)
  • [flake8-bugbear] Avoid false positive for usage after continue (B031) (#10539)
  • [flake8-copyright] Accept commas in default copyright pattern (#9498)
  • [flake8-datetimez] Allow f-strings with %z for DTZ007 (#10651)
  • [flake8-pytest-style] Fix PT014 autofix for last item in list (#10532)
  • [flake8-quotes] Ignore Q000, Q001 when string is inside forward ref (#10585)
  • [isort] Always place non-relative imports after relative imports (#10669)
  • [isort] Respect Unicode characters in import sorting (#10529)
  • [pyflakes] Fix F821 false negatives when from __future__ import annotations is active (attempt 2) (#10524)
  • [pyflakes] Make unnecessary-lambda an always-unsafe fix (#10668)
  • [pylint] Fixed false-positive on the rule PLW1641 (eq-without-hash) (#10566)
  • [ruff] Fix panic in unused # noqa removal with multi-byte space (RUF100) (#10682)

Documentation

  • Add PR title format to CONTRIBUTING.md (#10665)
  • Fix list markup to include blank lines required (#10591)
  • Put flake8-logging next to the other flake8 plugins in registry (#10587)
  • [flake8-bandit] Update warning message for rule S305 to address insecure block cipher mode use (#10602)
  • [flake8-bugbear] Document use of anonymous assignment in useless-expression (#10551)
  • [flake8-datetimez] Clarify error messages and docs for DTZ rules (#10621)
  • [pycodestyle] Use same before vs. after numbers for space-around-operator (#10640)
  • [ruff] Change quadratic-list-summation docs to use iadd consistently (#10666)

0.3.4

... (truncated)

Commits


Updates coverage[toml] from 7.4.3 to 7.4.4

Release notes

Sourced from coverage[toml]'s releases.

7.4.4

  • Fix: in some cases, even with [run] relative_files=True, a data file could be created with absolute path names. When combined with other relative data files, it was random whether the absolute file names would be made relative or not. If they weren't, then a file would be listed twice in reports, as detailed in issue 1752. This is now fixed: absolute file names are always made relative when combining. Thanks to Bruno Rodrigues dos Santos for support.
  • Fix: the last case of a match/case statement had an incorrect message if the branch was missed. It said the pattern never matched, when actually the branch is missed if the last case always matched.
  • Fix: clicking a line number in the HTML report now positions more accurately.
  • Fix: the report:format setting was defined as a boolean, but should be a string. Thanks, Tanaydin Sirin. It is also now documented on the configuration page <config_report_format>.

:arrow_right:  PyPI page: coverage 7.4.4. :arrow_right:  To install: python3 -m pip install coverage==7.4.4

Changelog

Sourced from coverage[toml]'s changelog.

Version 7.4.4 — 2024-03-14

  • Fix: in some cases, even with [run] relative_files=True, a data file could be created with absolute path names. When combined with other relative data files, it was random whether the absolute file names would be made relative or not. If they weren't, then a file would be listed twice in reports, as detailed in issue 1752_. This is now fixed: absolute file names are always made relative when combining. Thanks to Bruno Rodrigues dos Santos for support.

  • Fix: the last case of a match/case statement had an incorrect message if the branch was missed. It said the pattern never matched, when actually the branch is missed if the last case always matched.

  • Fix: clicking a line number in the HTML report now positions more accurately.

  • Fix: the report:format setting was defined as a boolean, but should be a string. Thanks, Tanaydin Sirin <pull 1754_>_. It is also now documented on the :ref:configuration page <config_report_format>.

.. _issue 1752: nedbat/coveragepy#1752 .. _pull 1754: nedbat/coveragepy#1754

.. _changes_7-4-3:

Commits
  • bc5e2d7 docs: sample HTML for 7.4.4
  • 9b0008b docs: prep for 7.4.4
  • a536161 docs: thanks, Bruno Rodrigues dos Santos
  • e06e4f9 chore: make doc_upgrade
  • f30818e chore: make upgrade
  • 1b19799 fix: ensure absolute paths are relative when combined #1752
  • 1ef020d build: more cheats for convenient URLs
  • 3d57a07 docs: document the report:format setting
  • 8e30221 fix: correct the type of report:format in config.py (#1754)
  • 6289be8 refactor: use dataclasses, no namedtuple
  • Additional commits viewable in compare view


Updates pytest from 8.0.2 to 8.1.1

Release notes

Sourced from pytest's releases.

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: 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 when importing modules.

  • #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: 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](python/cpython#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: 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: --import-mode=importlib <import-mode-importlib>{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :pysys.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: 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: Added support for sys.last_exc{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12.

  • #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: 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.

... (truncated)

Commits
  • 81653ee Adjust changelog manually for 8.1.1
  • e60b4b9 Prepare release version 8.1.1
  • 15fbe57 [8.1.x] Revert legacy path removals (#12093)
  • 86c3aab [8.1.x] Do not import duplicated modules with --importmode=importlib (#12077)
  • 5b82b0c [8.1.x] Yank version 8.1.0 (#12076)
  • 0a53681 Merge pull request #12054 from pytest-dev/release-8.1.0
  • b9a167f Prepare release version 8.1.0
  • 00043f7 Merge pull request #12038 from bluetech/fixtures-rm-arg2index
  • f4e1025 Merge pull request #12048 from bluetech/fixture-teardown-excgroup
  • 43492f5 Merge pull request #12051 from jakkdl/test_debugging_pythonbreakpoint
  • Additional commits viewable in compare view


Updates pytest-cov from 4.1.0 to 5.0.0

Changelog

Sourced from pytest-cov's changelog.

5.0.0 (2024-03-24)

  • Removed support for xdist rsync (now deprecated). Contributed by Matthias Reichenbach in [#623](https://github.com/pytest-dev/pytest-cov/issues/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/issues/630) <https://github.com/pytest-dev/pytest-cov/pull/630>, [#631](https://github.com/pytest-dev/pytest-cov/issues/631) <https://github.com/pytest-dev/pytest-cov/pull/631>, [#632](https://github.com/pytest-dev/pytest-cov/issues/632) <https://github.com/pytest-dev/pytest-cov/pull/632>_ and [#633](https://github.com/pytest-dev/pytest-cov/issues/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/issues/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/issues/584) <https://github.com/pytest-dev/pytest-cov/pull/584>_.
Commits
  • 5295ce0 Bump version: 4.1.0 → 5.0.0
  • 1181b06 Update changelog.
  • 9757222 Fix a minor grammar error (#636)
  • 9f5cd81 Cleanup releasing instructions. Closes #616.
  • 93b5047 Add test for pyproject.toml loading without explicit --cov-config. Ref #508.
  • ff50860 docs: add config instructions for pyproject.toml.
  • 4a5a4b5 Keep GitHub Actions up to date with GitHub's Dependabot
  • 1d7f559 Fix or remove URLs that are causing docs tests to fail
  • 6a5af8e Update changelog.
  • d9fe8df Switch to furo. Closes #618.
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions