-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
92 lines (81 loc) · 2.91 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
[tool.poetry]
name = "ds-caselaw-marklogic-api-client"
version = "29.1.0"
description = "An API client for interacting with the underlying data in Find Caselaw."
authors = ["The National Archives"]
homepage = "https://github.com/nationalarchives/ds-caselaw-custom-api-client"
keywords = ["national archives", "caselaw"]
readme = "README.md"
packages = [
{ include = "caselawclient", from = "src" },
]
[tool.poetry.dependencies]
python = "^3.9"
certifi = ">=2024.12.14,<2024.13.0"
charset-normalizer = "^3.0.0"
django-environ = "^0.12.0"
idna = "^3.4"
requests = "^2.28.2"
requests-toolbelt = ">=0.10.1,<1.1.0"
memoization = "^0.4.0"
lxml = "^5.0.0"
ds-caselaw-utils = "^2.0.0"
boto3 = "^1.26.112"
typing-extensions = "^4.7.1"
mypy-boto3-s3 = "^1.26.104"
mypy-boto3-sns = "^1.26.69"
pytz = "^2024.1"
python-dateutil = "^2.9.0-post.0"
saxonche = "^12.5.0"
sqids = "^0.5.0"
[tool.poetry.group.dev.dependencies]
coverage = "^7.2.3"
pytest = "^8.0.0"
beautifulsoup4 = "^4.12.3"
responses = "^0.25.0"
python-dotenv = "^1.0.0"
time-machine = "^2.13.0"
moto = {version = "^5.0.1", extras = ["all"]}
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
pdoc = "^15.0.0"
[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "v$version"
version_scheme = "semver2"
version_provider = "poetry"
update_changelog_on_bump = true
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
markers = [
"write: the test deliberately changes the Marklogic DB')",
]
filterwarnings = ["ignore::DeprecationWarning"]
[tool.ruff]
line-length = 120
[tool.ruff.lint]
ignore = ["E501", "G004", "PLR2004", "RUF005", "RUF012", "UP040"] # longlines, fstrings in logs, magic values, consider not concat, mutable classbits, type instead of TypeAlias
extend-select = ["W", "I", "SLF", "SIM"]
# extend-select = [ "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", "SLOT", "TID", "TCH", "INT", "PTH",
# "FIX", "PGH", "PL", "TRY", "FLY", "PERF", "RUF"]
unfixable = ["ERA"]
[tool.ruff.lint.extend-per-file-ignores]
"tests/*" = ["S101"] # `assert` is fine in tests
"tests/client/test_client.py" = ["SLF001"] # TODO: This really shouldn't be the case, but it's not important to fix right now.
# 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