Radio-Spectrum/SHARC

Modernize Python package build system: Migrate to pyproject.toml

Open

#234 aperta il 24 ott 2025

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)Python (26 fork)auto 404
enhancementhelp wanted

Metriche repository

Star
 (11 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor