Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
91 lines (82 loc) · 2.18 KB
/
Copy pathpyproject.toml
File metadata and controls
91 lines (82 loc) · 2.18 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
[build-system]
requires = ["hatchling>=1.24"]
build-backend = "hatchling.build"
[project]
name = "beta_stability"
version = "0.1.0"
description = "Beta Stability — stability-driven clustering with active review for wildlife re-identification."
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.11"
dependencies = [
"typing-extensions",
"h5py",
"hdbscan",
"matplotlib",
"networkx",
"numpy",
"omegaconf",
"opencv-python-headless",
"pandas",
"pillow",
"pyyaml",
"scikit-learn",
"scipy",
"tqdm",
]
[project.optional-dependencies]
dev = [
"pytest",
"ruff",
"pytest-cov",
"pytest-subprocess",
"coverage",
"codecov",
"xdoctest",
"brunette",
]
docs = [
"sphinx",
"sphinx-rtd-theme",
]
# Only scripts/reproduce_gzcd.py needs these: the package itself consumes
# embeddings that were computed elsewhere.
embeddings = [
"huggingface-hub",
"torch",
# The model's remote code targets the 4.x API: transformers 5 renamed
# _tied_weights_keys, which MiewIdNet relies on.
"transformers>=4.40,<5",
"albumentations",
"timm",
]
[project.scripts]
beta_stability-cluster = "beta_stability.run:main"
[tool.hatch.build.targets.wheel]
packages = ["beta_stability"]
[tool.hatch.build.targets.sdist]
include = [
"beta_stability",
"README.rst",
"LICENSE",
"pyproject.toml",
]
[tool.uv]
package = true
[tool.ruff]
# Experiment code is not held to the package's standard.
extend-exclude = ["beta_stability/exploratory", "internal"]
[tool.ruff.lint.per-file-ignores]
# These hold families of functions that share one signature so a registry or an
# interface can call them uniformly, which means each one leaves some of its
# parameters unused.
"beta_stability/metrics/cluster_validator.py" = ["ARG001"]
"beta_stability/metrics/cluster_metrics.py" = ["ARG001"]
[tool.ruff.lint]
select = ["F", "E", "W", "B", "C4", "SIM", "RET", "ARG", "PIE", "PERF", "RUF"]
ignore = [
"E501", # line length: brunette owns wrapping
"RUF001", # mathematical symbols in strings, docstrings and
"RUF002", # comments are deliberate: beta, sigma, union
"RUF003",
]