-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
61 lines (53 loc) · 1.94 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
[tool.poetry]
name = "m269-lib"
version = "0.0.2"
description = "A pedagogical algorithms and data structures library"
authors = ["Michel Wermelinger <[email protected]>"]
readme = "README.md"
license = "BSD-3-Clause"
homepage = "https://dsa-ou.github.io/m269-lib/"
repository = "https://github.com/dsa-ou/m269-lib"
keywords = ["algorithms", "data structures", "education"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Education",
"License :: OSI Approved :: BSD License",
"Topic :: Education",
"Topic :: Software Development :: Libraries :: Python Modules",
"Operating System :: OS Independent",
]
[tool.poetry.dependencies]
python = "^3.10"
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.3"
pytest-cov = "^4.1.0"
pre-commit = "^3.6.0"
ruff = "^0.1.9"
pytype = "^2023.12.18"
pdoc = "^14.3.0"
allowed = "^1.3.0"
[tool.pytest.ini_options]
addopts = "--cov=m269_lib --cov-report term-missing --doctest-modules"
[tool.ruff]
target-version = "py310"
[tool.ruff.lint]
select = ["ALL"]
ignore = [ # ignore these rules:
"ANN101", # provide the type of `self`
"C408", # use `{}` instead of `dict()`
"E711", # comparison should be `... is None`
"RET505", # unnecessary `else` after `return`
"SIM110", # simplify for-loops with all() or any()
"ISC001", "COM812", # these rules may conflict with the formatter
]
[tool.ruff.lint.pydocstyle]
convention = "pep257" # this project's docstrings follow PEP 257
[tool.ruff.lint.per-file-ignores]
"__init__.py" = [ # this file just re-exports names, so ignore these rules:
"F401", # unused imported name
"F403" # `from ... import *` doesn't allow to detect undefined names
]
"bag.py" = ["SLF001"] # ignore private accesses, as they are to the same class
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"