-
Notifications
You must be signed in to change notification settings - Fork 11
/
pyproject.toml
126 lines (114 loc) · 3.55 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[tool.poetry]
name = "odfdo"
version = "3.9.3"
description = "Python library for OpenDocument Format"
license = "Apache-2.0"
keywords = ["python", "library", "ODF", "OpenDocument"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries :: Python Modules",
]
homepage = "https://github.com/jdum/odfdo"
repository = "https://github.com/jdum/odfdo"
authors = ["Jérôme Dumonteil <jerome.dumonteil@gmail.com>"]
readme = "README.md"
packages = [{ include = "odfdo" }]
[tool.poetry.dependencies]
python = ">=3.9,<4"
lxml = [
{ version = ">=4.8.0,<5", python = ">=3.9,<3.10" },
{ version = ">=4.8.0,<5.1.1", python = ">=3.10,<3.11" },
{ version = ">=4.9.4,<6", python = ">=3.11,<3.12" },
{ version = ">=4.9.4,<6", python = ">=3.12,<3.13" },
{ version = ">=5.3.0,<6", python = ">=3.13" },
]
[tool.poetry.group.dev.dependencies]
poetry = "~1.8"
pytest = ">=8.0"
tox = ">=4"
Pillow = ">=10.0.0"
lxml-stubs = "*"
ruff = ">=0.6.0"
isort = ">=5.13.0"
[tool.poetry.scripts]
odfdo-diff = "odfdo.scripts.diff:main"
odfdo-folder = 'odfdo.scripts.folder:main'
odfdo-highlight = 'odfdo.scripts.highlight:main'
odfdo-show = 'odfdo.scripts.show:main'
odfdo-styles = 'odfdo.scripts.styles:main'
odfdo-replace = 'odfdo.scripts.replace:main'
odfdo-headers = 'odfdo.scripts.headers:main'
odfdo-table-shrink = 'odfdo.scripts.table_shrink:main'
odfdo-userfield = 'odfdo.scripts.userfield:main'
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 88
target-version = ['py312']
[tool.isort]
profile = "black"
[tool.ruff]
lint.ignore = [
# LineTooLong
"E501",
# DoNotAssignLambda
"E731",
# Use specific rule codes when ignoring type issues
"PGH003",
# check for execution of untrusted input
"S603",
# Class attribute `open` is shadowing a Python builtin
"A003",
# Use `X | Y` in `isinstance` call instead of `(X, Y)`
"UP038",
# Avoid specifying long messages outside the exception class
"TRY003",
# Use ternary operator
"SIM108",
# Standard pseudo-random generators are not suitable for cryptographic purposes
"S311",
# Using `lxml` to parse untrusted data is known to be vulnerable to XML attacks
"S320",
# Use `X | Y` for type annotations
"UP007",
# Return the condition directly
"SIM103",
# Convert to `datetime.UTC` alias
"UP017",
# import *` used; unable to detect undefined names
"F403",
]
[tool.ruff.lint.per-file-ignores]
"recipes/accessing_a_single_element.py" = ["RUF001"]
"tests/test_*" = ["S101", "RUF005"]
"recipes/*" = ["S101"]
# [tool.mypy]
# check_untyped_defs = "True"
# disallow_untyped_defs = "True"
# disallow_any_unimported = "True"
# no_implicit_optional = "True"
# warn_return_any = "False"
# warn_unused_ignores = "True"
# show_error_codes = "True"
# no_namespace_packages = "True"
[tool.coverage.report]
skip_empty = true
[tool.coverage.run]
branch = true
source = ["odfdo"]
[tool.pytest.ini_options]
minversion = "8.0"
testpaths = ["tests"]