crossbario / crossbario/autobahn-python

Split out XBR ABI files into new dependent package

Open
#1,375 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

CI-CD enhancement XBR
Dominant language
Python
Stars
2.5k
Forks
768
PR merge metrics
No merged PRs in 30d

Description

this is a follow up / correlate of https://github.com/crossbario/autobahn-python/issues/1371

currently, doing a pip install autobahn will install no xbr dependencies, but it will install both xbr python files in autobahn, as well as JSON ABI files for xbr

this follows the general approach of autobahn: install flavors only affect auto-installed dependencies, not files from autobahn. and this includes both python as well as data files (such as ABIs)

however, for the ABI files in particular, this blows up the package size from 3MB to 11MB

we could:

  • publish the ABI files into a python package on its own, and do that from xbr-protocol
  • adjust autobahn and add ^ new package as a dependency - that then will only be added for ? autobahn[xbr]orautobahn[all]`

Contributor guide

Open the contributing guide

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 by reviewing xbr-protocol and autobahn's packaging configuration, focusing on how the XBR Python files and JSON ABI files are currently included and how optional dependencies are declared. Verify the installed package contents and the behavior of the xbr and all extras. Done means the ABI files are published separately and are installed through the intended optional Autobahn extras without increasing a default install.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.