Review Apache Pulsar mq-bridge plugin distribution and platform support
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5
- Forks
- 4
- Avg merge
- 9h 49m
- Merged PRs (30d)
- 55
Description
Summary
Review the decision to ship Apache Pulsar support for the mq-bridge source as the separate mq-bridge-pulsar optional dependency.
The current pyproject.toml entry defines optional-dependencies.pulsar and excludes this dependency from the base install and the full extra. The stated reason is narrower wheel support: no source distribution, platform-specific glibc floors, and incomplete Windows arm64 coverage.
Rationale
mq-bridge-pulsar is currently the only plugin that requires this distribution exception. A separate plugin can increase maintenance overhead and reduce platform coverage when users expect a complete installation for a supported omniload platform. The review must establish whether this exception is the correct long-term distribution model.
Affected area
pyproject.tomloptional-dependencies.pulsaroptional-dependencies.fullmq-bridge-pulsarversion and platform constraints
Required review
- Document the decision chain for keeping Pulsar support outside the base install and the
fullextra. - Compare the alternatives, including:
- retaining a separate
pulsarextra; - including Pulsar support in
fullwith platform markers; - changing the upstream
mq-bridge-pulsardistribution or wheel coverage; - another packaging model that preserves clear installation behavior.
- retaining a separate
- Define the supported platform behavior for each alternative.
- Define user-facing installation and failure behavior on unsupported platforms.
- Select and document the long-term policy for native optional plugins with narrower platform coverage.
Acceptance criteria
- The repository documents the selected distribution policy and its rationale.
- The policy defines behavior for supported and unsupported platforms.
- The
pyproject.tomlextras match the selected policy. - User documentation gives the required installation command and states relevant platform limitations.
Context
Requested by @amotl.
- Pull request: https://github.com/panodata/omniload/pull/304
- Review comment: https://github.com/panodata/omniload/pull/304#discussion_r3875001417
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the optional-dependencies.pulsar and optional-dependencies.full entries in pyproject.toml, then read the linked pull request and review comment for the existing distribution rationale. Compare the listed packaging alternatives and document the selected policy, platform behavior, installation guidance, and matching pyproject.toml extras.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100