Skip to content

v1.8.0

Choose a tag to compare

@kratos0718 kratos0718 released this 18 Sep 05:58
· 34 commits to main since this release

Production-readiness release: closes several gaps versus ruff/pylint
that the README's "How this compares" section already admitted to.

  • Inline # noqa / # noqa: CH001,CH002 suppression, same convention
    flake8/ruff use, so it doesn't collide with either on a shared line.
  • [tool.codehound] project config in pyproject.toml (select/exclude/
    paths), loaded via the standard-library tomllib on 3.11+; silently
    skipped on 3.9/3.10 rather than adding a required TOML dependency -
    every flag still works identically via the CLI on any version.
  • --fix, deliberately narrow: CH017 always (a pure rename, no risk),
    CH004 only inside async def (outside one, get_running_loop()
    raises where get_event_loop() wouldn't). Every other check needs a
    judgment call or an import that may not be in scope, so it stays
    detection-only.
  • Scanning parallelized across a process pool once there are enough
    files to make it worth it. Verified byte-identical output against the
    sequential path first: a full scan of HuggingFace's transformers went
    from 57 seconds to 12.

Still zero required runtime dependencies - confirmed via a fresh install
(pip show codehound reports no Requires).