Skip to content

Modernize tooling: uv, ruff format, ty, typer+rich, justfile, GitHub Actions CI/CD#2

Open
JEHoctor wants to merge 4 commits intomasterfrom
claude/modernize-python-tooling-Twwm4
Open

Modernize tooling: uv, ruff format, ty, typer+rich, justfile, GitHub Actions CI/CD#2
JEHoctor wants to merge 4 commits intomasterfrom
claude/modernize-python-tooling-Twwm4

Conversation

@JEHoctor
Copy link
Copy Markdown
Owner

@JEHoctor JEHoctor commented Apr 9, 2026

  • Switch build backend from setuptools to hatchling
  • Replace click with typer + rich in main.py (type-annotation-first CLI)
  • Replace black + isort with ruff format; update ruff config to modern split style
  • Add ty for type checking
  • Replace Makefile with justfile (sync, lint, format, typecheck, test, check, build, publish)
  • Add src/cover_image/init.py (needed for hatchling + ty)
  • Add test skeleton: test_shape.py and test_pattern_generators.py
  • Add .github/workflows/ci.yml (push/PR: lint, format check, type check, pytest)
  • Add .github/workflows/publish.yml (on GitHub Release: uv build + PyPI Trusted Publishing)

https://claude.ai/code/session_01SMSTWgWKaqpB6wHGC2z5Zm

claude added 4 commits April 9, 2026 00:42
…Actions CI/CD

- Switch build backend from setuptools to hatchling
- Replace click with typer + rich in main.py (type-annotation-first CLI)
- Replace black + isort with ruff format; update ruff config to modern split style
- Add ty for type checking
- Replace Makefile with justfile (sync, lint, format, typecheck, test, check, build, publish)
- Add src/cover_image/__init__.py (needed for hatchling + ty)
- Add test skeleton: test_shape.py and test_pattern_generators.py
- Add .github/workflows/ci.yml (push/PR: lint, format check, type check, pytest)
- Add .github/workflows/publish.yml (on GitHub Release: uv build + PyPI Trusted Publishing)

https://claude.ai/code/session_01SMSTWgWKaqpB6wHGC2z5Zm
- pyproject.toml: add [tool.hatch.build.targets.wheel] packages so hatchling
  can find cover_image (project name != package name)
- main.py: Callable from collections.abc (UP035), StrEnum instead of str+Enum (UP042)
- test_shape.py: remove unused numpy import (F401)

https://claude.ai/code/session_01SMSTWgWKaqpB6wHGC2z5Zm
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.

2 participants