Skip to content

Instantly share code, notes, and snippets.

@vmphase
Last active July 19, 2026 18:06
Show Gist options
  • Select an option

  • Save vmphase/4180ae02d7c90f636c779d65162ae3a0 to your computer and use it in GitHub Desktop.

Select an option

Save vmphase/4180ae02d7c90f636c779d65162ae3a0 to your computer and use it in GitHub Desktop.
Subjective configuration of ruff
[tool.ruff]
exclude = ["docs/"]
target-version = "py312"
[tool.ruff.lint]
select = [
"E",
"F",
"W",
"I",
"D",
"RUF",
]
ignore = [
"E501", # line length is handled by ruff format
"D100", # module-level docstrings enforcement
"D101", # class docstrings enforcement
"D102", # method docstrings enforcement
"D103", # function docstrings enforcement
"D104", # package-level docstrings enforcement
"D105", # magic/dunders docstrings enforcement
"D107", # __init__ docstring enforcement; the class docstring covers it
"D200", # one-line docstrings blank line enforcement
"D203", # conflicts with D211 (no-blank-line-before-class)
"D205", # blank line between summary and description enforcement
"D212", # conflicts with D213 (multi-line-summary-second-line)
"D400", # period at end of docstring enforcement
"D404", # "Do not start docstring with 'This'" enforcement
"D415", # punctuation at end of first line enforcement
"F403", # star imports acceptable in __init__.py re-exports
"F405", # star import usage acceptable in __init__.py re-exports
"RUF001", # ambiguous unicode in code
"RUF002", # ambiguous unicode in docstrings
"RUF003", # ambiguous unicode in comments
"RUF029", # async def WITH await enforcement
]
unfixable = [
"E501", # line length is handled by ruff format
]
[tool.ruff.lint.isort]
combine-as-imports = true
force-wrap-aliases = true
[tool.ruff.lint.pydocstyle]
convention = "numpy"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment