chore: add isort to Pipfile's dev-packages so make isort resolves it - #812
Conversation
`make isort` runs its four recipe lines through `pipenv run`, which resolves against `Pipfile`'s `[dev-packages]` -- and isort was not listed there, next to the `mypy` and `pylint` it sits beside in the Makefile. So a `pipenv install --dev` environment could not run the recipe, and #786's fix put isort on the `test` extra only, leaving the two declarations disagreeing about a tool the Makefile needs. - Pipfile: add `isort = "*"` between `bandit` and `mypy`, bare like its neighbours. Additive only -- the `pyproject.toml` extra serves consumers of the published package, `Pipfile` this repo's dev environment. - tests/project/test_isort_clean.py: its docstring recorded the gap as still open ("isort remains absent from Pipfile"), which this change makes stale. Audited every executable the Makefile invokes against `[dev-packages]`: isort was the only omission. build, twine, pytest, coverage, sphinx, sphinx-autobuild, vermin, pylint, mypy and bandit are all present. Closes #810
|
Cross-review verdict: GOOD TO GO (sonnet; author was haiku). Every claim re-derived independently, nothing found inaccurate. The Makefile audit reproduces exactly — The docstring rewrite is necessary, not scope creep. The old prose said "
The skip-vs-run distinction was verified rather than trusted, which is the right instinct since a silent skip is the exact defect #810 is about: The two flagged non-fixes confirmed and correctly left out: Flipping to |
make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
chore— anything elseDescription
make isortdrives its four recipe lines throughpipenv run, which resolves againstPipfile's[dev-packages]— where isort was missing, thoughmypy,pylintandbanditall sit there. #786 put isort on thetestextra only, so apipenv install --devenvironment could not run the recipe.Added
isort = "*"betweenbanditandmypy, bare like its neighbours. Additive only: thepyproject.tomlextra serves consumers of the published package,Pipfilethis repo's dev environment — nothing removed from either.tests/project/test_isort_clean.py's docstring asserted the gap was still open ("isort remains absent fromPipfile"); this change makes that stale, so it is corrected.Audit of every Makefile-invoked executable vs
[dev-packages]— isort was the only omission:isortbuild/twinepytest/coveragesphinx/sphinx-autobuilddocs/Makefilevermin/pylint/mypy/banditpcapkit-vendorpypcapkitPipfile.lockis untracked (.gitignore:37, absent from disk) andmake pipenvuses--skip-lock, so no lock refresh applies. Noted in passing, not fixed here:profile:(194) delegates totest/, which no longer exists.Verified:
tests/project/127 passed / 490 subtests, withtest_isort_cleanrunning for real (4 subtests, not skipped);tests/test_tier_guard.py102 passed / 540 subtests. No test readsPipfilefrom disk, so the new line changes no test's behaviour.Closes #810