--- id: fedora-messaging version: "3.9.1" license: GPLv2+ license_treatment: copyleft maintenance: active --- # fedora-messaging — A set of tools for using Fedora's messaging infrastructure License: copyleft · Maintenance: active · Downloads: 115.8K/mo ## What it is and what it does Fedora Messaging is a library for interacting with Fedora's AMQP-based messaging infrastructure, replacing the older PyZMQ-backed fedmsg library. It provides synchronous APIs for publishing messages and asynchronous APIs for consuming them, along with a framework for declaring and validating message schemas. The package bundles consumer services that can run standalone, making it suitable for both simple one-off message publishing and complex event-driven architectures. The library depends on Twisted for async I/O, pika for AMQP protocol handling, and several supporting libraries (jsonschema for validation, pyopenssl for TLS, crochet for bridging sync/async code). It targets modern Python versions (3.9–3.14) and is actively maintained by the Fedora Infrastructure team, with production-stable status and no known security vulnerabilities. Use it for: - Publish events from Fedora infrastructure services to a central AMQP broker for downstream consumption. - Build async consumer services that listen for and react to Fedora messaging events in real time. - Define and validate message schemas to ensure consistency across distributed Fedora systems. - Migrate legacy fedmsg-based applications to a modern AMQP-backed messaging layer. - Integrate Fedora infrastructure events into external monitoring, logging, or workflow automation systems. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides tools and APIs for publishing and consuming messages on AMQP brokers, with schema declaration and async consumer services for Fedora's messaging infrastructure. Yes, if you are building or maintaining services within Fedora Infrastructure or need to consume Fedora messaging events. The library is production-stable, actively maintained, and has low install friction. However, be aware of the GPLv2+ copyleft license (verify dual-licensing implications for proprietary code) and the requirement for a running AMQP broker. Not suitable for standalone use outside Fedora-integrated systems. ## Install pip install fedora-messaging uv add fedora-messaging poetry add fedora-messaging ## Installing fedora-messaging Before you install: Low install friction with a pure-Python wheel. Active maintenance with a recent release (52 days ago) and ongoing commits. Ten runtime dependencies including Twisted and pika introduce moderate complexity, but the project is stable and production-ready. License in practice: GPLv2+ copyleft license: derivative works and distributions must comply with GPL terms. The classifier also lists 'Other/Proprietary License', which may indicate dual licensing or mixed components—verify the actual license terms before integrating into proprietary software. Quickstart: pip install fedora-messaging from fedora_messaging import api api.publish(message=my_message, exchange='amq.topic') Requires an AMQP broker (e.g., RabbitMQ) to be running and accessible; also requires Python 3.9 or later. Verify before relying: - Whether the 'Other/Proprietary License' classifier indicates dual licensing or a licensing conflict with the GPLv2+ primary license. - Whether Twisted's async event loop integration imposes constraints on deployment or testing environments. - Specific message schema validation capabilities and compatibility with existing Fedora message formats. ## Package facts - License: GPLv2+ (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 115.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags amqp message broker client, fedora messaging infrastructure, async message consumer, message schema framework, rabbitmq python client, event-driven messaging, message publishing and consumption, amqp-messaging, fedora-infrastructure, async-events [View on SkillFed](https://skillfed.io/packages/fedora-messaging) · [View on PyPI](https://pypi.org/project/fedora-messaging/)