Repository navigation
Conversation
Installing on Python 3.14 failed because Pillow was capped at <11, and 10.4.0 has no cp314 wheels, so pip tried (and failed) to compile it from source (upstream nathom#1032, nathom#953, nathom#904). - Move pyproject.toml to the PEP 621 [project] table (poetry-core 2.x) - Bump every dependency to current releases with 3.14 wheels: Pillow 12, pathvalidate 3, tomlkit 0.15, m3u8 6, aiofiles 25, rich 15, deezer-py 1.3.7, aiohttp 3.14 - Drop appdirs (only used by the dead streamrip/rip/user_paths.py module, now removed) and aiodns (never imported; it only forced Windows onto the SelectorEventLoop) - Drop the Windows SelectorEventLoop policy: that loop cannot spawn subprocesses, so every ffmpeg conversion failed on Windows (upstream nathom#729) - Force aiohttp's ThreadedResolver so a leftover aiodns in an existing virtualenv cannot bring the problem back - Replace aiohttp's deprecated verify_ssl= connector argument with ssl= - Replace unused black/isort/flake8 dev deps with ruff, update pytest stack - Version 2.3.0 (config version bumped too; old configs auto-update) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019R4WVjfCbmXZyQGNbyDfam
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Critical Poetry CI incompatibility and a stale SSL mock must be fixed.
Review effort: Lite
Findings: 2
Open (2)
What changed in this PR
Modernizes dependencies and packaging for Python 3.10–3.14, including aiohttp SSL handling and Windows compatibility.
Changes:
- Migrates to PEP 621 and Poetry 2.x.
- Updates dependencies and removes obsolete appdirs/aiodns handling.
- Bumps version/configuration to 2.3.0 and updates tests.
| File | Summary |
|---|---|
tests/test_ssl_verification.py |
SSL expectations updated; stale verify_ssl mock still causes test failure. |
tests/test_config.toml |
Updates test configuration version. |
tests/test_config.py |
Updates configuration assertions. |
streamrip/utils/ssl_utils.py |
Migrates aiohttp connector arguments to ssl=. |
streamrip/rip/user_paths.py |
Removes obsolete path management module. |
streamrip/rip/main.py |
Removes the Windows selector event-loop policy. |
streamrip/rip/cli.py |
Uses threaded DNS resolution. |
streamrip/media/playlist.py |
Updates playlist connector configuration. |
streamrip/config.toml |
Updates bundled configuration version. |
streamrip/config.py |
Updates configuration version handling. |
streamrip/client/qobuz.py |
Updates connector API; associated SSL mock remains incompatible. |
streamrip/client/client.py |
Updates client connector setup and resolver handling. |
streamrip/__init__.py |
Bumps package version. |
pyproject.toml |
Modernizes metadata and dependencies; requires Poetry 2.x while CI uses Poetry 1.5.1. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
74
to
+75
| [build-system] | ||
| requires = ["poetry-core>=1.0.0"] | ||
| requires = ["poetry-core>=2.0.0,<3.0.0"] |
Comment on lines
+133
to
+135
| connector = aiohttp.TCPConnector( | ||
| **connector_kwargs, resolver=aiohttp.ThreadedResolver() | ||
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Installing on Python 3.14 failed because Pillow was capped at <11, and 10.4.0 has no cp314 wheels, so pip tried (and failed) to compile it from source (upstream #1032, #953, #904).