streamrip icon indicating copy to clipboard operation
streamrip copied to clipboard

feat: modernize pyproject.toml with PEP 621 compliance for better tooling interoperability

Open knguyen1 opened this issue 6 months ago • 0 comments

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.

knguyen1 avatar Jun 16 '25 07:06 knguyen1