-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
85 lines (79 loc) · 2.82 KB
/
pyproject.toml
File metadata and controls
85 lines (79 loc) · 2.82 KB
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
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["."]
[project]
name = "vdbpy"
version = "20.8.2"
description = "Base library for working with https://github.com/VocaDB/vocadb"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"defusedxml>=0.7.1",
"pytest>=8",
"pytest-mock>=3",
"diskcache==5.6.3",
"genbadge>=1.1.2",
"plotly==5.17.0",
"plotly-stubs==0.1.2",
"pydeps>=3.0.1",
"python-dateutil==2.9.0.post0",
"requests==2.32.4",
"ruff>=0.14.14",
"tabulate==0.9.0",
"ty>=0.0.14",
"coverage>=7.13.4",
]
[tool.ruff]
target-version = "py313"
[tool.ruff.lint]
select = ["ALL"]
ignore = [ # Copied from another project, TODO count these
"ANN", # x, Missing return type
"C901", # x, function too complex
"COM812", # x, Trailing comma missing
"D100", # x, Missing docstring in public module
"D101", # x, Missing docstring in public class
"D102", # x Missing docstring in a public method
"D103", # x, Missing docstring in public function
"D104", # x, D104 Missing docstring in public package
"D107", # x, Missing docstring in `__init__`
"D203", # ? incorrect-blank-line-before-class
"D213", # ? multi-line-summary-first-line
"EM101", # x, Exception must not use a string literal
"EM102", # x, Exception must not use an f-string literal
"ERA001", # x, Commented-out code
"FBT001", # x, Boolean-typed positional argument in function definition
"FBT002", # x, Boolean default positional argument in function definition
"FIX002", # x, Line contains TODO
"G004", # x, Logging statement uses f-string
"INP001", # x, Missing __init__.py
"PERF401", # x, Replace for loop with extend / list comprehension
"PGH003", # x, Use specific rule codes when ignoring type issues
"PLR0912", # x, Too many branches
"PLR0913", # x, Too many arguments
"PLR0915", # x, Too many statements
"PLR2004", # x, Magic values
"PTH", # x, `open()` should be replaced by `Path.open()` !! TODO
"S311", # x, standard pseudo-random generator
"SIM102", # x, Use a single `if` statement instead of nested `if` statements
"TD", # x, Missing issue link for TODO
"TRY002", # x, Create your own exception
"TRY003", # x, void specifying long messages outside the exception class
"TRY300", # x, try-consider-else
"UP040", # x, Type alias instead of the `type` keyword
]
[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
"integration: requires live VocaDB API",
"slow: takes more than 10 seconds",
]
[tool.pyright]
typeCheckingMode = "strict"
# https://github.com/astral-sh/uv/issues/5903
# Ideally 'uv run tests' would run this
# uv run coverage run -m unittest tests.py
# uv run coverage xml
# uv run genbadge coverage -i coverage.xml