livetennisapi 1.0.1
Bug-fix release from an adversarial review of 1.0.0. No API changes.
Fixed
- WebSocket backoff never grew against a flapping server. The retry counter reset on a successful subscribe, so a server that accepted then immediately dropped pinned the delay at step one forever and
max_reconnect_attemptswas never reached. It now resets only after a connection survives 60s. - WebSocket leaked a socket per failed handshake — the subscribe exchange was outside any
try, so a recv timeout escaped with the socket still open, once per reconnect attempt. livetennis --jsonworked on only 3 of 8 subcommands, andlivetennis live --jsonwas an argparse error. Fixed both.format_scoreusedzip, silently dropping the in-progress set. Nowzip_longest, matching the JS client.AsyncLiveScoreStreamwas advertised but never existed.LiveScoreStreamandScoreUpdateare exported instead.- mypy could not run:
python_version = "3.9"is rejected by mypy ≥1.18.
pip install --upgrade livetennisapi