fedora-messaging
A set of tools for using Fedora's messaging infrastructure
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires an AMQP broker (e.g., RabbitMQ) to be running and accessible; also requires Python 3.9 or later.
- Low install friction with a pure-Python wheel.
- Active maintenance with a recent release (52 days ago) and ongoing commits.
License · maintenance · safety
GPLv2+ (copyleft) — 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.
last release 2026-06-23 (52 days) · last repo commit 2026-08-13 · 60 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 115,798 downloads/mo, #12,236 on PyPI
Alternatives
Verify before relying
pip install fedora-messaging
from fedora_messaging import api
api.publish(message=my_message, exchange='amq.topic')- 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.
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 on this page. Verify before relying on it.
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
fedora-messaging on PyPI
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.
Requires an AMQP broker (e.g., RabbitMQ) to be running and accessible; also requires Python 3.9 or later.
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')
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 the current Python release <4.0.0,>=3.9.0 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 10 packagesblinkerclickcrochetjsonschemapikapyopensslrequestsservice-identitytomlitwisted |
| Maintenance | Actively maintained 52 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 115,798 / month, #12,236 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)License :: Other/Proprietary LicenseOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: fedora_messaging-3.9.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “fedora messaging infrastructure”
- fedora-messagingProvides tools and APIs for publishing and consuming messages on AMQP…
- kojiKoji is a command-line client and library for interacting with…
- matrix-synapseMatrix Synapse is a homeserver implementation for the Matrix…
Give your agent the search over MCP, or paste the wish link into any chat.
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework that enables you to define and call remote procedures across network boundaries using protocol buffers for serialization.
Install it if you need RPC communication in a distributed system or are integrating with existing gRPC services.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
Cloudpickle extends Python's standard pickle module to serialize lambda functions, interactively-defined functions and classes, and other constructs that the default pickle cannot handle, making it suitable for cluster computing and remote code execution.
Install it if you need to serialize lambda functions, interactively-defined code, or non-standard Python constructs for cluster computing or distributed execution.
Provides a unified, open()-compatible Python API for streaming large files from remote storage (S3, GCS, Azure, HDFS, SFTP, HTTP) and local filesystems, with transparent compression support.
Install it if you work with large files on cloud storage or remote systems and want to avoid writing boilerplate around multiple SDKs.
Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.
Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.
Ray is a distributed computing framework that scales Python applications from a single machine to multi-node clusters, providing abstractions for parallel tasks, stateful actors, and shared objects.
See also kombu · python-qpid-proton · amqp · AMQPStorm · apache-airflow-providers-common-messaging · stomp.py · pyzmq · faststream · pamqp · zmq