build: migrate to uv, add ruff/ty, format all files#95
Open
FIrgolitsch wants to merge 1 commit intomainfrom
Open
build: migrate to uv, add ruff/ty, format all files#95FIrgolitsch wants to merge 1 commit intomainfrom
FIrgolitsch wants to merge 1 commit intomainfrom
Conversation
- Replace setup.py + requirements.txt with pyproject.toml (uv) - Add .pre-commit-config.yaml (ruff-format, ruff lint, ty advisory) - Update CI workflow to use uv + ruff + ty - Update Dockerfile for uv - Add uv.lock, linumpy/py.typed - Delete setup.py, requirements.txt, requirements-pytest.txt - Run ruff format on all Python files - Run ruff check --fix (341 auto-fixes applied)
This was referenced Apr 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR A — Build Tooling & Formatting
Migrates the project build system to modern Python tooling and applies consistent formatting across the entire codebase.
Changes
Build system migration (setup.py → uv + pyproject.toml)
pyproject.tomlwith project metadata, dependencies, optional GPU deps, script entries for all existing scriptsuv.lockfor reproducible dependency resolutionsetup.py,requirements.txt,requirements-pytest.txtLinting & formatting (ruff + ty)
[tool.ruff]config: target py312, line-length 127, select E/F/W/I/UP/B/RUF/SIM/C4/PIE/PTH[tool.ruff.lint.isort]with_thread_configsection ordering[tool.ty]config: linumpy-only, py312, cupy/cupyx/numba → Any, relaxed overrides for tests and GPU modules.pre-commit-config.yaml: ruff-format, ruff lint (--fix), ty (advisory/non-blocking)ruff formatapplied to all 122 Python filesruff check --fixapplied (341 auto-fixes: import sorting, f-strings, type upgrades, etc.)CI & Docker
.github/workflows/python-app.ymlupdated:astral-sh/setup-uv@v5,uv sync,uv run ruff,uv run ty,uv run pytestDockerfileupdated for uv (replaces pip install)Other
linumpy/py.typedmarker file[dependency-groups] dev: ruff, ty, pytest, pytest-cov, pytest-console-scripts, pre-commitNotes
[project.scripts]limited to scripts currently on main; later PRs will add their own entries