-
Notifications
You must be signed in to change notification settings - Fork 95
Description
Is your feature request related to a problem?
Currently, the linting+formatting system uses black, isort and flake8 in CI/CD and pre-commit but these are quite honestly a bit outdated, slow, and requires three dependencies with their own configurations instead of one. ruff>=0.4 is installed but not used, which suggests a migration might have been intended at some point.
medium.com/@benedictxneo has a good blog with an overview of the tool, its speed and links to more resources on it.
Describe the Solution you'd like
- Review these linting rules and merge or request changes
- Review the linting changes in this diff
- Run
pre-commit run --all-files(safe fixes+formatting) anduv ruff check . --fix --unsafe-fixesfrom chore(linting): replace black, isort and flake8 with ruff #281 to apply the linting changes. - CI runs to confirm
--unsafe-fixesare actually safe to apply (I've tested them on my Mac and CUDA desktop with Qwen models so far; confidence >95%) - Merge the PR to upgrade
ruffto0.14.x, apply new linting rules and remove the old linting stack.
Alternatives Considered (Optional)
Not really. ruff was designed as a modern alternative for specifically this use case (replacing slow, sprawling Python linting standards).
Additional Context (Optional)
Because ruff is already installed, I figured it would be best to do a purely cosmetic change before anything that adds/removes packages or impacts the build system. What I'd like to do next is migrate from the mixed usage of pip and Poetry for the build system to uv and hatchling for consistency/correctness, speed, supply chain security
Parallax does work on 3.14 and pytest passes on all versions, by the way.