encode / starlette

The little ASGI framework that shines. 🌟
https://www.starlette.io/
BSD 3-Clause "New" or "Revised" License
10.31k stars 949 forks source link

Bump the python-packages group with 9 updates #2558

Closed dependabot[bot] closed 7 months ago

dependabot[bot] commented 8 months ago

Bumps the python-packages group with 9 updates:

Package From To
coverage 7.4.3 7.4.4
importlib-metadata 7.0.1 7.1.0
mypy 1.8.0 1.9.0
ruff 0.1.15 0.3.5
types-pyyaml 6.0.12.12 6.0.12.20240311
pytest 8.0.2 8.1.1
trio 0.24.0 0.25.0
mkdocs-material 9.5.12 9.5.16
build 1.1.1 1.2.1

Updates coverage from 7.4.3 to 7.4.4

Changelog

Sourced from coverage'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 importlib-metadata from 7.0.1 to 7.1.0

Changelog

Sourced from importlib-metadata's changelog.

v7.1.0

Features

  • python/cpython#114664

Bugfixes

  • Make MetadataPathFinder.find_distributions a classmethod for consistency with CPython. Closes #484. (#484)
  • Allow MetadataPathFinder.invalidate_caches to be called as a classmethod.

v7.0.2

No significant changes.

Commits
  • f5d6b5f Finalize
  • 2ef3b5f Merge commit '1711b2c198'
  • 1711b2c Need to include names from test.support for py312 compat.
  • 47b14ac Make MetadataPathFinder.find_distributions a classmethod for consistency with...
  • adc4b12 Ensure tests do not leak references in sys.modules.
  • 07d894d Copy backport of isolated_modules from importlib_resources.
  • e30a16d Consolidated test support logic in jaraco.test.cpython.
  • 41ca039 Moved compatibility tests to the compat package, as they're not included in C...
  • 5950f43 Remove legacy logic for Python 3.7.
  • ffa719b Moved compatibility module to compat package.
  • Additional commits viewable in compare view


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 ruff from 0.1.15 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 types-pyyaml from 6.0.12.12 to 6.0.12.20240311

Commits


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 trio from 0.24.0 to 0.25.0

Release notes

Sourced from trio's releases.

v0.25.0

Full Changelog: https://github.com/python-trio/trio/compare/v0.24.0...v0.25.0

