summaryrefslogtreecommitdiff
path: root/pyproject.toml
blob: 29a84b24883ecf37a73e02d76d08afb0f776f131 (plain)
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
93
94
95
96
97
98
99
100
101
102
103
104
[build-system]
requires = [
  "setuptools >= 52",
  "setuptools_scm[toml] >= 7.0.5",
  "wheel"
]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]

[tool.black]
line-length = 88
target-version = ["py37", "py38"]
skip-string-normalization = true
include = '\.pyi?$'
exclude = '''
/(
    \.eggs
  | \.git
  | \.hg
  | \.mypy_cache
  | \.tox
  | \.venv
  | _build
  | buck-out
  | build
  | dist
  | docs
  | misc
  | \.egg-info
)/
'''

[tool.coverage.run]
branch = true
parallel = true
concurrency = ["multiprocessing"]

[tool.coverage.paths]
source = ["src/ocrmypdf"]

[tool.coverage.report]
# Regexes for lines to exclude from consideration
exclude_lines = [
  # Have to re-enable the standard pragma
  "pragma: no cover",
  # Don't complain if tests don't hit defensive assertion code:
  "raise AssertionError",
  "raise NotImplementedError",
  # Don't complain if non-runnable code isn't run:
  "if 0:",
  "if False:",
  "if __name__ == .__main__.:",
  "if TYPE_CHECKING:"
]

[tool.isort]
profile = "black"
known_first_party = "ocrmypdf"
known_third_party = [
  "PIL",
  "flask",
  "img2pdf",
  "ocrmypdf",
  "pdfminer",
  "pikepdf",
  "pkg_resources",
  "pluggy",
  "pytest",
  "reportlab",
  "setuptools",
  "sphinx_rtd_theme",
  "tqdm",
  "watchdog",
  "werkzeug"
]

[tool.pytest.ini_options]
minversion = "6.0"
norecursedirs = ["lib", ".pc", ".git", "venv", "output", "cache", "resources"]
testpaths = ["tests"]
markers = ["slow"]
filterwarnings = ["ignore:.*XMLParser.*:DeprecationWarning"]

[tool.mypy]

[[tool.mypy.overrides]]
module = [
  'pluggy',
  'tqdm',
  'coloredlogs',
  'img2pdf',
  'pdfminer.*',
  'reportlab.*',
  'fitz',
  'libxmp.utils',
  'importlib_metadata'
]
ignore_missing_imports = true

[tool.pylint.basic]
good-names = ["i", "j", "k", "ex", "Run", "_", "e", "p", "im", "w", "h", "m", "x", "y", "a", "b", "fp", "n", "f", "s", "v", "q", "dx", "dy"]
logging-format-style = "old"
disable = ["raw-checker-failed", "bad-inline-option", "locally-disabled", "file-ignored", "suppressed-message", "useless-suppression", "deprecated-pragma", "use-symbolic-message-instead", "logging-fstring-interpolation", "missing-function-docstring", "too-few-public-methods"]