Skip to content

Testing multiple environments via tox, support for protobuf 6 & 7 - #18

Open
SeanHayes wants to merge 4 commits into
webull-inc:mainfrom
SeanHayes:main
Open

SeanHayes wants to merge 4 commits into
webull-inc:mainfrom
SeanHayes:main

Conversation

@SeanHayes

Copy link
Copy Markdown

Most other dependencies in my project support protobuf 7, webull is preventing me from upgrading.

Keep Python bytecode, packaging outputs, local environments and macOS Finder
metadata out of repository status. Source files and compatibility scripts remain
visible for review.
Accept Python 3.15 in package metadata while preserving Python 3.8 through
3.14 dependency constraints. Require gRPC 1.84 on 3.15 for its published wheels
and CFFI 2.1.1 to avoid the documented interpreter ABI issue.

Extend tox and CI to Python 3.15, including Linux/macOS/Windows jobs and the
Protobuf 6/7 compatibility matrix. Add offline HTTP-client, RSA signing,
MQTT/TLS, quote decoding and bounded local gRPC behavior/error checks.

Validation passed all six Python 3.14/3.15 tox environments, including both
Protobuf majors, and verified installation plus behavior of the built wheel
under final Python 3.15. Linux and Windows native-wheel resolution succeeded;
those runtime CI jobs have not been executed locally. No live Webull endpoints
or credentials are required for this compatibility suite.

Handoff summary
---------------
The package admits standard CPython 3.8 through 3.15. Existing native-library
constraints are unchanged for older interpreters; only 3.15 gets the gRPC/CFFI
floors. Python 3.16 remains excluded pending compatibility validation. The
checked-in generated Protobuf modules require no regeneration for this change.

Build a distributable wheel with the intended interpreter before release:

```bash
python3.15 -m pip wheel --no-deps . --wheel-dir /tmp/webull-wheel
```

Pure-Python Paho 1.6.1 is distributed as source and is built during dependency
installation; the interpreter-sensitive dependencies resolve from wheels.
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.

1 participant