-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
48 lines (41 loc) · 1.74 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
[tool.poetry]
name = "ds-caselaw-marklogic"
version = "0.1.0"
description = ""
authors = ["David McKee <david.mckee@dxw.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.11"
saxonche = "^12.3.0"
pytest = "^8.0.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
line-length = 120
[tool.ruff.lint]
ignore = ["E501", "G004", "PLR2004", "RUF005", "RUF012", "UP040"] # long lines, fstrings in logs, magic values, consider not concat, mutable classbits, type instead of TypeAlias
extend-select = ["W", "B", "Q", "C90", "I", "UP", "YTT", "ASYNC", "S", "BLE", "A", "COM", "C4", "DTZ", "T10", "DJ", "EM", "EXE", "FA",
"ISC", "ICN", "G", "INP", "PIE", "T20", "PYI", "PT", "Q", "RSE", "RET", "SLF", "SLOT", "SIM", "TID", "TCH", "INT", "PTH",
"FIX", "PGH", "PL", "TRY", "FLY", "PERF", "RUF"]
unfixable = ["ERA"]
# things skipped:
# N: naming, possibly good
# D: docstrings missing throughout
# ANN: annotations missing throughout
# FBT: not convinced boolean trap worth auto-banning.
# CPY: copyright at top of each file
# G: logging warnings -- fstrings bad?
# ARG: sometimes you need to accept arguments.
# TD: somewhat finicky details about formatting TODOs
# FIX: flags todos: possible to add -- skipped for now
# ERA: lots of false positives, not a good autofix
# PD, NPY, AIR: ignored, panda / numpy / airflow specific
# FURB: not yet out of preview
[tool.ruff.lint.extend-per-file-ignores]
"*" = ["RET505", # disagree with if X: return Y else: return Z being wrong
"T201", # print
"S113", # requests no timeout : TODO
]
"tests/*" = ["S101"] # assert fine in tests
"development_scripts/populate_top_judgments_and_neighbours.py" = ["S314", "C400"] # TODO