-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathpyproject.toml
More file actions
131 lines (119 loc) · 3.79 KB
/
pyproject.toml
File metadata and controls
131 lines (119 loc) · 3.79 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
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
[build-system]
requires = ["hatchling>=1.27.0"]
build-backend = "hatchling.build"
[project]
authors = [
{ name = "Idan Morad", email = "idanmorad.arthas@gmail.com" },
]
name = "data_science_utils"
dynamic = ["version"]
description = "Data Science Utils extends the Scikit-Learn API and Matplotlib API to provide simple methods that simplify tasks and visualizations for data science projects."
license = { text = "MIT" }
requires-python = ">=3.11"
readme = "README.md"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Framework :: tox",
"Framework :: Matplotlib",
"Framework :: Pytest",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Utilities"
]
keywords = ["data-science", "utilities", "python", "machine-learning", "scikit-learn", "matplotlib", "plotly"]
dependencies = [
"numpy>=1.26.3",
"scipy>=1.11.4",
"pandas>=3.0.0",
"matplotlib>=3.10.6",
"seaborn>=0.12.2",
"scikit-learn>=1.2.2",
"pydotplus>=2.0.2",
"joblib>=1.2.0",
"plotly>=6.1.1"
]
[project.urls]
Homepage = "https://github.com/idanmoradarthas/DataScienceUtils"
Documentation = "https://datascienceutils.readthedocs.io/en/latest/"
Issues = "https://github.com/idanmoradarthas/DataScienceUtils/issues"
Repository = "https://github.com/idanmoradarthas/DataScienceUtils.git"
Changelog = "https://github.com/idanmoradarthas/DataScienceUtils/blob/master/CHANGELOG.md"
[tool.hatch.build.targets.wheel]
packages = ["ds_utils"]
[tool.hatch.version]
path = "ds_utils/__init__.py"
[project.optional-dependencies]
test = [
"pyarrow==23.0.1",
"pytest==9.0.3",
"pytest-mock==3.15.1",
"pytest-cov==7.1.0",
"pytest-xdist==3.8.0",
"pytest-mpl==0.19.0",
"kaleido==1.2.0",
"ruff==0.15.11"
]
dev = [
"build==1.4.3",
"twine==6.2.0",
]
nlp = [
"sentence-transformers>=3.0.0",
]
[dependency-groups]
dev = [
"pyarrow==23.0.1",
"pytest==9.0.3",
"pytest-mock==3.15.1",
"pytest-cov==7.1.0",
"pytest-xdist==3.8.0",
"pytest-mpl==0.19.0",
"kaleido==1.2.0",
"ruff==0.15.11",
"build==1.4.3",
"twine==6.2.0",
]
[tool.ruff]
line-length = 120
# Assume Python 3.11 for now, can be made dynamic if necessary an or match project minimum.
target-version = "py311"
[tool.ruff.lint]
# Extend Ruff's recommended rule set
extend-select = [
"D", # flake8-docstrings
"PT", # flake8-pytest-style
]
# Enable Pyflakes and pycodestyle rules by default.
# For a full list of available rules, see:
# https://docs.astral.sh/ruff/rules/
select = ["E", "F", "W"] # Base set: pycodestyle errors, Pyflakes, pycodestyle warnings
ignore = [
"D203", # one-blank-line-before-class (conflicts with D211)
"D213", # multi-line-summary-second-line (conflicts with D212)
]
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"
# Like Black, indent with spaces, rather than tabs.
indent-style = "space"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"
[tool.ruff.lint.isort]
# Sort imports within sections alphabetically.
# Ensure that from imports are grouped together.
force-sort-within-sections = true
# Combine as imports when sorting.
combine-as-imports = true
# Known first party imports (your project's modules)
known-first-party = ["ds_utils", "tests"]