-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
147 lines (117 loc) · 3.78 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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
[tool.poetry]
name = "useful-optimizer"
version = "0.1.2"
description = "A dedicated set of optimization algorithms for numeric problems."
authors = ["Anselm Hahn <[email protected]>"]
license = "MIT"
readme = "README.md"
packages = [{ include = "opt", from = "." }]
[tool.poetry.dependencies]
python = ">=3.10,<3.13"
numpy = "^1.26.4"
scipy = "^1.12.0"
scikit-learn = "^1.5.1"
[tool.poetry.group.dev.dependencies]
ruff = "^0.8.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
]
# Same as Black.
line-length = 88
indent-width = 4
# Define Python target versions.
target-version = "py310"
# Add more options as needed
fix = true
preview = false
[tool.ruff.lint]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
# McCabe complexity (`C901`) by default.
# Set to all
select = ["ALL"]
ignore = ["ANN101", "PLR0913", "N803", "N806", "E741", "E501", "T201", "COM812"]
# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
exclude = [".venv"]
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.lint.pydocstyle]
# Ignore a few common errors and warnings.
# Set the default docstring convention to Google.
convention = "google"
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"
# Like Black, indent with spaces, rather than tabs.
indent-style = "space"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = true
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"
# Format all docstring code snippets with a line length of 88.
docstring-code-line-length = 88
# Enable auto-formatting of code examples in docstrings. Markdown,
# reStructuredText code/literal blocks and doctests are all supported.
#
# This is currently disabled by default, but it is planned for this
# to be opt-out in the future.
docstring-code-format = true
[tool.ruff.lint.isort]
# If True, forces all imports to be on their own line. This is the opposite of the default behavior.
force-single-line = true
# The number of lines to leave between import sections. Default is '0'.
lines-between-types = 1
# The number of lines to leave after the last import. Default is '2'.
lines-after-imports = 2
# A list of names to treat as third party when encountered. Useful for making isort recognize your own project as a third party library.
known-third-party = ["poetry.core"]
# A list of imports that must be present for a file to be considered valid. This is useful for adding future import statements.
required-imports = ["from __future__ import annotations"]
# If True, makes sorting case sensitive.
case-sensitive = true
# If True, combines as imports on the same line.
combine-as-imports = true
# [tool.ruff.lint.flake8-copyright]
# author = "Anselm Hahn"
# min-file-size = 1024
# notice-rgx = "(?i)Copyright \\(C\\) \\d{4}"
[tool.ruff.lint.pyupgrade]
# Preserve types, even if a file imports `from __future__ import annotations`.
keep-runtime-typing = true
[tool.ruff.lint.flake8-type-checking]
# Add quotes around type annotations, if doing so would allow
# an import to be moved into a type-checking block.
# quote-annotations = true
strict = true