generated from sensein/python-package-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
116 lines (104 loc) · 2.67 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
[tool.poetry]
name = "ProvSense"
version = "0.0.1"
description = "ProvSense is a Python library for managing knowledge graph provenance. It enables efficient comparison of files, tracking changes, and enforcing provenance rules to ensure data integrity and traceability. Ideal for researchers and developers, ProvSense promotes transparency and accountability in data-driven workflows."
authors = [
"tekrajchhetri <[email protected]>",
]
maintainers = [
"tekrajchhetri <[email protected]>",
]
license = "Apache-2.0"
readme = "README.md"
homepage = "https://github.com/sensein/ProvSense/"
repository = "https://github.com/sensein/ProvSense/"
documentation = "https://sensein.group/brainkbdocs/"
keywords = ["python", "data-integrity", "file-comparison", "data-governance", "provenance", "knowledge-graph", "provenance-tracking", "reproducibility", "lineage"]
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3.10",
# "License :: OSI Approved :: Apache Software License",
# "Operating System :: OS Independent"
]
packages = [{include = "ProvSense", from = "src"}]
[tool.poetry.dependencies]
python = "^3.10"
click = "^8.1.7"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
pytest = "^8.1.1"
mypy = "^1.9.0"
pre-commit = "^3.7.0"
pytest-cov = "^5.0.0"
ruff = "^0.3.4"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
pdoc = "^14.4.0"
[tool.pytest.ini_options]
pythonpath = [
"src"
]
testpaths = [
"src/tests"
]
[tool.mypy]
ignore_missing_imports = true
[tool.ruff]
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"venv"
]
line-length = 88
indent-width = 4
src = ["src"]
target-version = "py310"
[tool.ruff.lint]
select = ["ANN", "D", "E", "F", "I"]
ignore = [
"ANN101", # self should not be annotated.
"ANN102" # cls should not be annotated.
]
fixable = ["ALL"]
unfixable = []
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.per-file-ignores]
"src/tests/**/*.py" = []
[tool.poetry.scripts]
ProvSense-cli = "ProvSense.cli:main"
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
style = "pep440"
bump = true
pattern = "default-unprefixed"
[build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
build-backend = "poetry_dynamic_versioning.backend"