Skip to content

Comments

Migrate from distutils/setup.py to uv with pyproject.toml#74

Merged
twonds merged 2 commits intomasterfrom
migrate/uv
Feb 12, 2026
Merged

Migrate from distutils/setup.py to uv with pyproject.toml#74
twonds merged 2 commits intomasterfrom
migrate/uv

Conversation

@twonds
Copy link
Owner

@twonds twonds commented Feb 12, 2026

Summary

  • Replace deprecated distutils-based setup.py and flat requirements.txt with a modern pyproject.toml using hatchling as the build backend
  • Update CI workflow to use uv via astral-sh/setup-uv@v4 for dependency management, replacing pip install and python setup.py install
  • Update Dockerfile and run_tests.sh to use uv sync and uv run

Test plan

  • uv sync installs correctly
  • uv run python -c "from punjab.httpb import HttpbService; print('ok')" succeeds
  • uv run flake8 punjab passes
  • cd tests && uv run trial xep124 testparser xep206 passes (note: DeliveryFailureTestCase errors are pre-existing)
  • CI workflow runs successfully

🤖 Generated with Claude Code

Replace the deprecated distutils-based setup.py and flat requirements.txt
with a modern pyproject.toml using hatchling. Update CI, Dockerfile, and
test runner to use uv for dependency management and execution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Twisted's server.Session now requires site.reactor. Add the reactor
attribute to the DummyPint test fixture to match HttpbService.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@twonds twonds merged commit 0ba580d into master Feb 12, 2026
16 checks passed
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.

1 participant