webargs.Parser now inherits from typing.Generic and is parametrizable
over the type of the request object. Various framework-specific parsers are
parametrized over their relevant request object classes.
webargs.Parser and its subclasses now support passing arguments as a
single keyword argument without expanding the parsed data into its
components. For more details, see advanced docs on
Argument Passing and arg_name.
Other changes:
Type annotations have been improved to allow Mapping for dict-like
schemas where previously dict was used. This makes the type covariant
rather than invariant (:issue:836).
Test against Python 3.11 (:pr:787).
8.2.0 (2022-07-11)
Features:
A new method, webargs.Parser.async_parse, can be used for async-aware
parsing from the base parser class. This can handle async location loader
functions and async error handlers.
webargs.Parser.use_args and use_kwargs can now be used to decorate
async functions, and will use async_parse if the decorated function is
also async. They will call the non-async parse method when used to
decorate non-async functions.
As a result of the changes to webargs.Parser, FlaskParser,
DjangoParser, and FalconParser now all support async views.
Thanks :user:Isira-Seneviratne for the initial PR.
Changes:
The implementation of AsyncParser has changed. Now that
webargs.Parser has built-in support for async usage, the primary
purpose of AsyncParser is to redefine parse as an alias for
async_parse
Set python_requires>=3.7.2 in package metadata (:pr:692).
Thanks :user:kasium for the PR.
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 this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps webargs from 5.5.3 to 8.3.0.
Changelog
Sourced from webargs's changelog.
... (truncated)
Commits
a5c16a9
Bump version and update changelogb2d0879
Bump flake8-bugbear from 23.6.5 to 23.7.1058a75b6
[pre-commit.ci] pre-commit autoupdate91a15d0
Merge pull request #848 from sirosen/begin-disallow-untyped-defsb4f7e0b
Set mypy to disallow_untyped_defs on core.py6c9f9b1
Merge pull request #833 from marshmallow-code/support-arg-name37ae010
Support "multi stacking" of use_args with arg_named364f90
Merge pull request #856 from marshmallow-code/dependabot/github_actions/actio...82c67c4
Bump actions/setup-python from 2 to 4d8cddc1
Merge pull request #855 from marshmallow-code/dependabot/github_actions/actio...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