{"id":23220,"library":"aiopenapi3","title":"aiopenapi3","description":"Async client and validator for OpenAPI 3.0, 3.1, 3.2, and Swagger 2.0 specifications. Current version 0.10.0, requires Python >=3.10. Active development with frequent releases.","status":"active","version":"0.10.0","language":"python","source_language":"en","source_url":"https://github.com/commonism/aiopenapi3","tags":["openapi","async","client","validator","api","spec"],"install":[{"cmd":"pip install aiopenapi3","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"HTTP client for async requests","package":"httpx","optional":false},{"reason":"Data validation and settings management","package":"pydantic","optional":false},{"reason":"Parse YAML OpenAPI specs","package":"pyyaml","optional":false}],"imports":[{"note":"Correct package is 'aiopenapi3', not 'openapi3'.","wrong":"from openapi3 import OpenAPI","symbol":"OpenAPI","correct":"from aiopenapi3 import OpenAPI"},{"note":"load_file is exposed at top level since v0.9.0.","wrong":"from aiopenapi3.loaders import load_file","symbol":"load_file","correct":"from aiopenapi3 import load_file"}],"quickstart":{"code":"import os\nfrom aiopenapi3 import OpenAPI\n\n# Load spec from URL\napi = OpenAPI(\n    url=\"https://petstore3.swagger.io/api/v3/openapi.json\",\n    auth=lambda r: r.with_headers({\"api_key\": os.environ.get(\"API_KEY\", \"\")})\n)\n\n# Call an operation (e.g., list pets)\npets = api.list_pets(limit=10)\nprint(pets)","lang":"python","description":"Load an OpenAPI spec and call an endpoint asynchronously."},"warnings":[{"fix":"Wrap API calls in try/except or handle aiopenapi3.exceptions.APIError.","message":"In v0.8.0, the client now raises exceptions for HTTP error status codes (4xx, 5xx) instead of returning error responses. Code that previously checked response status must be updated.","severity":"breaking","affected_versions":">=0.8.0"},{"fix":"Replace any model.root.attribute with model.attribute.","message":"In v0.6.0, model access changed: RootModel wrappers were removed, so model attributes are accessed directly without .root.","severity":"breaking","affected_versions":">=0.6.0"},{"fix":"Upgrade Python to 3.10+ or use aiopenapi3 <0.9.0 (though it may have fewer features/security updates).","message":"The library requires Python >=3.10. Installing on Python 3.9 or older will fail with a version incompatibility.","severity":"gotcha","affected_versions":">=0.9.0"},{"fix":"Use Python 3.10 or later.","message":"Support for Python 3.9 was dropped in v0.9.0; Python 3.8 was dropped in v0.8.0.","severity":"deprecated","affected_versions":">=0.9.0"}],"env_vars":null,"search_vec":"'0.10.0':17 '2.0':13 '3.0':8 '3.1':9 '3.10':20 '3.2':10 'activ':21 'aiopenapi3':1 'api':30 'async':2,27 'client':3,28 'current':15 'develop':22 'frequent':24 'openapi':7,26 'python':19 'releas':25 'requir':18 'spec':31 'specif':14 'swagger':12 'valid':5,29 'version':16","created_at":"2026-05-01T08:06:36.079126+00:00","updated_at":"2026-05-01T08:06:36.079126+00:00","problems":[{"fix":"Run: pip install aiopenapi3","cause":"The package 'aiopenapi3' is not installed or install target is wrong.","error":"ModuleNotFoundError: No module named 'aiopenapi3'"},{"fix":"Upgrade to aiopenapi3 >=0.9.0 or import from aiopenapi3.loaders.load_file.","cause":"load_file is not a top-level symbol in older versions (<0.9.0).","error":"AttributeError: module 'aiopenapi3' has no attribute 'load_file'"},{"fix":"Catch APIError or configure the client to suppress raising on errors.","cause":"The API returned a non-2xx status, which now raises an exception by default since v0.8.0.","error":"aiopenapi3.exceptions.APIError: 404 Not Found"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.10.0","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/commonism/aiopenapi3","docs":"https://aiopenapi3.readthedocs.io/","changelog":null,"pypi":"https://pypi.org/project/aiopenapi3/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["http-networking","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}