{ "info": { "author": "Shagaleev Alexey", "author_email": "alexey.shagaleev@yandex.ru", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "openapi-core\n************\n\n.. image:: https://img.shields.io/pypi/v/openapi-core.svg\n :target: https://pypi.python.org/pypi/openapi-core\n.. image:: https://travis-ci.org/p1c2u/openapi-core.svg?branch=master\n :target: https://travis-ci.org/p1c2u/openapi-core\n.. image:: https://img.shields.io/codecov/c/github/p1c2u/openapi-core/master.svg?style=flat\n :target: https://codecov.io/github/p1c2u/openapi-core?branch=master\n.. image:: https://img.shields.io/pypi/pyversions/openapi-core.svg\n :target: https://pypi.python.org/pypi/openapi-core\n.. image:: https://img.shields.io/pypi/format/openapi-core.svg\n :target: https://pypi.python.org/pypi/openapi-core\n.. image:: https://img.shields.io/pypi/status/openapi-core.svg\n :target: https://pypi.python.org/pypi/openapi-core\n\nAbout\n=====\n\nOpenapi-core is a Python library that adds client-side and server-side support\nfor the `OpenAPI Specification v3.0.0 `__.\n\nInstallation\n============\n\nRecommended way (via pip):\n\n::\n\n $ pip install openapi-core\n\nAlternatively you can download the code and install from the repository:\n\n.. code-block:: bash\n\n $ pip install -e git+https://github.com/p1c2u/openapi-core.git#egg=openapi_core\n\n\nUsage\n=====\n\nFirstly create your specification:\n\n.. code-block:: python\n\n from openapi_core import create_spec\n\n spec = create_spec(spec_dict)\n\nNow you can use it to validate requests\n\n.. code-block:: python\n\n from openapi_core.shortcuts import RequestValidator\n\n validator = RequestValidator(spec)\n result = validator.validate(request)\n\n # raise errors if request invalid\n result.raise_for_errors()\n\n # get list of errors\n errors = result.errors\n\nand unmarshal request data from validation result\n\n.. code-block:: python\n\n # get parameters dictionary with path, query, cookies and headers parameters\n validated_params = result.parameters\n\n # get body\n validated_body = result.body\n\nor use shortcuts for simple validation\n\n.. code-block:: python\n\n from openapi_core import validate_parameters, validate_body\n\n validated_params = validate_parameters(spec, request)\n validated_body = validate_body(spec, request)\n\nRequest object should implement BaseOpenAPIRequest interface. You can use FlaskOpenAPIRequest a Flask/Werkzeug request wrapper implementation:\n\n.. code-block:: python\n\n from openapi_core.shortcuts import RequestValidator\n from openapi_core.wrappers.flask import FlaskOpenAPIRequest\n\n openapi_request = FlaskOpenAPIRequest(flask_request)\n validator = RequestValidator(spec)\n result = validator.validate(openapi_request)\n\nor specify request wrapper class for shortcuts\n\n.. code-block:: python\n\n from openapi_core import validate_parameters, validate_body\n\n validated_params = validate_parameters(\n spec, request, wrapper_class=FlaskOpenAPIRequest)\n validated_body = validate_body(\n spec, request, wrapper_class=FlaskOpenAPIRequest)\n\nYou can also validate responses\n\n.. code-block:: python\n\n from openapi_core.shortcuts import ResponseValidator\n\n validator = ResponseValidator(spec)\n result = validator.validate(request, response)\n\n # raise errors if response invalid\n result.raise_for_errors()\n\n # get list of errors\n errors = result.errors\n\nand unmarshal response data from validation result\n\n.. code-block:: python\n\n # get headers\n validated_headers = result.headers\n\n # get data\n validated_data = result.data\n\nor use shortcuts for simple validation\n\n.. code-block:: python\n\n from openapi_core import validate_data\n\n validated_data = validate_data(spec, request, response)\n\nResponse object should implement BaseOpenAPIResponse interface. You can use FlaskOpenAPIResponse a Flask/Werkzeug response wrapper implementation:\n\n.. code-block:: python\n\n from openapi_core.shortcuts import ResponseValidator\n from openapi_core.wrappers.flask import FlaskOpenAPIResponse\n\n openapi_response = FlaskOpenAPIResponse(flask_response)\n validator = ResponseValidator(spec)\n result = validator.validate(openapi_request, openapi_response)\n\nor specify response wrapper class for shortcuts\n\n.. code-block:: python\n\n from openapi_core import validate_parameters, validate_body\n\n validated_data = validate_data(\n spec, request, response, response_wrapper_class=FlaskOpenAPIResponse)\n\nRelated projects\n================\n* `openapi-spec-validator `__\n* `pyramid_openapi3 `__\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ShagaleevAlexey/openapi-core", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "fixed-openapi-core", "package_url": "https://pypi.org/project/fixed-openapi-core/", "platform": "", "project_url": "https://pypi.org/project/fixed-openapi-core/", "project_urls": { "Homepage": "https://github.com/ShagaleevAlexey/openapi-core" }, "release_url": "https://pypi.org/project/fixed-openapi-core/0.12.0/", "requires_dist": null, "requires_python": "", "summary": "", "version": "0.12.0" }, "last_serial": 5724529, "releases": { "0.12.0": [ { "comment_text": "", "digests": { "md5": "68d3d1b791495949c2d0e7b359dbdb9f", "sha256": "327312423484b7c310b64da74778d3002cb5571d901de128b1965c1cd3c57b7a" }, "downloads": -1, "filename": "fixed-openapi-core-0.12.0.tar.gz", "has_sig": false, "md5_digest": "68d3d1b791495949c2d0e7b359dbdb9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23665, "upload_time": "2019-08-24T14:18:08", "url": "https://files.pythonhosted.org/packages/55/d2/fdfaede58a3fd328eb4eb04dc4331ec717224c0c08248f899d5ea0d0f918/fixed-openapi-core-0.12.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "68d3d1b791495949c2d0e7b359dbdb9f", "sha256": "327312423484b7c310b64da74778d3002cb5571d901de128b1965c1cd3c57b7a" }, "downloads": -1, "filename": "fixed-openapi-core-0.12.0.tar.gz", "has_sig": false, "md5_digest": "68d3d1b791495949c2d0e7b359dbdb9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23665, "upload_time": "2019-08-24T14:18:08", "url": "https://files.pythonhosted.org/packages/55/d2/fdfaede58a3fd328eb4eb04dc4331ec717224c0c08248f899d5ea0d0f918/fixed-openapi-core-0.12.0.tar.gz" } ] }