skillfed

fedora-messaging

A set of tools for using Fedora's messaging infrastructure

fedora-messaging v3.9.1 115.8K downloads/30d#12,236 on PyPI60
Copyleft license GPLv2+ Active released

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

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

fedora-messaging on PyPI

pip

pip install fedora-messaging

uv

uv add fedora-messaging

poetry

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 the current Python release (<4.0.0,>=3.9.0)
Install friction low — pure-Python wheel
Runtime dependencies 10 — blinker, click, crochet, jsonschema, pika, pyopenssl, requests, service-identity, tomli, twisted
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)

Evidence: fedora_messaging-3.9.1-py3-none-any.whl

Keywords: fedora

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

Tags

amqp message broker clientfedora messaging infrastructureasync message consumermessage schema frameworkrabbitmq python clientevent-driven messagingmessage publishing and consumption
amqp-messagingfedora-infrastructureasync-events

More Distributed Computing packages