Skip to content

Conversation

knguyen1
Copy link

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 knguyen1 force-pushed the chore/modernise-pyproject-toml-add-better-toolings-and-pre-commit branch from 54cbcf8 to 8a324a7 Compare June 16, 2025 07:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants