-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathpyproject.toml
More file actions
115 lines (106 loc) · 2.59 KB
/
pyproject.toml
File metadata and controls
115 lines (106 loc) · 2.59 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
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "s2and"
version = "0.1.0"
description = "S2AND"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [{ name = "Sergey Feldman, Daniel King, Shivashankar Subramanian" }]
# --- Runtime dependencies ---
dependencies = [
"awscli",
"fasttext-wheel>=0.9.2",
"pycld2>=0.41",
"scikit-learn==1.7.1",
"text-unidecode==1.3",
"requests>=2.28,<3",
"hyperopt @ git+https://github.com/hyperopt/hyperopt.git",
"pandas>=1.5,<2.2",
"lightgbm==3.2.1",
"fastcluster>=1.2.6,<2",
"genieclust>=1.1.4,<2",
"matplotlib>=3.7,<3.9",
"seaborn>=0.12,<0.14",
"tqdm>=4.64,<5",
"strsimpy>=0.2,<0.3",
"jellyfish>=0.9,<2",
"numpy>=1.24,<2",
"orjson>=3.9,<4",
"shap",
"sinonym>=0.2.0",
# Backport only for older Pythons; not needed on 3.11+
'importlib-metadata>=4.13; python_version < "3.10"',
"awscli",
]
[project.optional-dependencies]
dev = [
# Test stack
"pytest==8.4.1",
"pytest-cov>=4,<6",
# Type checking
"mypy>=1.5.1",
# Linters/formatters
"black==24.8.0",
"flake8>=6,<8", # or prefer ruff below
"ruff>=0.4,<0.7",
# CLI helpers used in some repos
"click>=8,<9",
"ipykernel",
]
[tool.setuptools.packages.find]
include = ["s2and*"]
# ---- Tooling config ----
[tool.black]
line-length = 120
target-version = ["py311"]
[tool.pytest.ini_options]
minversion = "7.0"
testpaths = ["tests"]
# (Optional) Ruff config if you use it instead of flake8
[tool.ruff]
line-length = 120
target-version = "py311"
select = ["E","F","I","UP","B"]
ignore = []
# If you keep flake8, you can mirror the same line length:
[tool.flake8]
max-line-length = 120
# ------------------------
# If you must replicate the *exact* legacy pins you sent, use this block instead
# of the loosened dependencies above (comment out the dependencies list above and
# paste these into it). This is *not* recommended long-term:
#
# "scikit-learn==1.2.2",
# "text-unidecode==1.3",
# "requests==2.24.0",
# "hyperopt==0.2.4",
# "pandas>=1.2",
# "lightgbm==3.0.0",
# "fastcluster==1.2.6",
# "genieclust==1.1.4",
# "matplotlib==3.7.1",
# "seaborn==0.12.2",
# "tqdm==4.49.0",
# "strsimpy==0.2.0",
# "jellyfish==0.8.2",
# "numpy==1.24.3",
# "orjson",
# "shap",
# "sinonym",
# 'importlib-metadata==4.13.0; python_version < "3.10"',
# "click>=7.1.2",
#
# And dev tools (old pins):
# dev = [
# "pytest==8.4.1",
# "pytest-cov==2.10.1",
# "flake8==3.8.3",
# "black==22.3.0",
# "mypy>=1.5.1",
# 'importlib-metadata==4.13.0; python_version < "3.10"',
# "click>=7.1.2",
# ]
# ------------------------