-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
99 lines (86 loc) · 2.96 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
[tool.poetry]
name = "cmem-plugin-pyshacl"
version = "5.0.2.dev1+7493305.dirty"
license = "Apache-2.0"
description = "Validate your Knowledge Graphs based on tests generated from SHACL shapes."
authors = ["eccenca GmbH <[email protected]>"]
classifiers = [
"Development Status :: 4 - Beta","Environment :: Plugins",
]
readme = "README-public.md"
keywords = [
"eccenca Corporate Memory", "plugin", "SHACL"
]
homepage = "https://github.com/eccenca/cmem-plugin-pyshacl"
[tool.poetry.dependencies]# if you need to change python version here, change it also in .python-version
python = "^3.11"
pyshacl = "^0.28.1"
validators = "^0.34.0"
rdflib = "^6.3.2"
pyduktape2 = "^0.4.6"
[tool.poetry.dependencies.cmem-plugin-base]
version = "^4.5.0"
allow-prereleases = false
[tool.poetry.group.dev.dependencies.cmem-cmemc]
version = "^24.2.0"
[tool.poetry.group.dev.dependencies]
genbadge = {extras = ["coverage"], version = "^1.1.1"}
mypy = "^1.11.1"
pip = "^24"
pytest = "^8.3.2"
pytest-cov = "^5.0.0"
pytest-dotenv = "^0.5.2"
pytest-html = "^4.1.1"
pytest-memray = { version = "^1.7.0", markers = "platform_system != 'Windows'" }
ruff = "^0.6.1"
safety = "^1.10.3"
[build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"]
build-backend = "poetry_dynamic_versioning.backend"
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
dirty = true
bump = true
[tool.mypy]
warn_return_any = true
ignore_missing_imports = true
[tool.pytest.ini_options]
addopts = ""
[tool.coverage.report]
exclude_also = [
"def __repr__",
"if self.debug:",
"if settings.DEBUG",
"raise AssertionError",
"raise NotImplementedError",
"if TYPE_CHECKING:",
"class .*\\bProtocol\\):",
"@(abc\\.)?abstractmethod",
]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.format]
line-ending = "lf" # Use `\n` line endings for all files
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"ANN101", # Missing type annotation for self in method
"ANN204", # Missing return type annotation for special method `__init__`
"COM812", # missing-trailing-comma
"D107", # Missing docstring in __init__
"D203", # [*] 1 blank line required before class docstring
"D211", # No blank lines allowed before class docstring
"D213", # Multi-line docstring summary should start at the second line
"D400", # First line should end with a period
"D415", # First line should end with a period, question mark, or exclamation point
"EM", # Exception texts - https://docs.astral.sh/ruff/rules/#flake8-errmsg-em
"FBT", # The Boolean Trap - https://docs.astral.sh/ruff/rules/#flake8-boolean-trap-fbt
"FIX002", # Allow to add TODO notes in the code
"G004", # Logging statement uses f-string
"ISC001", # single-line-implicit-string-concatenation
"PD", # opinionated linting for pandas code
"S101", # use of assert detected
"TRY003", # Avoid specifying long messages outside the exception class
]