Radio-Spectrum/SHARC

Modernize Python package build system: Migrate to pyproject.toml

Open

#234 创建于 2025年10月24日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)Python (26 fork)auto 404
enhancementhelp wanted

仓库指标

Star
 (11 star)
PR 合并指标
 (PR 指标待抓取)

描述

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

贡献者指南