From b6c26166531f92bac1ef6a26298eb004336917d4 Mon Sep 17 00:00:00 2001 From: owenpearson Date: Tue, 29 Sep 2026 16:50:41 +0100 Subject: [PATCH 1/2] docs: state the supported Python versions consistently The supported platforms table and the operating system note gave 3.7 as the floor while the installation note gave 3.8. CI covers 3.8 through 3.14 (.github/workflows/check.yml), and 3.7 has been end of life since June 2023, so 3.8 is the floor in all three places. Also bring the installation note's text inside its blockquote, so the NOTE callout renders with its content rather than empty. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5bfb89e0..d8f91260 100644 --- a/README.md +++ b/README.md @@ -33,10 +33,10 @@ The following platforms are supported: | Platform | Support | |----------|--------------------------| -| Python | Python 3.7+ through 3.14 | +| Python | Python 3.8+ through 3.14 | > [!NOTE] -> This SDK works across all major operating platforms (Linux, macOS, Windows) as long as Python 3.7+ is available. +> This SDK works across all major operating platforms (Linux, macOS, Windows) as long as Python 3.8+ is available. > [!IMPORTANT] > SDK versions < 2.0.0 are [deprecated](https://ably.com/docs/platform/deprecate/protocol-v1). @@ -52,7 +52,7 @@ pip install ably ``` > [!NOTE] -Install [Python](https://www.python.org/downloads/) version 3.8 or greater. +> Install [Python](https://www.python.org/downloads/) version 3.8 or greater. ## Usage From 9fde7cd46fb51b56e73cfbc1c88009eb235583a1 Mon Sep 17 00:00:00 2001 From: owenpearson Date: Tue, 29 Sep 2026 16:50:53 +0100 Subject: [PATCH 2/2] docs: describe the realtime and REST feature support accurately The SDK implements the realtime feature set: connection and channel lifecycle with state management (ably/realtime/connection.py, ably/realtime/channel.py), publish with server acknowledgement, subscribe by event or catch-all, presence with sync and automatic re-entry (ably/realtime/presence.py, ably/realtime/presencemap.py), in-band re-authentication (ConnectionManager.on_auth_updated), channel encryption, message annotations (ably/realtime/annotations.py) and vcdiff deltas. Realtime publish and presence shipped in 3.0.0 and annotations in 3.1.0, per CHANGELOG.md. State that surface alongside the features that are genuinely absent, in place of the REST-only claim and the MQTT adapter recommendation. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d8f91260..8be8a3cd 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,20 @@ Read the [CONTRIBUTING.md](./CONTRIBUTING.md) guidelines to contribute to Ably. For help or technical support, visit Ably's [support page](https://ably.com/support) or [GitHub Issues](https://github.com/ably/ably-pubsub-python/issues) for community-reported bugs and discussions. -### Full Realtime support unavailable +### Feature support -This SDK currently supports only [Ably REST](https://ably.com/docs/rest) and basic realtime message subscriptions. To access full [Ably Realtime](https://ably.com/docs/realtime) features in Python, consider using the [MQTT adapter](https://ably.com/docs/mqtt). +This SDK supports the Ably Pub/Sub REST and Realtime APIs, including connection and channel lifecycle management, publishing and subscribing, presence, message history, message annotations, channel encryption, and token authentication with in-band re-authentication. + +The following features are not currently implemented: + +- [Connection recovery](https://ably.com/docs/connect/states) using the `recover` client option. +- Message filtering on subscriptions, and derived channels. +- Presence history, though [channel history](https://ably.com/docs/storage-history/history) is supported. +- [Batch publish](https://ably.com/docs/messages/batch) and batch presence. +- [Token revocation](https://ably.com/docs/auth/revocation). +- [Push notification target](https://ably.com/docs/push) functionality, so a Python client cannot itself receive push notifications. The [push admin API](https://ably.com/docs/api/rest-sdk/push-admin) for registering and managing other devices is supported. +- [LiveObjects](https://ably.com/docs/liveobjects). + +> [!NOTE] +> [Delta compression](https://ably.com/docs/channels/options/deltas) requires the `vcdiff` extra (`pip install "ably[vcdiff]"`) and an `AblyVCDiffDecoder` instance passed to the client as `vcdiff_decoder`.