bastimeyer · GitHub

added 3 commits

March 17, 2024 21:47
Add the `exceptiongroup` dependency directly to Streamlink, so we
can write `ExceptionGroup` handling code on all supported versions
of Python without having to rely on `trio`'s conditional dependency.
- Set min. version requirement of `trio` to `0.25`,
  so we don't have to set `strict_exception_groups` to `True` on older
  versions (probably not even possible via `pytest-trio`)
- Fix compatibility with `trio>=0.25`:
  Since `strict_exception_groups` now defaults to `True`, trio nurseries
  now always raise an `ExceptionGroup` in all cases, so update tests
  and handle exception groups instead. Don't unwrap exception groups
  for now, even if only a single exception is included.
  Explicitly handle `KeyboardInterrupt`/`SystemExit` and re-raise
  by using the `exceptiongroup.catch` utility (<py311 compat)

@bastimeyer

@bastimeyer

This was referenced

Mar 19, 2024

Merged

Merged

Merged

Read the original on github.com ↗