{"library":"openapi-codec","title":"OpenAPI Codec for Core API","description":"OpenAPI-codec is a Python library that functions as a codec for the OpenAPI schema format (also known as Swagger) within the Core API framework. It enables Python clients to interact with services exposing OpenAPI schemas and automatically integrates with the Core API command-line client upon installation. The project's last update on GitHub was 7 years ago, and its latest release on PyPI was in July 2017, indicating that it is no longer actively maintained.","language":"python","status":"abandoned","last_verified":"Sun May 17","install":{"commands":["pip install openapi-codec"],"cli":{"name":"coreapi","version":"sh: 1: coreapi: not found"}},"imports":["from openapi_codec import OpenAPICodec"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from openapi_codec import OpenAPICodec\nfrom coreapi.codecs import JSONCodec\nfrom coreapi import Client\n\n# Configure decoders for the Core API client\ndecoders = [OpenAPICodec(), JSONCodec()]\nclient = Client(decoders=decoders)\n\n# Example of fetching a schema that might require explicit format if content-type is generic\n# Use a public OpenAPI schema URL for demonstration, e.g., petstore.swagger.io\n# Note: This URL might return 'application/json' so format='openapi' is crucial.\n# Ensure COREAPI_FORMAT_OPENAPI is set in your environment or passed directly.\n# For a live example, you might need a service that truly serves 'application/openapi+json'.\n# This code assumes a valid OpenAPI JSON is returned at the URL.\n\ntry:\n    # Simulate a fetch, if direct URL doesn't work, consider a local file or mock.\n    # For a real API, replace with the actual URL and handle potential authentication.\n    document = client.get('http://petstore.swagger.io/v2/swagger.json', format='openapi')\n    print('Successfully decoded OpenAPI document:')\n    print(document.title)\n    print(f'Number of endpoints: {len(document.data)}')\nexcept Exception as e:\n    print(f'Error decoding document: {e}')\n    print('Ensure the URL serves a valid OpenAPI schema and Core API/openapi-codec are installed.')","lang":"python","description":"This quickstart demonstrates how to initialize a Core API client with the `OpenAPICodec` to interact with services exposing OpenAPI schemas. It highlights the need to explicitly specify `format='openapi'` if the server does not correctly use the `application/openapi+json` content type.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"1.3.2","pypi_latest":"1.3.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4.2,"avg_import_s":1.01,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.02,"mem_mb":16.3,"disk_size":"24.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":3.4,"import_time_s":0.79,"mem_mb":16.3,"disk_size":"25M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.25,"mem_mb":18.1,"disk_size":"27.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":3.4,"import_time_s":1.14,"mem_mb":18.1,"disk_size":"28M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"17.1M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":5.4,"import_time_s":null,"mem_mb":null,"disk_size":"18M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"16.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":4.8,"import_time_s":null,"mem_mb":null,"disk_size":"17M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.96,"mem_mb":15.9,"disk_size":"23.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"openapi-codec","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":3.8,"import_time_s":0.89,"mem_mb":15.9,"disk_size":"24M"}]}}