Skip to content

Refine dependencies - #897

Merged
zxzxwu merged 1 commit into
google:mainfrom
zxzxwu:dependency
Jul 2, 2026
Merged

Refine dependencies#897
zxzxwu merged 1 commit into
google:mainfrom
zxzxwu:dependency

Conversation

@zxzxwu

@zxzxwu zxzxwu commented Mar 6, 2026

Copy link
Copy Markdown
Collaborator
  • Move dev-only deps to [dependency-groups]
  • Move dependencies for Android transport to android group
  • Add a all option including all other options

@zxzxwu
zxzxwu requested a review from barbibulle March 6, 2026 18:01
@zxzxwu

zxzxwu commented Mar 6, 2026

Copy link
Copy Markdown
Collaborator Author

Maybe avatar and pandora should be removed from all option since most users don't need them. I am planning to remove them from Bumble (including bumble.pandora) later this year since we have almost stopped maintaining them publicly.

@barbibulle

Copy link
Copy Markdown
Collaborator

I think it's a great idea to make the dependencies more modular. It seems that dependency groups are usually intended for developer-focused options (doc, tests, ...) not end users. So, for instance, transports would not really be a dependency group. Those would be optional dependencies.
I'll play around with different variants and see if I can recommend some alternatives.

@barbibulle

Copy link
Copy Markdown
Collaborator

I think this PR goes in the right direction. It is unfortunate that there isn't a way to specify a "default" for when no optional dependencies are specified, so this will create a breaking change for users, which we'll have to deal with by documenting the change well, and maybe also trying to print out useful errors when we can.
I suggest that for optional transports, which users won't get by default anymore, we use a try/except when importing the optional dependencies and print out the proper message (like "please install bumble[xyz]") to be helpful.

@zxzxwu

zxzxwu commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator Author

For now I will just separate android out as it causes the most issues

@zxzxwu zxzxwu changed the title [Open for discussion] Refine dependencies Refine dependencies Jul 2, 2026
@zxzxwu
zxzxwu merged commit 2111c49 into google:main Jul 2, 2026
60 checks passed
@zxzxwu
zxzxwu deleted the dependency branch July 2, 2026 06:11
@zyv

zyv commented Jul 16, 2026

Copy link
Copy Markdown

Oh, you folks are so awesome: now I don't have to pull in this heavy grpcio/protobuf stuff for nothing. And thank you so much for Bumble! Owing to it, I was able to implement RFCOMM support in my Python library in no time... and it's much more stable and pleasant to use than some other Bluetooth libraries I tried in the past.

P.S. The only "issue" I encountered so far is that provided virtual HCI doesn't answer inquiries and support pairing/encryption, which is limiting for testing - but this comment doesn't belong to this ticket :) and you probably know about it and have your reasons anyways.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants