Radio-Spectrum/SHARC

Modernize Python package build system: Migrate to pyproject.toml

Open

#234 opened on Oct 24, 2025

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Python (26 forks)auto 404
enhancementhelp wanted

Repository metrics

Stars
 (11 stars)
PR merge metrics
 (PR metrics pending)

Description

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

Contributor guide