panodata / panodata/omniload

Review Apache Pulsar mq-bridge plugin distribution and platform support

Open
#307 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs discussion
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.toml
    • optional-dependencies.pulsar
    • optional-dependencies.full
    • mq-bridge-pulsar version and platform constraints

Required review

  1. Document the decision chain for keeping Pulsar support outside the base install and the full extra.
  2. Compare the alternatives, including:
    • retaining a separate pulsar extra;
    • including Pulsar support in full with platform markers;
    • changing the upstream mq-bridge-pulsar distribution or wheel coverage;
    • another packaging model that preserves clear installation behavior.
  3. Define the supported platform behavior for each alternative.
  4. Define user-facing installation and failure behavior on unsupported platforms.
  5. 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.toml extras match the selected policy.
  • User documentation gives the required installation command and states relevant platform limitations.

Context

Requested by @amotl.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.