-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpyproject.toml
123 lines (108 loc) · 3.01 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
[build-system]
requires = ["poetry-core>=1.9"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "inductance"
version = "0.1.5"
description = "Code for 2D inductance calculations"
authors = ["Darren Garnier <dgarnier@reinrag.net>"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/dgarnier/inductance"
repository = "https://github.com/dgarnier/inductance"
documentation = "https://inductance.readthedocs.io"
[tool.poetry.urls]
Changelog = "https://github.com/dgarnier/inductance/releases"
[tool.poetry.dependencies]
python = "^3.9"
numpy = "^1.26"
numba = "^0.59"
[tool.poetry.group.dev.dependencies]
mpmath = "^1.0.0"
poetry = "^1.8.3"
poetry-plugin-export = "^1.8.0"
nox = "^2023.4.22"
nox-poetry = "^1.0.3"
dunamai = "^1.17.0"
Pygments = ">=2.10.0"
black = ">=21.10b0"
coverage = {extras = ["toml"], version = ">=6.2"}
darglint = ">=1.8.1"
flake8 = ">=4.0.1"
flake8-bandit = ">=2.1.2"
flake8-bugbear = ">=21.9.2"
flake8-docstrings = ">=1.6.0"
flake8-rst-docstrings = ">=0.2.5"
furo = ">=2021.11.12"
isort = ">=5.12.0"
mypy = ">=0.930"
pep8-naming = ">=0.12.1"
pre-commit = "^3.3.3"
pre-commit-hooks = ">=4.1.0"
pytest = ">=6.2.5"
pyupgrade = ">=2.29.1"
safety = ">=1.10.3"
sphinx = ">=4.3.2"
sphinx-autobuild = ">=2021.3.14"
sphinx-click = ">=3.0.2"
typeguard = ">=2.13.3"
xdoctest = {extras = ["colors"], version = ">=0.15.10"}
myst-parser = {version = ">=0.16.1"}
[tool.mypy]
mypy_path = "stubs"
pretty = true
show_column_numbers = true
show_error_codes = true
show_error_context = true
[tool.coverage.paths]
source = ["src", "*/site-packages"]
tests = ["tests", "*/tests"]
[tool.coverage.run]
branch = true
source = ["inductance", "tests"]
[tool.coverage.report]
show_missing = true
fail_under = 50
[tool.ruff]
force-exclude = true # make sure we exclude below when running pre-commit
extend-exclude = ["src/elliptics.py"]
show-fixes = true
[tool.ruff.lint]
extend-select = [
"B", # flake8-bugbear
"I", # isort
"ARG", # flake8-unused-arguments
"C4", # flake8-comprehensions
# "EM", # flake8-errmsg
"ICN", # flake8-import-conventions
"G", # flake8-logging-format
"PGH", # pygrep-hooks
"PIE", # flake8-pie
"PL", # pylint
"PT", # flake8-pytest-style
"PTH", # flake8-use-pathlib
"RET", # flake8-return
"RUF", # Ruff-specific
"SIM", # flake8-simplify
# "T20", # flake8-print
"UP", # pyupgrade
"YTT", # flake8-2020
"EXE", # flake8-executable
"NPY", # NumPy specific rules
"PD", # pandas-vet
"PYI", # flake8-pyi
]
ignore = [
"PLR09", # Too many <...>
"PLR2004", # Magic comparison
"ISC001", # Conflicts with formatter
]
[tool.ruff.lint.pydocstyle]
convention = "numpy" # Accepts: "google", "numpy", or "pep257".
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["T20"]
# don't actually use isort.. use ruff instead
[tool.isort]
profile = "black"
[tool.codespell]
ignore-words-list = ["garnier"]