Page MenuHomePhabricator

Find a new sse client package for EventStreams
Closed, ResolvedPublicFeature

Description

Feature summary:
Find a new sse client package for Eventstreams. Possible options:

  • sseclient-py (most common used)
  • aiohttp-sse-client
  • Support our own sse client which has the benefit that their usage does not depend on a virtual environment installation on toolforge (where sseclient isn't preinstalled)

Reason:
Currently we use sseclient packages for EventStreams but we had to pin its version to < 0.0.23 in rPWBC3babbc5 due to T222885. This packages is not activly maintained and the patch for T222885 (issue 28) is is pending for 3 years and other improvements aren't available. sseclient-py is the most common used client currently.

Event Timeline

Change 983213 had a related patch set uploaded (by Xqt; author: Xqt):

[pywikibot/core@master] [sse] Use requests_sse instead of unsupported sseclient

https://gerrit.wikimedia.org/r/983213

Overview

clientreleasedateusagePython neededOpen issues/PRremarks
sseclient0.0.272020-09-258.75 M3.4 - 3.817current requirement
sseclient.py1.8.02023-09-0167.0 M3.5 - 3.1110
aiohttp-sse-client0.2.12021-02-276.1 M3.6 - 3.818we don't use asyncio in Pywikibot
aiohttp-sse-client20.3.02023-02-070.3 M3.7 - 3.111we don't use asyncio in Pywikibot
aiosseclient0.1.32024-05-150.1 M3.91we don't use asyncio in Pywikibot
requests-sse0.4.02025-01-070.4 M3.8 - 3.131Proposed requirement

I propose to use requests-sse for Pywikibot. I've started 3 scripts to verify if it's working well (and it does)

Xqt changed the task status from Open to In Progress.Jan 7 2025, 5:19 PM
Xqt triaged this task as Medium priority.
Xqt moved this task from Backlog to Needs Review on the Pywikibot board.
Xqt changed the task status from Open to In Progress.

Change #983213 merged by Xqt:

[pywikibot/core@master] sse: use requests_sse instead of unsupported sseclient for EventStreams

https://gerrit.wikimedia.org/r/983213