-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
82 lines (71 loc) · 2.06 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
[project]
name = "ev-station-solver"
version = "1.0.0"
description = "The solver to the paper 'Optimal placement of electric vehicle slow-charging stations: A continuous facility location problem under uncertainty' by H.W. Ljósheim, S. Jenkins, K.D. Searle, J.K. Wolff"
authors = [
{ name = "Justus Kilian Wolff", email = "hi@justuskilianwolff.com" },
{ name = "K.D. Searle" },
{ name = "H.W. Ljósheim" },
{ name = "S. Jenkins" },
]
dependencies = [
"numpy>=2.2.0",
"pandas>=2.2.3",
"docplex>=2.28.240",
"scikit-learn>=1.6.0",
"tqdm>=4.67.1",
"scipy>=1.14.1",
"igraph>=0.11.8",
]
readme = "README.md"
requires-python = ">= 3.8"
[project.optional-dependencies]
gui = ["plotly>=5.23.0", "streamlit>=1.37.0"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.rye]
managed = true
dev-dependencies = [
"vulture>=2.11",
"ruff>=0.5.5",
"matplotlib>=3.9.4",
"ipykernel>=6.29.5",
"pandas>=2.2.3",
"pip>=24.3.1",
"notebook>=7.3.2",
]
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["src/ev_station_solver"]
[tool.ruff]
line-length = 130
respect-gitignore = false
src = ["src"]
extend-include = ["*.ipynb"]
exclude = [".venv"]
[tool.ruff.lint]
extend-select = ["I"] # also sort imports etc
ignore = ["E731"] # ignore not using lambda functions
[tool.pylint]
disable = [
"C0103", # constants not upper case
"C0301", # line too long
"C0114", # missing module docstring
"W1203", # logger with f string formatting
"R0913", # too many arguments
"W0511", # fixme
"W0212", # accessing protected members
"R1720", # Unnecessary "elif" after "raise", remove the leading "el" from "elif" (has a better readibility though)
"R0914", # too many local variables
"R1705", # else after return (improves readibility imho)
"R0902", # too many instance attributes
"R0903", # too few public methods
]
ignore-paths = [".venv", "test[^_]*py"]
recursive = "y"
[tool.vulture]
exclude = [".venv"]
min_confidence = 100
paths = ["."]