{"id":13633883,"url":"https://github.com/python-openapi/openapi-core","last_synced_at":"2025-05-14T09:11:42.697Z","repository":{"id":25526241,"uuid":"104200746","full_name":"python-openapi/openapi-core","owner":"python-openapi","description":"Openapi-core is a Python library that adds client-side and server-side support for the OpenAPI v3.0 and OpenAPI v3.1 specification.","archived":false,"fork":false,"pushed_at":"2025-05-13T00:09:57.000Z","size":3485,"stargazers_count":333,"open_issues_count":94,"forks_count":135,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-14T09:11:18.254Z","etag":null,"topics":["client","oas","oas3","openapi","openapi3","openapi31","python","python-library","schema","server","swagger"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-openapi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.rst","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["p1c2u"]}},"created_at":"2017-09-20T10:25:35.000Z","updated_at":"2025-05-01T10:34:54.000Z","dependencies_parsed_at":"2023-09-23T00:15:45.181Z","dependency_job_id":"e7e1e35c-f40b-4e69-9e81-eaa798962cda","html_url":"https://github.com/python-openapi/openapi-core","commit_stats":{"total_commits":844,"total_committers":74,"mean_commits":"11.405405405405405","dds":0.533175355450237,"last_synced_commit":"b8f0644bde3afb4e0273c4cfa8f2ac3eee9f76b3"},"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-openapi%2Fopenapi-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-openapi%2Fopenapi-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-openapi%2Fopenapi-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-openapi%2Fopenapi-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-openapi","download_url":"https://codeload.github.com/python-openapi/openapi-core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110377,"owners_count":22016391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client","oas","oas3","openapi","openapi3","openapi31","python","python-library","schema","server","swagger"],"created_at":"2024-08-01T23:00:53.131Z","updated_at":"2025-05-14T09:11:42.674Z","avatar_url":"https://github.com/python-openapi.png","language":"Python","readme":"# openapi-core\n\n\u003ca href=\"https://pypi.python.org/pypi/openapi-core\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/openapi-core.svg\" alt=\"Package version\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://travis-ci.org/python-openapi/openapi-core\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://travis-ci.org/python-openapi/openapi-core.svg?branch=master\" alt=\"Continuous Integration\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://codecov.io/github/python-openapi/openapi-core?branch=master\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/codecov/c/github/python-openapi/openapi-core/master.svg?style=flat\" alt=\"Tests coverage\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.python.org/pypi/openapi-core\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/pyversions/openapi-core.svg\" alt=\"Python versions\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.python.org/pypi/openapi-core\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/format/openapi-core.svg\" alt=\"Package format\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.python.org/pypi/openapi-core\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/status/openapi-core.svg\" alt=\"Development status\"\u003e\n\u003c/a\u003e\n\n## About\n\nOpenapi-core is a Python library that provides client-side and server-side support\nfor the [OpenAPI v3.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md)\nand [OpenAPI v3.1](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md) specifications.\n\n\n## Key features\n\n- **Validation** and **unmarshalling** of request and response data (including webhooks)\n- **Integration** with popular libraries (Requests, Werkzeug) and frameworks (Django, Falcon, Flask, Starlette)\n- Customization with media type **deserializers** and format **unmarshallers**\n- **Security** data providers (API keys, Cookie, Basic, and Bearer HTTP authentications)\n\n\n## Documentation\n\nCheck documentation to see more details about the features. All documentation is in the \"docs\" directory and online at [openapi-core.readthedocs.io](https://openapi-core.readthedocs.io)\n\n\n## Installation\n\nRecommended way (via pip):\n\n``` console\npip install openapi-core\n```\n\nAlternatively you can download the code and install from the repository:\n\n``` console\npip install -e git+https://github.com/python-openapi/openapi-core.git#egg=openapi_core\n```\n\n\n## First steps\n\nFirst, create your OpenAPI object.\n\n``` python\nfrom openapi_core import OpenAPI\n\nopenapi = OpenAPI.from_file_path('openapi.json')\n```\n\nNow you can use it to validate and unmarshal against requests and/or responses. \n\n``` python\n# raises an error if the request is invalid\nresult = openapi.unmarshal_request(request)\n```\n\nRetrieve validated and unmarshalled request data.\n\n``` python\n# get parameters\npath_params = result.parameters.path\nquery_params = result.parameters.query\ncookies_params = result.parameters.cookies\nheaders_params = result.parameters.headers\n# get body\nbody = result.body\n# get security data\nsecurity = result.security\n```\n\nThe request object should implement the OpenAPI Request protocol. Check [Integrations](https://openapi-core.readthedocs.io/en/latest/integrations.html) to find officially supported implementations.\n\nFor more details read about the [Unmarshalling](https://openapi-core.readthedocs.io/en/latest/unmarshalling.html) process.\n\nIf you just want to validate your request/response data without unmarshalling, read about [Validation](https://openapi-core.readthedocs.io/en/latest/validation.html) instead.\n\n\n## Related projects\n\n- [openapi-spec-validator](https://github.com/python-openapi/openapi-spec-validator)\n  : A Python library that validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger), OpenAPI 3.0, and OpenAPI 3.1 specification. The validator aims to check for full compliance with the Specification.\n- [openapi-schema-validator](https://github.com/python-openapi/openapi-schema-validator)\n  : A Python library that validates schema against the OpenAPI Schema Specification v3.0 and OpenAPI Schema Specification v3.1.\n- [bottle-openapi-3](https://github.com/cope-systems/bottle-openapi-3)\n  : OpenAPI 3.0 Support for the Bottle Web Framework\n- [pyramid_openapi3](https://github.com/niteoweb/pyramid_openapi3)\n  : Pyramid addon for OpenAPI3 validation of requests and responses.\n- [tornado-openapi3](https://github.com/correl/tornado-openapi3)\n  : Tornado OpenAPI 3 request and response validation library.\n\n## License\n\nThe project is under the terms of the BSD 3-Clause License.\n","funding_links":["https://github.com/sponsors/p1c2u"],"categories":["server","OpenAPI Utilities","Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpython-openapi%2Fopenapi-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpython-openapi%2Fopenapi-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpython-openapi%2Fopenapi-core/lists"}