{"id":843,"library":"confluent-kafka","title":"Confluent Kafka Python Client","description":"Confluent's Python client for Apache Kafka, currently at version 2.13.2. It provides a high-level producer, consumer, and AdminClient, built as a robust binding on top of the high-performance C client, librdkafka. The library is actively maintained with frequent releases, typically on a monthly or bi-monthly cadence, offering compatibility with Apache Kafka brokers (version 0.8 or later), Confluent Cloud, and Confluent Platform.","status":"active","version":"2.13.2","language":"python","source_language":"en","source_url":"https://github.com/confluentinc/confluent-kafka-python","tags":["kafka","message queue","streaming","confluent","asynchronous","pub-sub"],"install":[{"cmd":"pip install confluent-kafka","lang":"bash","label":"Basic Installation"},{"cmd":"pip install confluent-kafka[avro]","lang":"bash","label":"With Avro serialization support"},{"cmd":"pip install confluent-kafka[schemaregistry]","lang":"bash","label":"With Schema Registry support"}],"dependencies":[{"reason":"Core C library binding, usually bundled with pre-built wheels.","package":"librdkafka","optional":false},{"reason":"Required for Avro serialization when using Schema Registry.","package":"fastavro","optional":true},{"reason":"Required for Protobuf serialization when using Schema Registry.","package":"protobuf","optional":true},{"reason":"May be required for certain configurations or tools, removed from standard non-documentation requirements in v2.12.1.","package":"tomli","optional":true}],"imports":[{"symbol":"Producer","correct":"from confluent_kafka import Producer"},{"symbol":"Consumer","correct":"from confluent_kafka import Consumer"},{"symbol":"AdminClient","correct":"from confluent_kafka import AdminClient"},{"symbol":"SchemaRegistryClient","correct":"from confluent_kafka.schema_registry import SchemaRegistryClient"},{"symbol":"AvroSerializer","correct":"from confluent_kafka.schema_registry.avro import AvroSerializer"},{"note":"For asyncio-based applications, generally available from v2.13.0.","symbol":"AIOProducer","correct":"from confluent_kafka.aio import AIOProducer"},{"note":"For asyncio-based applications, generally available from v2.13.0.","symbol":"AIOConsumer","correct":"from confluent_kafka.aio import AIOConsumer"}],"quickstart":{"code":"import os\nfrom confluent_kafka import Producer\nfrom confluent_kafka import Consumer, KafkaException\n\ndef delivery_report(err, msg):\n    if err is not None:\n        print(f'Message delivery failed: {err}')\n    else:\n        print(f'Message delivered to {msg.topic()} [{msg.partition()}]')\n\ndef run_producer():\n    conf = {\n        'bootstrap.servers': os.environ.get('KAFKA_BOOTSTRAP_SERVERS', 'localhost:9092'),\n        # Add security configs if connecting to Confluent Cloud or secured clusters\n        # 'security.protocol': 'SASL_SSL',\n        # 'sasl.mechanisms': 'PLAIN',\n        # 'sasl.username': os.environ.get('KAFKA_API_KEY'),\n        # 'sasl.password': os.environ.get('KAFKA_API_SECRET')\n    }\n\n    producer = Producer(conf)\n    topic = 'my_test_topic'\n\n    try:\n        for i in range(5):\n            message = f'Hello Kafka from Python {i}'\n            producer.produce(topic, message.encode('utf-8'), callback=delivery_report)\n            print(f'Produced message: {message}')\n        producer.flush(10) # Wait up to 10 seconds for messages to be delivered\n\n    except BufferError:\n        print('Local producer queue is full. Try again later.')\n    except Exception as e:\n        print(f'Error producing message: {e}')\n    finally:\n        producer.flush()\n\ndef run_consumer():\n    conf = {\n        'bootstrap.servers': os.environ.get('KAFKA_BOOTSTRAP_SERVERS', 'localhost:9092'),\n        'group.id': 'my_python_consumer_group',\n        'auto.offset.reset': 'earliest',\n        'enable.auto.commit': False,\n        # Add security configs if connecting to Confluent Cloud or secured clusters\n        # 'security.protocol': 'SASL_SSL',\n        # 'sasl.mechanisms': 'PLAIN',\n        # 'sasl.username': os.environ.get('KAFKA_API_KEY'),\n        # 'sasl.password': os.environ.get('KAFKA_API_SECRET')\n    }\n\n    consumer = Consumer(conf)\n    topic = 'my_test_topic'\n\n    try:\n        consumer.subscribe([topic])\n\n        while True:\n            msg = consumer.poll(1.0) # Poll for messages with a 1-second timeout\n            if msg is None:\n                continue\n            if msg.error():\n                if msg.error().code() == KafkaException.PARTITION_EOF:\n                    # End of partition event, not an error\n                    print(f'{msg.topic()} [{msg.partition()}] reached end offset {msg.offset()}')\n                else:\n                    print(f'Consumer error: {msg.error()}')\n            else:\n                print(f\"Received message: {msg.value().decode('utf-8')} from {msg.topic()} [{msg.partition()}] @ offset {msg.offset()}\")\n                consumer.commit(msg)\n\n    except KeyboardInterrupt:\n        pass\n    except Exception as e:\n        print(f'Error consuming message: {e}')\n    finally:\n        consumer.close()\n\nif __name__ == '__main__':\n    print(\"Running producer...\")\n    run_producer()\n    print(\"\\nRunning consumer (Press Ctrl+C to stop)...\")\n    run_consumer()","lang":"python","description":"A basic example demonstrating how to set up a Kafka Producer to send messages and a Kafka Consumer to receive messages using the `confluent-kafka` library. It includes error handling, an optional delivery report for the producer, and manual offset committing for the consumer. Replace `localhost:9092` with your Kafka broker address and configure authentication if connecting to a secured cluster like Confluent Cloud using environment variables."},"warnings":[{"fix":"Upgrade your Python environment to version 3.8 or newer.","message":"Python 3.7 support was dropped in `confluent-kafka` v2.12.1. Applications running on Python 3.7 will require an upgrade to Python 3.8+.","severity":"breaking","affected_versions":">=2.12.1"},{"fix":"Review the KIP-848 migration guide for new consumer configurations (`group.protocol='consumer'`). Ensure your client version is 1.8.2 or newer to maintain compatibility with future Kafka broker versions.","message":"The KIP-848 consumer rebalance protocol, production-ready from v2.12.0, introduces a new, optional rebalance protocol with 'contract changes' if enabled. Older client protocol API versions (prior to 1.8.2) will be deprecated and eventually unsupported by Kafka 4.0 and Confluent Platform 8.0 (starting February 2026).","severity":"breaking","affected_versions":">=2.12.0 for KIP-848; <1.8.2 for older protocol deprecation"},{"fix":"Upgrade to `confluent-kafka` v2.13.2 or newer to prevent this specific memory leak.","message":"A memory leak in `Producer.produce()` when called with headers and an exception (like `BufferError` or `RuntimeError`) was raised has been fixed. Prior versions could leak `rd_headers` memory.","severity":"gotcha","affected_versions":"<2.13.2"},{"fix":"Avoid using `confluent-kafka` version 2.8.1. Upgrade to a newer stable version (e.g., 2.8.2+) or revert to an older stable version.","message":"Version `v2.8.1` was explicitly noted as having a 'breaking change' and users were advised 'Do not run software with v2.8.1 installed.'","severity":"gotcha","affected_versions":"2.8.1"},{"fix":"Ensure your code adheres to Python's type system and handle any newly exposed type errors. Consider adding type checks or updating code to match expected types.","message":"Starting with v2.13.0, full type hinting has been enforced across all interfaces. This is an enhancement but may reveal type-related issues in existing codebases during static analysis or runtime if type mismatches were previously overlooked.","severity":"gotcha","affected_versions":">=2.13.0"},{"fix":"Always explicitly call `producer.flush()` and `producer.close()`, `consumer.close()` or use `with` statements to ensure resources are properly released.","message":"The `Producer` and `Consumer` classes now support context managers (`with` statement) and have an explicit `close()` method (from v2.13.0) for proper resource cleanup. Failing to close clients explicitly can lead to resource leaks or uncommitted offsets.","severity":"gotcha","affected_versions":"<2.13.0 for `close()` method; all versions for explicit resource management"},{"fix":"Install the necessary build tools and Python development headers in your environment. For Alpine Linux, use `apk add gcc musl-dev python3-dev`. For Debian/Ubuntu-based systems, use `apt-get install gcc python3-dev`.","message":"`confluent-kafka` requires C/C++ build tools (such as `gcc`, `g++`, and Python development headers) to compile its C extensions. Installation from source will fail if these build dependencies are not present in the environment (e.g., in minimal Docker images like `alpine`).","severity":"breaking","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-12T20:19:54.266Z","next_check":"2026-06-27T00:00:00.000Z","problems":[{"fix":"Ensure `librdkafka` development packages are installed (e.g., `sudo apt-get install librdkafka-dev` on Debian/Ubuntu, `brew install librdkafka` on macOS) and then reinstall `confluent-kafka` using pip (e.g., `pip install confluent-kafka`). If using a virtual environment, ensure it's activated before installation.","cause":"This error typically occurs when the `confluent-kafka` Python package, which includes C extensions (`.cimpl`), is not correctly installed or built for the specific Python environment and architecture, often due to missing `librdkafka` development headers or an incompatible environment.","error":"ModuleNotFoundError: No module named 'confluent_kafka.cimpl'"},{"fix":"Verify that the Kafka broker is running and accessible from the client machine (check IP address and port in `bootstrap.servers`). Ensure no firewalls are blocking the connection on the specified port, and that the `listeners` and `advertised.listeners` in the Kafka broker configuration are correctly set to an accessible address.","cause":"The Kafka client failed to establish a connection to the specified Kafka broker, usually because the broker is not running, is configured on a different host/port, or a firewall is blocking the connection. This can also occur if `bootstrap.servers` is incorrectly configured.","error":"Connect to ... failed: Connection refused"},{"fix":"Ensure the `ssl.ca.location` configuration points to the correct and valid CA certificate file that signed the broker's certificate. Verify that the broker's certificate is not expired and that the hostname in the certificate matches the `bootstrap.servers` entry. Sometimes, setting `ssl.endpoint.identification.algorithm=''` can temporarily bypass hostname verification for testing, but it's not recommended for production.","cause":"The client could not verify the broker's SSL certificate, indicating an issue with the SSL/TLS configuration, often an incorrect or missing CA certificate bundle (`ssl.ca.location`), an expired certificate, or a hostname mismatch.","error":"SSL handshake failed: error:0A000086:SSL routines::certificate verify failed: broker certificate could not be verified, verify that ssl.ca.location is correctly configured."},{"fix":"Double-check all SASL-related configurations, including `security.protocol`, `sasl.mechanism`, `sasl.username`, and `sasl.password`. Ensure they precisely match the broker's configuration and that the credentials are correct. For SASL_SSL, verify SSL configurations are also correct. For Confluent Cloud, use the generated API keys and secrets.","cause":"The client failed to authenticate with the Kafka broker using SASL, often due to incorrect SASL mechanism configuration, invalid username/password, or an issue with the JAAS configuration (for mechanisms like GSSAPI, PLAIN, SCRAM).","error":"SASL authentication failed using login context 'Client'."}],"ecosystem":"pypi","meta_description":null,"install_score":50,"install_tag":"draft","quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.14.0","cli_name":"","install_checks":{"last_tested":"2026-05-12","tag":"draft","tag_description":"notable install failures or slow imports","installed_version":"2.14.0","pypi_latest":"2.14.0","is_stale":false,"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.01,"mem_mb":0.7,"disk_size":"30M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.01,"mem_mb":0.7,"disk_size":"30M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.3,"import_time_s":0.01,"mem_mb":0.7,"disk_size":"69M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.01,"mem_mb":0.7,"disk_size":"67M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.3,"import_time_s":0.01,"mem_mb":0.7,"disk_size":"55M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.01,"mem_mb":0.7,"disk_size":"53M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.02,"mem_mb":1,"disk_size":"32M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":1,"disk_size":"32M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5,"import_time_s":0.02,"mem_mb":1,"disk_size":"74M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":1,"disk_size":"72M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.03,"mem_mb":1,"disk_size":"58M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":1,"disk_size":"56M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"24M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"24M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.2,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"66M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"64M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"50M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"48M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"24M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"24M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.2,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"65M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"63M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"49M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"47M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"confluent-kafka","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"avro","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"schemaregistry","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.7,"import_time_s":0.01,"mem_mb":0.6,"disk_size":"30M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"confluent-kafka","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.01,"mem_mb":0.6,"disk_size":"30M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6,"import_time_s":0.01,"mem_mb":0.6,"disk_size":"68M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"avro","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.01,"mem_mb":0.6,"disk_size":"67M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.1,"import_time_s":0.01,"mem_mb":0.6,"disk_size":"54M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"schemaregistry","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.01,"mem_mb":0.6,"disk_size":"53M"}]},"quickstart_checks":{"last_tested":"2026-04-24","tag":null,"tag_description":null,"results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":-1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":-1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":-1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":-1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":-1}]}}