-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
170 lines (150 loc) · 5 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
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
py-modules = ["dashboard", "external", "src", "cv", "run_dashboard", "submit", "train"]
[project]
name = "detect_kelp"
version = "0.0.1"
authors = [
{ name = "Emiel Witting", email = "[email protected]" },
{ name = "Hugo de Heer", email = "[email protected]" },
{ name = "Jasper van Selm", email = "[email protected]" },
{ name = "Jeffrey Lim", email = "[email protected]" },
{ name = "Tolga Kopar", email = "[email protected]" },
]
description = "Team Epoch's solution to the \"Kelp Wanted: Segmenting Kelp Forests\" competition."
license = { file = "LICENSE" }
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
# Machine Learning Basics
"numpy>=1.26.2",
"pandas>=2.1.4",
"scikit-learn>=1.4.0",
"scikit-image>=0.22.0",
"scipy>=1.11.4",
"tqdm>=4.66.1",
"polars>=0.19.19",
# Reading Image Data
"imagecodecs>=2023.9.18",
"Pillow>=10.1.0",
"opencv-python>=4.9.0.80",
"tifffile>=2023.9.26",
# Visualizations
"seaborn>=0.13.0",
"matplotlib>=3.8.2",
"plotly>=5.18.0",
# PyTorch
"torch==2.1.2+cu118",
"torchaudio==2.1.2+cu118",
"torchvision==0.16.2+cu118",
"torch-summary>=1.4.5",
"open-clip-torch>=2.23.0",
"einops>=0.7.0",
"kornia>=0.7.1",
"kornia-rs>=0.0.8",
# Dash
"dash>=2.14.2",
"dash-bootstrap-components>=1.5.0",
"dash-bootstrap-templates>=1.1.1",
"rasterio>=1.3.9",
# Dask
"dask>=2023.12.0",
"dask-glm>=0.3.2",
"dask_image>=2023.8.1",
"dask-ml>=2023.3.24",
"bokeh>=3.3.2",
"distributed>=2023.12.0",
"fsspec>=2023.5.0",
# Pretrained Models
"segmentation-models-pytorch>=0.3.3",
"catboost>=1.2.2",
"sentence-transformers>=2.2.2",
"monai>=1.3.0",
"xgboost>=2.0.3",
"lightgbm>=4.2.0",
# Data Augmentation
"albumentations>=1.3.1",
# Sphinx
"Sphinx>=7.2.6",
"sphinx-autodoc-typehints>=1.25.2",
"sphinxawesome-theme>=5.0.0",
"myst-parser>=2.0.0",
"pygit2>=1.13.3",
# pre-commit & MyPy
"pre-commit>=3.6.0",
"mypy>=1.7.1",
"typing_extensions>=4.9.0",
"annotated-types>=0.6.0",
"pandas-stubs>=2.1.1.230928",
"traitlets>=5.14.1",
# Hydra
"hydra-core>=1.3.2",
# Weights & Biases
"wandb>=0.16.2",
"randomname>=0.2.1",
# Logging
"coloredlogs>=15.0.1",
# Notebooks
"notebook>=7.0.6",
"jupyter>=1.0.0",
"ipykernel>=6.27.1",
# Other
"pyngrok>=7.0.3",
"zarr>=2.16.1",
]
[tool.mypy]
exclude = ["external/", "venv/", ".cache"]
allow_untyped_calls = true
disable_error_code = ["import-untyped"]
python-version = "3.10"
[tool.ruff]
extend-exclude = ["external/*"]
line-length = 175
fix = true
show-fixes = true
select = [
"ALL", # Every check supported by Ruff
]
ignore = [
# pydocstyle (D)
"D203", # 1 blank line required before class docstring
"D213", # Multi-line docstring summary should start at the second line
# eradicate (ERA)
"ERA001", # Found commented-out code
# Pylint (PL)
"PLR0913", # Too many arguments for function
"PLR2004", # Magic value used in comparison, consider replacing with a constant variable
# flake8-annotations (ANN)
"ANN101", # Missing type annotation for self in method
# flake8-errmsg (EM)
"EM101", # Exception must not use a string literal, assign to variable first
"EM102", # Exception must not use an f-string literal, assign to variable first
# flake8-future-annotations (FA)
"FA", # Missing from __future__ import annotations
# flake8-fixme (FIX)
"FIX001", # Line contains FIXME
"FIX002", # Line contains TODO
"FIX003", # Line contains XXX
"FIX004", # Line contains HACK
# pep8-naming (N)
"N803", # Argument name should be lowercase. Variable name "X" is very common in machine learning.
"N806", # Variable in function should be lowercase. Variable name "X" is very common in machine learning.
# flake8-use-pathlib (PTH)
"PTH", # Use pathlib instead of os.path. Dask does not seem to like pathlib.
# flake8-quotes (Q)
"Q000", # Single quotes found but double quotes preferred
# flake8-simplify (SIM)
"SIM108", # Use ternary operator instead of `if`-`else`-block
# flake8-type-checking (TCH)
"TCH001", # Move application import into a type-checking block. Breaks Sphinx autodoc (https://github.com/sphinx-doc/sphinx/issues/11225).
"TCH002", # Move third-party import into a type-checking block. Breaks Sphinx autodoc (https://github.com/sphinx-doc/sphinx/issues/11225).
"TCH003", # Move standard library import into a type-checking block. Breaks Sphinx autodoc (https://github.com/sphinx-doc/sphinx/issues/11225).
# flake8-todos (TD)
"TD003", # Missing issue link on the line following this TODO
# tryceratops (TRY)
"TRY003", # Avoid specifying long messages outside the exception class
]
[tool.ruff.format]
docstring-code-format = true