Breaking changes

  • The strict_exception_groups parameter now defaults to True in trio.run and trio.lowlevel.start_guest_run. trio.open_nursery still defaults to the same value as was specified in trio.run/trio.lowlevel.start_guest_run, but if you didn't specify it there then all subsequent calls to trio.open_nursery will change. This is unfortunately very tricky to change with a deprecation period, as raising a DeprecationWarning whenever strict_exception_groups is not specified would raise a lot of unnecessary warnings.

    Notable side effects of changing code to run with strict_exception_groups==True

    • If an iterator raises StopAsyncIteration or StopIteration inside a nursery, then python will not recognize wrapped instances of those for stopping iteration.

    • trio.run_process is now documented that it can raise an ExceptionGroup. It previously could do this in very rare circumstances, but with strict_exception_groups set to True it will now do so whenever exceptions occur in deliver_cancel or with problems communicating with the subprocess.

      • Errors in opening the process is now done outside the internal nursery, so if code previously ran with strict_exception_groups=True there are cases now where an ExceptionGroup is no longer added.
    • trio.TrioInternalError .__cause__ might be wrapped in one or more ExceptionGroups <ExceptionGroup> (python-trio/trio#2786)

Features

  • Add trio.testing.wait_all_threads_completed, which blocks until no threads are running tasks. This is intended to be used in the same way as trio.testing.wait_all_tasks_blocked. (python-trio/trio#2937)

  • Path is now a subclass of pathlib.PurePath, allowing it to interoperate with other standard pathlib types.

    Instantiating Path now returns a concrete platform-specific subclass, one of PosixPath or WindowsPath, matching the behavior of pathlib.Path. (python-trio/trio#2959)

Bugfixes

  • The pthread functions are now correctly found on systems using vanilla versions of musl libc. (python-trio/trio#2939)

Miscellaneous internal changes

Commits
  • 0b8d3e2 Bump version to 0.25.0
  • e3fd384 [pre-commit.ci] pre-commit autoupdate ruff-pre-commit: v0.3.0 → v0.3.2
  • f890f8f Path refactor (#2959)
  • 379d99b Add pre-commit autoupdate to autodeps (#2970)
  • b541b8b bump pyright, introducing warnings for tons of missing docstrings (#2910)
  • 9dcf733 fix: updated the google docstring url (#2967)
  • 48f8293 Bump dependencies from commit 13ee1b (#2966)
  • 13ee1b0 Remove incorrect str possibility from HostnameResolver.getaddrinfo (#2964)
  • accaae4 use the regular readme for the long description (#2866)
  • 78c55aa [pre-commit.ci] pre-commit autoupdate (#2962)
  • Additional commits viewable in compare view


Updates mkdocs-material from 9.5.12 to 9.5.16

Release notes

Sourced from mkdocs-material's releases.

mkdocs-material-9.5.16

  • Updated Russian translations
  • Improved error handling and reporting in social plugin
  • Improved error handling and reporting in privacy plugin
  • Fixed blog plugin not allowing to use time in format strings
  • Fixed #6983: Social plugin crashes because of Google Fonts API change

Thanks to @​kamilkrzyskow, @​Guts, @​szg-alex-payne and @​natakazakova for their contributions

mkdocs-material-9.5.15

  • Reverted fix for transparent iframes (9.5.14)
  • Fixed #6929: Interference of social plugin and auto dark mode
  • Fixed #6938: Giscus shows dark background in light mode (9.5.14 regression)

mkdocs-material-9.5.14

  • Added support for hiding versions from selector when using mike
  • Added init system to improve signal handling in Docker image
  • Fixed edge cases in exclusion logic of info plugin
  • Fixed inability to reset pipeline in search plugin
  • Fixed syntax error in Finnish translations
  • Fixed #6917: UTF-8 encoding problems in blog plugin on Windows
  • Fixed #6889: Transparent iframes get background color

Thanks to @​kamilkrzyskow, @​yubiuser and @​todeveni for their contributions

mkdocs-material-9.5.13

  • Updated Slovak translations
  • Improved info plugin interop with projects plugin
  • Improved info plugin inclusion/exclusion logic
  • Fixed info plugin not gathering files recursively
  • Fixed #6750: Ensure info plugin packs up all necessary files

Thanks to @​kamilkrzyskow and @​scepka for their contributions

Changelog

Sourced from mkdocs-material's changelog.

mkdocs-material-9.5.16+insiders-4.53.4 (2024-03-31)

  • Fixed #6973: Escaping issue in tags extra files deprecation helper

mkdocs-material-9.5.16 (2024-03-31)

  • Updated Russian translations
  • Improved error handling and reporting in social plugin
  • Improved error handling and reporting in privacy plugin
  • Fixed blog plugin not allowing to use time in format strings
  • Fixed #6983: Social plugin crashes because of Google Fonts API change

mkdocs-material-9.5.15+insiders-4.53.3 (2024-03-23)

  • Added support for font variants in social plugin
  • Improved resilience of font resolution in social plugin
  • Fixed tag listing sometimes not being auto-populated
  • Fixed tag listing scope not being correctly resolved
  • Fixed #6941: Meta plugin adding duplicate entries
  • Fixed #6928: Social plugin crashes for some fonts

mkdocs-material-9.5.15 (2024-03-23)

  • Reverted fix for transparent iframes (9.5.14)
  • Fixed #6929: Interference of social plugin and auto dark mode
  • Fixed #6938: Giscus shows dark background in light mode (9.5.14 regression)

mkdocs-material-9.5.14+insiders-4.53.2 (2024-03-18)

  • Fixed abort on first non-matching configuration in preview extension
  • Fixed #6914: Meta files take precedence over front matter

mkdocs-material-9.5.14 (2024-03-18)

  • Added support for hiding versions from selector when using mike
  • Added init system to improve signal handling in Docker image
  • Fixed edge cases in exclusion logic of info plugin
  • Fixed inability to reset pipeline in search plugin
  • Fixed syntax error in Finnish translations
  • Fixed #6917: UTF-8 encoding problems in blog plugin on Windows
  • Fixed #6889: Transparent iframes get background color

mkdocs-material-9.5.13+insiders-4.53.1 (2024-03-06)

  • Fixed #6877: Projects plugin computes incorrect path to assets
  • Fixed #6869: Blog plugin should emit warning on invalid related link

mkdocs-material-9.5.13 (2024-03-06)

  • Updated Slovak translations

... (truncated)

Commits
  • 8956524 Updated Insiders changelog
  • 0db4e66 Updated changelog
  • 29cf44b Improved resilience of privacy plugin
  • 6c9ba87 Prepare 9.5.16 release
  • f2bfab9 Updated dependencies
  • 9e40207 Updated dependencies
  • a2cb35d Improved error handling on social plugin (#6818)
  • abfac1a Switched to Babel's format_datetime to allow for time in formatted dates (#...
  • 01b2dd1 Updated Russian translations
  • ad72336 Fixed social plugin Google Fonts integration
  • Additional commits viewable in compare view


Updates build from 1.1.1 to 1.2.1

Release notes

Sourced from build's releases.

Version 1.2.1

What's Changed

  • Avoid error when terminal width is undetectable on Python < 3.11 (PR #761)

Full Changelog: https://github.com/pypa/build/compare/1.2.0...1.2.1

Version 1.2.0

What's Changed

  • Add --installer option, supporting pip and uv. Added uv extra. (PR #751)
  • Improve console output and provide -v for dependency installation (PR #749)
  • Avoid compiling unused bytecode when using pip (PR #752)
  • Dropped support for Python 3.7 (PR #743)

Full Changelog: https://github.com/pypa/build/compare/1.1.1...1.2.0

Changelog

Sourced from build's changelog.

1.2.1 (2024-03-28)

  • Avoid error when terminal width is undetectable on Python < 3.11 (PR :pr:761)

1.2.0 (2024-03-27)

  • Add --installer option, supporting pip and uv. Added uv extra. (PR :pr:751)
  • Improve console output and provide -v for dependency installation (PR :pr:749)
  • Avoid compiling unused bytecode when using pip (PR :pr:752)
  • Dropped support for Python 3.7 (PR :pr:743)
Commits


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
dependabot[bot] commented 7 months ago

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml