Skip to content

Update README for 4.0 - #745

Open
sacOO7 wants to merge 5 commits into
mainfrom
docs/readme-4.0
Open

sacOO7 wants to merge 5 commits into
mainfrom
docs/readme-4.0

Conversation

@sacOO7

@sacOO7 sacOO7 commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Rewrites README.md for the 4.0 release of the SDK (ably-pubsub-server), in the same structure as the Java, Go and .NET 2.0 READMEs.

What changed

  • New section order: Overview, Requirements, Installation (with "Migrating from 3.x"), Quick start, Common configuration, Live Objects, Platform notes, Known limitations, Further reading, Contributing, Support, License.
  • Overview states that the SDK provides the server package only, for trusted backends authenticating with an API key, and links the device SDKs (JavaScript, Swift/Objective-C, Java/Android, .NET, Flutter) for end-user devices. The package table names ably-pubsub-server and its entry points (create_realtime_client, create_http_client).
  • Requirements: Python 3.8 or later, matching requires-python and the CI matrix.
  • Installation: pip install ably-pubsub-server, and the crypto and vcdiff extras.
  • Migrating from 3.x: a short table of the package, import and client changes, and a link to UPDATING.md#version-3x-to-400 for all other changes.
  • Quick start: a complete asyncio program that subscribes, publishes and waits for its own message; an HTTP publish; the synchronous HTTP client; issuing a token request for devices.
  • Common configuration: endpoint (replacing the removed environment, rest_host and realtime_host), logging through the ably.pubsub logger (replacing the removed log_level), and delta compression.
  • Live Objects: a short section with one complete example of channel.object.
  • Known limitations: connection recovery, message filtering and derived channels, history() on realtime presence, token revocation, push notification target.
  • Wording is kept short: one idea per sentence, lists of changes as bullets or tables, and no detail on internals. The Endpoint section uses the same bullets as the other single-package SDK READMEs.

Kept from the old README

  • Header image, install command and the synchronous HTTP client.
  • The LiveObjects section, trimmed to one complete program.
  • Getting started, changelog, contributing and support links, now under Further reading, Contributing and Support.
  • Linux, macOS and Windows support, now in Requirements.

Removed and why

  • The marketing intro and the 3.7 floor: the package requires Python 3.8 or later and CI tests 3.8 to 3.14.
  • The "SDK versions < 2.0.0 are deprecated" notice: it applies to old versions only.
  • The empty [!NOTE] alert, which rendered without its text.
  • The namespace-package explanation: the samples show the imports users need.
  • The "SDK Setup for Python" link, which redirects to the generic getting-started page.
  • "Full Realtime support unavailable": the SDK supports realtime publish, presence and LiveObjects, so the MQTT recommendation no longer applies.

How it was checked

  • Every Python sample compiles. Every imported name, option and method was checked against the source at main in a local virtual environment. The clients were created offline with the options shown, and the token request sample was run.
  • The removed 3.x options (log_level, environment, rest_host, realtime_host, recover) raise TypeError, as the README says.
  • Each known limitation was checked against the source.
  • Every link resolves, and the UPDATING.md anchors exist at main.
  • Relative links are used because PyPI shows LONG_DESCRIPTION.rst, not README.md.

Notes

  • docs: correct the supported Python versions and the feature support claims #724 also edits README.md, so the two overlap. This rewrite takes in its still-valid corrections: the 3.8 floor, the alert fix, removing the MQTT section and the remaining feature gaps. Batch publish and LiveObjects are no longer listed as gaps because 4.0 includes them.
  • Release v4.0.0 #744 (the 4.0.0 release) does not touch README.md, so the two don't conflict.
  • The PyPI badge shows a version once 4.0.0 is published to PyPI.

Follow-ups

  • UPDATING.md and the 4.0.0 CHANGELOG say constructing AblyRealtime or AblyRest raises TypeError, but the 3.x names are no longer importable from ably, so from ably import AblyRealtime raises ImportError.
  • The vcdiff decoder's error message still says pip install ably[vcdiff]; it should say ably-pubsub-server[vcdiff].
  • There is no Python LiveObjects quickstart on ably.com yet, so the Live Objects section links the general LiveObjects documentation only.
  • Python server clients don't send an ably-pubsub-server agent (the Ably-Agent header is ably-pubsub-python/<version> python/<version>), unlike the PHP, Java and .NET server packages. So the 40167 server-token caveat those READMEs carry is not in this README.

Reference

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 45 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 61925eef-606c-4d80-93b4-b13cbc0f872e
Commits

Reviewing files that changed from the base of the PR and between 2590bb8 and 5abe7fc.

Files selected for processing: 1
  • README.md

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ca23dd5b-ab40-45e0-ac30-486bf4fe97b5
Commits

Reviewing files that changed from the base of the PR and between 55a891e and 2590bb8.

Files selected for processing: 1
  • README.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Walkthrough

The README is rewritten for the ably-pubsub-server package. It documents installation, migration from 3.x, client examples, configuration, platform scope, known limitations, and project resources.

Changes

Server Package Documentation

Layer / File(s) Summary
Package setup and migration
README.md
The README describes the package, Python requirement, installation extras, import paths, and migration guidance from 3.x.
Client examples and configuration
README.md
The README adds realtime, HTTP, and token-request examples. It documents configuration options, delta compression, LiveObjects, and the available client modes.
Platform scope and reference links
README.md
The README lists known limitations and supported HTTP features. It updates further-reading, contribution, support, and license information.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Possibly related issues

  • ably/ably-pubsub-python#736: The README updates the Python version floor and documents the vcdiff extra, addressing the issue’s README-related finding.

Suggested reviewers: ttypic, owenpearson

Merge Risk: Minimal · previous review 2590b

The README update is mergeable with normal checks. Documenting 4.0 before its release-version bump does not establish an installation problem.

Pre-merge checks: Passed 4
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "Update README for 4.0" names the main change: the README is rewritten for the 4.0 ably-pubsub-server SDK. It is short, specific, and matches the raw summary and PR objectives. It does not d…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "Update README for 4.0" names the main change: the README is rewritten for the 4.0 ably-pubsub-server SDK. It is short, specific, and matches the raw summary and PR objectives. It does not describe every detail, which is expected for a title.

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

A rabbit reads the README page,
Then hops through examples, line by line.
It finds the channels, sets a counter,
And nibbles on the setup guide.
“Good docs,” it says, and bounds away.

This branch was successfully deployed

1 active deployment
staging/pull/745/features — 5abe7fc2 Deployed Nov 2, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant