You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just curious, would you like me to modernize the packaging a bit? I think flit-core makes more sense for a very simple package like this (we are using it for all our foundational libraries to minimize bootstrapping requires), ruff could replace most of the slow individual checks, and the CI probably could be sped up with tox-uv (or nox, I'm a big fan of nox), things like that. But that's up to you, don't know if you started from an old template, or if you like certain things, etc. Everyone's a bit different in their preferences. :)
Must have a [tool.pytest.ini_options] configuration section in
pyproject.toml. If you must have it somewhere else (such as to support
pytest<6), ignore this check.
Must have warn_unreachable (true/false) to pass this check. There are
occasionally false positives (often due to platform or Python version
static checks), so it's okay to set it to false if you need to. But try
it first - it can catch real bugs too.
Must have "ignore-without-code" in enable_error_code = [...]. This
will force all skips in your project to include the error code, which
makes them more readable, and avoids skipping something unintended.
Just curious, would you like me to modernize the packaging a bit? I think flit-core makes more sense for a very simple package like this (we are using it for all our foundational libraries to minimize bootstrapping requires), ruff could replace most of the slow individual checks, and the CI probably could be sped up with tox-uv (or nox, I'm a big fan of nox), things like that. But that's up to you, don't know if you started from an old template, or if you like certain things, etc. Everyone's a bit different in their preferences. :)
You can see my preferences at https://learn.scientific-python.org/development/guides/, and this is the current sp-repo-review report (live WASM version):
General
setuptools.build_metaPyProject
Must have a
[tool.pytest.ini_options]configuration section in pyproject.toml. If you must have it somewhere else (such as to supportpytest<6), ignore this check.GitHub Actions
At least one workflow should auto-cancel.
All projects should have a
.github/dependabot.ymlfile to support at least GitHub Actions regular updates. Something like this:Pre-commit
Must have
https://github.com/adamchainz/blacken-docsin.pre-commit-config.yamlMust have
https://github.com/pre-commit/mirrors-mypyin.pre-commit-config.yamlMust have
https://github.com/pre-commit/pygrep-hooksin.pre-commit-config.yamlMust have one of
https://github.com/executablebooks/mdformat,https://github.com/rbubley/mirrors-prettierin.pre-commit-config.yamlMust have
https://github.com/astral-sh/ruff-pre-commitin.pre-commit-config.yamlShould have something like this in
.pre-commit-config.yaml:MyPy
Must have
warn_unreachable(true/false) to pass this check. There are occasionally false positives (often due to platform or Python version static checks), so it's okay to set it to false if you need to. But try it first - it can catch real bugs too.Must have
"ignore-without-code"inenable_error_code = [...]. This will force all skips in your project to include the error code, which makes them more readable, and avoids skipping something unintended.Must have
"redundant-expr"inenable_error_code = [...]. This helps catch useless lines of code, like checking the same condition twice.Must have
"truthy-bool"inenable_error_code = []. This catches mistakes in using a value as truthy if it cannot be falsy.Ruff
Must have
[tool.ruff]section inpyproject.tomlorruff.toml/.ruff.toml.Documentation