Skip to content

Modernize Python package build system: Migrate to pyproject.toml #234

@brunohcfaria

Description

@brunohcfaria

Current Status

The project currently uses an outdated package build configuration based on setup.py with several issues:

  • Using outdated Python package build system (setup.py)
  • Conflicting and outdated dependency specifications across multiple files
  • Support for EOL Python versions
  • Incomplete package requirements configuration
  • Outdated development and testing dependencies

Proposed Changes

1. Migration to Modern Build System

  • Replace setup.py, setup.cfg with pyproject.toml
  • Implement modern build backend using uv, hatchling orpoetry-core
  • Define clear dependency groups for runtime, development, and testing

2. Dependencies Cleanup

  • Move all runtime dependencies from requirements.txt to pyproject.toml
  • Update minimum Python version requirement to 3.10+
  • Resolve conflicting package versions
  • Remove support for EOL Python versions
  • Update all development dependencies to current versions

3. Testing and CI Updates

  • Modernize tox configuration for current Python versions (3.10-3.12)
  • Update testing tools:
    • pytest >= 7.0
    • coverage >= 7.0
    • tox >= 4.0
  • Add proper test coverage configuration
  • Add GitHub Actions workflow for CI

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions