Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
106 lines (94 loc) · 1.98 KB
/
Copy pathpyproject.toml
File metadata and controls
106 lines (94 loc) · 1.98 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "ucgmsim-imdb"
authors = [{name="ucgmsim"}]
description = "A library for reading and writing intensity measure databases"
readme = "README.md"
requires-python = ">=3.12"
dynamic = ["version"]
dependencies = [
"ibis-framework[duckdb]>=9",
"numpy>=2",
"pandas>=3",
]
[dependency-groups]
test = [
"pytest",
"pytest-cov",
"coverage[toml]",
]
types = [
"pandas-stubs",
"ty",
]
dev = ["ruff", "deptry", "ty", "numpydoc"]
[tool.deptry]
extend_exclude = ["scripts"]
[tool.setuptools_scm]
[tool.setuptools.packages.find]
include = ["imdb*"]
[tool.ruff]
extend-exclude = ["scripts"]
[tool.ruff.lint]
extend-select = [
# isort imports
"I",
# Use r'\s+' rather than '\s+'
"W605",
# All the naming errors, like using camel case for function names.
"N",
# Missing docstrings in classes, methods, and functions
"D101",
"D102",
"D103",
"D105",
"D107",
# Use f-string instead of a format call
"UP032",
# Standard library import is deprecated
"UP035",
# Missing function argument type-annotation
"ANN001",
# Using except without specifying an exception type to catch
"BLE001"
]
ignore = ["D104"]
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.ruff.lint.isort]
known-first-party = ["imdb", "qcore", "IM", "workflow", "source_modelling"]
[tool.ruff.lint.per-file-ignores]
# Ignore no docstring in __init__.py
"__init__.py" = ["D104"]
# Ignore docstring errors and fixture annotations in tests folder
"tests/**.py" = ["D", "ANN001"]
[tool.ty.src]
exclude = ["scripts"]
[tool.numpydoc_validation]
checks = [
"GL05",
"GL08",
"GL10",
"PR01",
"PR02",
"PR03",
"PR04",
"PR05",
"PR06",
"PR07",
"RT01",
"RT02",
"RT03",
"RT04",
"YD01",
]
# remember to use single quotes for regex in TOML
exclude = [
'\.__repr__$',
'\.__exit__$',
'\.__enter__$',
# private helpers only need a one-line docstring
'\._[A-Za-z]\w*$',
]