-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathpyproject.toml
150 lines (129 loc) · 3.44 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
[build-system]
requires = [
"setuptools >= 61.0",
"wheel",
"setuptools-scm[toml]>=6.0"
]
build-backend = "setuptools.build_meta"
[tool.setuptools]
packages = ["tubular"]
[tool.setuptools_scm]
# can be empty if no extra settings are needed, presence enables setuptools_scm
[project]
name = "tubular"
dynamic = ["version"]
dependencies = [
"pandas>=1.5.0",
"scikit-learn>=1.2.0",
"narwhals >= 1.21.1",
"polars >= 1.9.0",
"beartype >= 0.19.0",
]
requires-python = ">=3.9"
authors = [{ name = "LV GI Data Science Team", email="#[email protected]"}]
description = "Package to perform pre processing steps for machine learning models"
readme = {file = "README.md", content-type = "text/markdown"}
license = {file = "LICENSE"}
keywords = ["data science", "feature engineering", "data transforms", "pipeline", "sklearn", "machine learning", "ML", "DS"]
classifiers=[
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
"License :: OSI Approved :: BSD License",
]
[project.optional-dependencies]
dev = [
"test-aide>=0.1.0",
"pytest>=5.4.1",
"pytest-mock>=3.5.1",
"pyarrow>=17.0.0",
"pytest-cov>=2.10.1",
"pre-commit==2.15.0",
"ruff==0.2.2",
]
[project.urls]
Documentation = "https://tubular.readthedocs.io/en/latest/index.html"
Repository = "https://github.com/lvgig/tubular"
Issues = "https://github.com/lvgig/tubular/issues"
Changelog = "https://github.com/lvgig/tubular/CHANGELOG.md"
[tool.ruff]
# Same as Black.
line-length = 88
# Assume Python 3.9.
target-version = "py39"
[tool.ruff.lint]
# Enable the pycodestyle (`E`) and Pyflakes (`F`) rules by default.
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
# McCabe complexity (`C901`) by default.
select = [
"A",
"ANN",
"ASYNC",
"B", # bugbear
"C4",
"COM",
"DTZ",
"E", # pycodestyle
"EM",
"F", # Pyflakes
"FA",
"FLY",
"I",
"INT",
"ISC",
"NPY",
"PD",
"PERF",
"PGH",
"PIE",
"PLC",
"PLE",
"PLW",
"PYI",
"Q",
"RET",
"RSE",
"S", # Bandit
"SIM",
"SLOT",
"T10",
"TCH",
"TID",
"UP",
"W", # pycodestyle warnings
"YTT",
]
# Enabled to allow direct type comparisons using is and is not under E721 (see https://docs.astral.sh/ruff/rules/type-comparison/)
preview = true
ignore = [
"E501", # ignore E501 - linelength limit (covered by black except in docstrings)
"PD901", # and PD901 - use of df variable name
"ANN101",
"B905", # the below two rules seem to make changes that error for python3.9
"UP038",
]
# Allow autofix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
# Exclude a variety of commonly ignored directories.
exclude = [".git", "__pycache__", "build", "dist", "source"]
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
# Ignore `E402` (import violations) in all `__init__.py` file.
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["E402", "F401"]
"tests/*" = ["ANN", "S101"]
[tool.ruff.lint.pyupgrade]
keep-runtime-typing=true
[tool.coverage.run]
branch = true
include = ["tubular/*"]
omit = [
"tests/*",
]
[tool.coverage.report]
show_missing = true
fail_under = 80