added 3 commits
March 17, 2024 21:47Add 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)