Skip to content

Add support for python 3.10#78

Merged
roznawsk merged 3 commits intomainfrom
pr-77-review
May 5, 2026
Merged

Add support for python 3.10#78
roznawsk merged 3 commits intomainfrom
pr-77-review

Conversation

@roznawsk
Copy link
Copy Markdown
Member

@roznawsk roznawsk commented May 5, 2026

Description

Describe your changes.

Motivation and Context

Why is this change required? What problem does it solve? If it fixes an open
issue, please link to the issue here.

Documentation impact

  • Documentation update required
  • Documentation updated in another PR
  • No documentation update required

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to
    not work as expected)

flochtililoch and others added 2 commits May 5, 2026 08:38
Replace asyncio.TaskGroup (Python 3.11+) in tests/test_notifier.py with
asyncio.ensure_future and asyncio.gather, which are compatible with
Python 3.10. Update requires-python in pyproject.toml and add 3.10 to
the CI test matrix.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Lower examples/*/pyproject.toml requires-python to >=3.10 so the
  workspace lockfile resolves on 3.10 (uv unifies requires-python across
  workspace members; any member at >=3.11 forces the lock to refuse 3.10).
  Example sources still target 3.11+ at runtime; they are not installed
  or type-checked on the 3.10 CI lane.
- ci.yml: on the 3.10 matrix entry, sync without --all-packages and run
  pyright scoped to fishjam/ so the 3.11+ examples never reach the 3.10
  venv. 3.11+ lanes are unchanged.
- tests/test_notifier.py: wrap each async test in try/finally with
  asyncio.gather(*, return_exceptions=True) so background tasks are
  always cancelled and awaited, restoring the auto-cleanup semantics
  asyncio.TaskGroup provided. Replace the inconsistent
  try/except CancelledError pattern in two tests.
- uv.lock regenerated against the new workspace constraint.
@roznawsk roznawsk changed the title Pr 77 review Add support for python 3.10 May 5, 2026
asyncio.timeout is 3.11+. After task.cancel(), awaiting the task raises
CancelledError once cancellation propagates; suppressing it is equivalent
to the previous TimeoutError-via-timeout(0) idiom and works on 3.10.
@roznawsk roznawsk requested review from AHGIJMKLKKZNPJKQR and removed request for AHGIJMKLKKZNPJKQR May 5, 2026 21:41
@roznawsk roznawsk merged commit b084cbd into main May 5, 2026
58 of 72 checks passed
@roznawsk roznawsk deleted the pr-77-review branch May 5, 2026 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant