Repository navigation
docs: point the READMEs at the published 0.28.0 packages - #521
Merged
Merged
Conversation
The root README and the Python README (the PyPI project page) still told everyone to build from source. 0.28.0 published wheels to PyPI, a Swift package and an Android download, so both now lead with the install line and keep the source build for contributors and hosts without a package. - README.md: an Install section with npm, PyPI (the exact wheel platforms), crates.io, the Swift package (preview) and the Android release download (preview; the Maven Central coordinates do not resolve yet). The Python quick start installs from PyPI. - bindings/python/README.md: the quick start starts with `pip install offline-protocol-sdk` and the wheel table, and the source build moves below it. The example passed `user_id=`, which ProtocolConfig has not taken since 0.21.0 (TypeError on the published wheel); it now passes `profile=`. Both examples send to a peer's off1 address rather than a username, which reaches nobody. The upgrade note names the 0.28.0 InternetManager `app_id=` keyword.
This file is the PyPI long description, and its own License section says the links are absolute because PyPI does not resolve repository-relative ones. Ten were still relative (the DNS-SD mapping, stream framing, gateway contract, local API chapters and clients, the file-stores guide and the telemetry guide), so each 404s on the project page. They now point at blob/main like the rest; every target exists on main.
bahdotsh
approved these changes
Oct 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
0.28.0 put the Python binding on PyPI and shipped a Swift package and an Android download, but the two READMEs still told everyone to build from source and
pip install -e .. This points them at the published packages and keeps the source build for contributors and for hosts without a package. Docs only; CHANGELOG and UPGRADING are untouched.PyPI timing.
bindings/python/README.mdis the PyPI long description, and PyPI shows the README of the published version. The 0.28.0 page keeps the old text (build from source, and theuser_id=example below), so this fix appears on PyPI with the next release.README.md
cargo add offline-protocol), the Swift package as a preview, and the Android release download as a preview.com.offlineprotocol:offline-protocol-sdkare named, with the fact that they are not on Maven Central yet (MAVEN_CENTRAL_PUBLISHis off, and repo1 returns 404). The release zip holds the generated Kotlin bindings and jniLibs for four ABIs, without the transport managers, and the full AAR is built frombindings/kotlin. There is no Gradle line that would fail to resolve.pip install -e .moves to "Build Python Desktop Bindings".peerAddressinstead of'recipient456'. Since 0.21.0 a username reaches nobody (UPGRADING §14).bindings/python/README.md (the PyPI page)
pip install offline-protocol-sdkand a wheel table: Python 3.10 or later,macosx_14_0_arm64,manylinux_2_34_x86_64andmanylinux_2_34_aarch64(glibc 2.34 or later), andwin_amd64. It also says there is no Intel macOS wheel, no musl wheel and no sdist, so those hosts build from source.git clone.ProtocolConfig(user_id=...), which has beenprofile=since 0.21.0. With the published 0.28.0 wheel it raisesTypeError: ProtocolConfig.__init__() got an unexpected keyword argument 'user_id'. It now passesprofile=and sends to a peer address.pm.internet.configure(server_url=...)is correct as written:ProtocolManagerbuilds theInternetManagerwithapp_id=config.app_id. The upgrade note now says that anInternetManageryou construct yourself needsapp_id=(UPGRADING §26).blob/mainlike the rest. Every target exists. It is a separate commit, so it can be dropped on its own.Checks
pip install offline-protocol-sdk==0.28.0, Python 3.12, macOS arm64). It used in-memory storage providers and a local WebSocket server in place of the keyring and relay. Config,async with ProtocolManager(...),pm.internet.configure/startandsend_messageall succeeded.scripts/check-license-consistency.shandscripts/check-crate-readmes.shpass.](path#anchor)in every tracked markdown file against the files and headings that exist, as CONTRIBUTING asks. The touched files have no broken links, and the tree has the same result before and after this change (the only two hits are the example](docs/…)strings inside CONTRIBUTING's prose).readme_renderer(the renderer PyPI uses) renders the Python README cleanly, and#building-from-sourceresolves.Left alone
CHANGELOG.mdanddocs/UPGRADING.md.offline-protocol-telemetry-wire, the twelfth published crate.examples/basic_messaging.py), and the example's own docstring still says to build from source.