{"library":"pamqp","title":"pamqp: AMQP 0-9-1 Low-Level Library","description":"pamqp is a low-level Python library for marshaling and unmarshaling AMQP 0-9-1 protocol frames. It provides programmatic access to AMQP commands, headers, and body frames, allowing users to build clients, servers, or proxies that interact directly with the AMQP protocol, notably for RabbitMQ. The current version is 4.0.0, with stable releases typically occurring to address Python compatibility or critical bug fixes.","language":"python","status":"active","last_verified":"Wed May 13","install":{"commands":["pip install pamqp"],"cli":null},"imports":["from pamqp.frame import Frame","from pamqp.commands.basic import Publish","from pamqp.header import ContentHeader","from pamqp.body import ContentBody","from pamqp.exceptions import AMQPConnectionError"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pamqp.frame\nimport pamqp.commands.basic\nimport pamqp.header\nimport pamqp.body\n\n# Example: Prepare a Basic.Publish command and marshal it into frames\nchannel_id = 1\nexchange = 'my_exchange'\nrouting_key = 'my_key'\npayload = b'Hello, pamqp!'\n\n# 1. Create the Basic.Publish command object\npublish_cmd = pamqp.commands.basic.Publish(\n    exchange=exchange,\n    routing_key=routing_key,\n    mandatory=False,\n    immediate=False\n)\n\n# 2. Create ContentHeader for the message properties\nheader = pamqp.header.ContentHeader(\n    class_id=publish_cmd.name_id, # class_id comes from the command\n    body_size=len(payload),\n    properties={} # Basic properties for this example\n)\n\n# 3. Create ContentBody for the actual message payload\nbody = pamqp.body.ContentBody(value=payload)\n\n# 4. Marshal the command into an AMQP frame\ncommand_frame_bytes = pamqp.frame.Frame.marshal(publish_cmd, channel_id)\n\n# 5. Marshal the content header into an AMQP frame\nheader_frame_bytes = pamqp.frame.Frame.marshal(header, channel_id)\n\n# 6. Marshal the content body into an AMQP frame\nbody_frame_bytes = pamqp.frame.Frame.marshal(body, channel_id)\n\nprint(f\"Marshalled command frame: {command_frame_bytes.hex()}\")\nprint(f\"Marshalled header frame: {header_frame_bytes.hex()}\")\nprint(f\"Marshalled body frame: {body_frame_bytes.hex()}\")\n\n# To demonstrate unmarshalling a single frame (e.g., a command frame)\nunmarshalled_cmd_frame = pamqp.frame.Frame.unmarshal(command_frame_bytes)\nprint(f\"\\nUnmarshalled frame type: {unmarshalled_cmd_frame.frame_type_id}\")\nprint(f\"Unmarshalled channel ID: {unmarshalled_cmd_frame.channel_id}\")\nprint(f\"Unmarshalled command: {unmarshalled_cmd_frame.value.__class__.__name__}\")\n","lang":"python","description":"This quickstart demonstrates how to create AMQP command, header, and body objects, and then marshal them into raw AMQP frames using `pamqp.frame.Frame.marshal`. It also shows a simple unmarshal operation for a single frame. Note that `pamqp` only handles serialization; managing network I/O and sequencing of frames into complete messages is left to the user.","tag":null,"tag_description":null,"last_tested":"2026-04-25","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}]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-13","installed_version":"3.3.0","pypi_latest":"4.0.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":1.6,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"18.1M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":"19M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"20.0M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":"21M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"11.9M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"12M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"11.6M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"12M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"17.6M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pamqp","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":"pamqp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":"18M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pamqp","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}]}}