-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
121 lines (98 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
[build-system] # https://python-poetry.org/docs/pyproject/#poetry-and-pep-517
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry] # https://python-poetry.org/docs/pyproject/
name = "osmtgmod-bus-mapping"
version = "0.0.0"
description = "Python Package to map substation names to osmTGmod buses"
authors = ["Julius Kiso <[email protected]>"]
readme = "README.md"
repository = "https://github.com/JuliusKiso/osmTGmod-bus-mapping"
[tool.poetry.dependencies] # https://python-poetry.org/docs/dependency-specification/
python = ">=3.9,<4.0"
pandas = "^2.2.1"
[tool.poetry.group.test.dependencies] # https://python-poetry.org/docs/master/managing-dependencies/
coverage = { extras = ["toml"], version = ">=7.4.4" }
mypy = ">=1.9.0"
poethepoet = ">=0.25.0"
pre-commit = ">=3.7.0"
pytest = ">=8.1.1"
pytest-mock = ">=3.14.0"
pytest-xdist = ">=3.5.0"
ruff = ">=0.3.5"
[tool.poetry.group.dev.dependencies] # https://python-poetry.org/docs/master/managing-dependencies/
cruft = ">=2.15.0"
ipykernel = ">=6.29.4"
pdoc = ">=14.4.0"
[tool.coverage.report] # https://coverage.readthedocs.io/en/latest/config.html#report
precision = 1
show_missing = true
skip_covered = true
[tool.coverage.run] # https://coverage.readthedocs.io/en/latest/config.html#run
branch = true
command_line = "--module pytest"
data_file = "reports/.coverage"
source = ["src"]
[tool.coverage.xml] # https://coverage.readthedocs.io/en/latest/config.html#xml
output = "reports/coverage.xml"
[tool.mypy] # https://mypy.readthedocs.io/en/latest/config_file.html
junit_xml = "reports/mypy.xml"
ignore_missing_imports = true
pretty = true
show_column_numbers = true
show_error_codes = true
show_error_context = true
warn_unreachable = true
[tool.pytest.ini_options] # https://docs.pytest.org/en/latest/reference/reference.html#ini-options-ref
addopts = "--color=yes --doctest-modules --exitfirst --failed-first --verbosity=2 --junitxml=reports/pytest.xml"
testpaths = ["src", "tests"]
xfail_strict = true
[tool.ruff] # https://github.com/charliermarsh/ruff
fix = true
line-length = 100
src = ["src", "tests"]
target-version = "py39"
[tool.ruff.lint]
ignore-init-module-imports = true
select = ["A", "ASYNC", "B", "C4", "C90", "D", "DTZ", "E", "F", "FLY", "FURB", "I", "ISC", "LOG", "N", "NPY", "PERF", "PGH", "PIE", "PL", "PT", "Q", "RET", "RUF", "RSE", "SIM", "TID", "UP", "W", "YTT"]
ignore = ["D203", "D213", "E501", "PGH002", "PGH003", "RET504", "S101", "S307"]
unfixable = ["F401", "F841"]
[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = "all"
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.poe.tasks] # https://github.com/nat-n/poethepoet
[tool.poe.tasks.docs]
help = "Generate this package's docs"
cmd = """
pdoc
--docformat $docformat
--output-directory $outputdirectory
osmtgmod_bus_mapping
"""
[[tool.poe.tasks.docs.args]]
help = "The docstring style (default: numpy)"
name = "docformat"
options = ["--docformat"]
default = "numpy"
[[tool.poe.tasks.docs.args]]
help = "The output directory (default: docs)"
name = "outputdirectory"
options = ["--output-directory"]
default = "docs"
[tool.poe.tasks.lint]
help = "Lint this package"
[[tool.poe.tasks.lint.sequence]]
cmd = """
pre-commit run
--all-files
--color always
"""
[tool.poe.tasks.test]
help = "Test this package"
[[tool.poe.tasks.test.sequence]]
cmd = "coverage run"
[[tool.poe.tasks.test.sequence]]
cmd = "coverage report"
[[tool.poe.tasks.test.sequence]]
cmd = "coverage xml"