Skip to content

Commit 9e911f2

Browse files
authored
Chore(Next-Gen): enable pre-commits for CAREamistV2 (#833)
## Description Following #827, this PR enables pre-commit hooks for `CAREamistV2` and attempts to solve the errors. Note that there is something fishy with the use of `TypeVar` that `mypy` disagrees with: ```python src/careamics/careamist_v2.py:128: error: Argument 1 to "_load_model" of "CAREamistV2" has incompatible type "NGConfiguration[CAREAlgorithm] | Path | None"; expected "NGConfiguration[AlgorithmConfig] | Path | None" [arg-type] src/careamics/careamist_v2.py:128: error: Argument 1 to "_load_model" of "CAREamistV2" has incompatible type "NGConfiguration[N2NAlgorithm] | Path | None"; expected "NGConfiguration[AlgorithmConfig] | Path | None" [arg-type] src/careamics/careamist_v2.py:128: error: Argument 1 to "_load_model" of "CAREamistV2" has incompatible type "NGConfiguration[N2VAlgorithm] | Path | None"; expected "NGConfiguration[AlgorithmConfig] | Path | None" [arg-type] Found 3 errors in 1 file (checked 1 source file) ``` One way to solve it to redefine `AlgorithmConfig` in the same module, rather than importing it. It seems that allows "bounding" the type to the functions it is used in. But it would be annoying to have to redefine the generics in every module. I decided to just ignore it for now for two reasons: - #817 introduces a validator that may improve the situation - Maybe pyright (#698) will be better suited
1 parent 8a67cf6 commit 9e911f2

4 files changed

Lines changed: 162 additions & 178 deletions

File tree

.pre-commit-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ repos:
1717
rev: v0.15.4
1818
hooks:
1919
- id: ruff
20-
exclude: "^docs/.*|^src/careamics/lvae_training/.*|^src/careamics/models/lvae/.*|^scripts/.*|^src/careamics/careamist_v2.py|^src/careamics/dataset_ng/demos/.*"
20+
exclude: "^docs/.*|^src/careamics/lvae_training/.*|^src/careamics/models/lvae/.*|^scripts/.*|^src/careamics/dataset_ng/demos/.*"
2121

2222
- repo: https://github.com/psf/black-pre-commit-mirror
2323
rev: 26.1.0
@@ -30,7 +30,7 @@ repos:
3030
hooks:
3131
- id: mypy
3232
files: "^src/"
33-
exclude: "^docs/.*|^src/careamics/lvae_training/.*|^src/careamics/models/lvae/.*|^src/careamics/config/likelihood_model.py|^src/careamics/losses/loss_factory.py|^src/careamics/losses/lvae/losses.py|^src/careamics/careamist_v2.py"
33+
exclude: "^docs/.*|^src/careamics/lvae_training/.*|^src/careamics/models/lvae/.*|^src/careamics/config/likelihood_model.py|^src/careamics/losses/loss_factory.py|^src/careamics/losses/lvae/losses.py"
3434
args: ["--config-file", "mypy.ini"]
3535
additional_dependencies:
3636
- numpy
@@ -44,7 +44,7 @@ repos:
4444
rev: v1.10.0
4545
hooks:
4646
- id: numpydoc-validation
47-
exclude: "^tests/.*|^docs/.*|^src/careamics/lvae_training/.*|^src/careamics/models/lvae/.*|^src/careamics/losses/lvae/.*|^scripts/.*|^src/careamics/careamist_v2.py|^src/careamics/lightning/dataset_ng/data_module.py"
47+
exclude: "^tests/.*|^docs/.*|^src/careamics/lvae_training/.*|^src/careamics/models/lvae/.*|^src/careamics/losses/lvae/.*|^scripts/.*"
4848
# data_module: overloads and config params (val_percentage etc.) don't match signature; see https://github.com/numpy/numpydoc/issues/559
4949

5050
# # jupyter linting and formatting

docs/v0.1/lightning_api/basic_usage.py

Lines changed: 0 additions & 74 deletions
This file was deleted.

pyproject.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,6 @@ convention = "numpy"
139139
[tool.ruff.lint.per-file-ignores]
140140
"tests/*.py" = ["D", "S"]
141141
"setup.py" = ["D"]
142-
"src/careamics/lightning/dataset_ng/data_module.py" = ["D418"]
143-
# temporarily ignore docstrings in next generation dataset development
144142

145143
[tool.black]
146144
line-length = 88

0 commit comments

Comments
 (0)