A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp.
MIT License
webargs
|pypi| |build-status| |docs| |marshmallow3|
.. |pypi| image:: https://badgen.net/pypi/v/webargs :target: https://pypi.org/project/webargs/ :alt: PyPI package
.. |build-status| image:: https://github.com/marshmallow-code/webargs/actions/workflows/build-release.yml/badge.svg :target: https://github.com/marshmallow-code/webargs/actions/workflows/build-release.yml :alt: Build status
.. |docs| image:: https://readthedocs.org/projects/webargs/badge/ :target: https://webargs.readthedocs.io/ :alt: Documentation
.. |marshmallow3| image:: https://badgen.net/badge/marshmallow/3 :target: https://marshmallow.readthedocs.io/en/latest/upgrading.html :alt: marshmallow 3 compatible
Homepage: https://webargs.readthedocs.io/
webargs is a Python library for parsing and validating HTTP request objects, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, Falcon, and aiohttp.
.. code-block:: python
from flask import Flask
from webargs import fields
from webargs.flaskparser import use_args
app = Flask(__name__)
@app.route("/")
@use_args({"name": fields.Str(required=True)}, location="query")
def index(args):
return "Hello " + args["name"]
if __name__ == "__main__":
app.run()
# curl http://localhost:5000/\?name\='World'
# Hello World
::
pip install -U webargs
webargs supports Python >= 3.8.
Full documentation is available at https://webargs.readthedocs.io/.
webargs is maintained by a group of
volunteers <https://webargs.readthedocs.io/en/latest/authors.html>
_.
If you'd like to support the future of the project, please consider
contributing to our Open Collective:
.. image:: https://opencollective.com/marshmallow/donate/button.png :target: https://opencollective.com/marshmallow :width: 200 :alt: Donate to our collective
Professionally-supported webargs is available through the
Tidelift Subscription <https://tidelift.com/subscription/pkg/pypi-webargs?utm_source=pypi-webargs&utm_medium=referral&utm_campaign=readme>
_.
Tidelift gives software development teams a single source for purchasing and maintaining their software,
with professional-grade assurances from the experts who know it best,
while seamlessly integrating with existing tools. [Get professional support
_]
.. _Get professional support
: https://tidelift.com/subscription/pkg/pypi-webargs?utm_source=pypi-webargs&utm_medium=referral&utm_campaign=readme
.. image:: https://user-images.githubusercontent.com/2379650/45126032-50b69880-b13f-11e8-9c2c-abd16c433495.png :target: https://tidelift.com/subscription/pkg/pypi-webargs?utm_source=pypi-webargs&utm_medium=referral&utm_campaign=readme :alt: Get supported marshmallow with Tidelift
To report a security vulnerability, please use the
Tidelift security contact <https://tidelift.com/security>
_.
Tidelift will coordinate the fix and disclosure.
MIT licensed. See the LICENSE <https://github.com/marshmallow-code/webargs/blob/dev/LICENSE>
_ file for more details.