-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
170 lines (159 loc) · 4.45 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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
[project]
name = "medmodels"
version = "0.1.2"
description = "Limebit Medmodels Package"
readme = "README.md"
requires-python = ">=3.10"
classifiers = [
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Intended Audience :: Healthcare Industry',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: BSD License',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Operating System :: Unix',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Rust',
'Topic :: Scientific/Engineering',
'Topic :: Software Development',
'Typing :: Typed',
]
dependencies = [
"numpy>=2.0.0",
"pandas>=2.2.2",
"polars[pandas]==1.17.0",
"scikit-learn>=1.5.0",
]
[project.optional-dependencies]
tests = ["pytest>=8.2.2", "coverage>=7.6.1"]
docs = [
"sphinx>=7",
"sphinx-design==0.6.0",
"sphinx-copybutton",
"sphinxext-opengraph~=0.9.0",
"sphinx-pyscript==0.1.0",
"sphinx-tippy>=0.4.3",
"sphinx-togglebutton==0.3.2",
"linkify-it-py>=2.0.0",
"autodocsumm==0.2.12",
"pydata-sphinx-theme==0.15.4",
"sphinx-autosummary-accessors==2023.4.0",
"sphinx-autodoc-typehints==2.2.3",
"sphinx-copybutton==0.5.2",
"sphinx-design==0.6.0",
"sphinx-favicon==1.0.1",
"sphinx-reredirects==0.1.4",
"sphinx-toolbox==3.6.0",
"myst-parser==3.0.1",
"livereload==2.7.0",
"sphinx-multiversion==0.2.4",
]
dev = [
"medmodels[docs, tests]",
"maturin>=1.6.0",
"ruff>=0.4.9",
"py-spy",
"pyright>=1.1.370,<1.1.374",
"pandas-stubs>=2.2.2.240603",
]
[build-system]
requires = ["maturin>=1.6.0", "setuptools"]
build-backend = "maturin"
[tool.maturin]
features = ["pyo3/extension-module"]
exclude = ["tests", "examples"]
manifest-path = "rustmodels/Cargo.toml"
module-name = "medmodels._medmodels"
[tool.ruff]
exclude = [
"__pycache__",
".git",
".github",
".pytest_cache",
".ruff_cache",
".venv",
]
line-length = 88
[tool.ruff.lint]
select = [
"E", # PEP 8 codestyle errors
"F", # pyflakes
"I", # isort
"N", # PEP 8 naming
"DOC", # Pydoc Linting (preview); complementary to "D"
"D", # Pydoc Style; PEP 257
"FA", # future annotations linting; PEP 563
"W", # pycodestyle warnings; PEP 8
"SIM", # flake8 simplify; simplify code
"ANN", # flake8 function annotations; PEP 3107
"B", # bugbear extension for flake8; opinionated, not based on any PEP
"C4", # list/set/dict comprehensions
"T10", # Check for debugging leftovers: pdb;idbp imports and set traces
"EM", # error messages
"LOG", # logging module usage linting
"G", # logging format strings
"T20", # print statements
"PYI", # lint stub files .pyi
"PT", # pytest linting
"RET", # return values
"TCH", # type checking
"PTH", # pathlib usage
"PERF", # performance linting
"FURB", # modern python code patterns
"RUF", # ruff specific rules
"FBT", # no bool as function param
"TD", # todo linting
"C90", # mccabe complexity
]
preview = true
ignore = [
"E501", # Line length managed by formatter
# indentation linters conflicting with formatter:
"W191",
"E111",
"E114",
"E117",
"D206",
# quotation linters conflicting with formatter:
"D300",
"Q000",
"Q001",
"Q002",
"Q003",
# comma linters conflicting with formatter:
"COM812",
"COM819",
# string concatenation linters conflicting with formatter:
"ISC001",
"ISC002",
]
[tool.ruff.lint.per-file-ignores]
"*/tests/*" = ["D", "DOC"]
"*/__init__.py" = ["D", "DOC"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.pycodestyle]
max-doc-length = 88
[tool.ruff.format]
docstring-code-format = true
docstring-code-line-length = 88
[tool.pyright]
typeCheckingMode = "strict"
reportPrivateUsage = false
reportIncompatibleMethodOverride = false
reportUnknownArgumentType = false
reportUnknownVariableType = false
reportUnknownMemberType = false
reportMissingModuleSource = false
reportMissingTypeStubs = false
enableTypeIgnoreComments = false
[tool.pytest]
python_files = "test_*.py"