streamrip
streamrip copied to clipboard
feat: modernize pyproject.toml with PEP 621 compliance for better tooling interoperability
Key Changes Made:
- Added PEP 621 compliant
[project]section with standardized metadata - Migrated dependencies to standard
[project.dependencies]format - Added
[project.optional-dependencies]for optional dependency groups - Standardized platform-specific dependencies using environment markers (
sys_platform != 'win32') - Added
[project.urls]section for project links - Added
[project.scripts]for entry points
Benefits:
- Tool Agnostic: Project can now be built with any PEP 517-compliant tool (pip, build, uv, etc.)
- Standards Compliant: Follows PEP 621 (project metadata) and PEP 631 (dependency specification)
- Better Interoperability: Works seamlessly with modern Python packaging tools
- Future-proof: Aligns with Python packaging ecosystem direction
- Maintained Compatibility: All existing Poetry functionality preserved
The changes maintain backward compatibility with Poetry while enabling support for modern Python packaging tools, making the project more accessible to developers using different build systems.