| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| anomalib-2.3.3-py3-none-any.whl | 2026-04-10 | 905.4 kB | |
| anomalib-2.3.3-py3-none-any.whl.publish.attestation | 2026-04-10 | 9.4 kB | |
| anomalib-2.3.3.tar.gz | 2026-04-10 | 620.0 kB | |
| anomalib-2.3.3.tar.gz.publish.attestation | 2026-04-10 | 9.4 kB | |
| README.md | 2026-04-10 | 5.4 kB | |
| Release Anomalib Library v2.3.3 source code.tar.gz | 2026-04-10 | 19.2 MB | |
| Release Anomalib Library v2.3.3 source code.zip | 2026-04-10 | 20.1 MB | |
| Totals: 7 Items | 40.9 MB | 1 | |
What's Changed
Changed
- š§ path: Move pre-trained model downloads to platform-specific cache directories and add deprecation warnings for legacy local
./datasets/<dataset>roots by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3461 - š§ deps: Update
mlflowto v3.11.1 for security hardening by @oep-renovate[bot] in https://github.com/open-edge-platform/anomalib/pull/3517 - š¤ agents: Add skills and copilot instructions by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3524
Fixed
- š data: Use enum
.valuefor pandas >= 3.0 DataFrame compatibility by @Lidang-Jiang in https://github.com/open-edge-platform/anomalib/pull/3
New Contributors
- @Lidang-Jiang made their first contribution in https://github.com/open-edge-platform/anomalib/pull/3512
Full Changelog: https://github.com/open-edge-platform/anomalib/compare/lib/v2.3.2...lib/v2.3.3
API Changes
1. Pre-trained model downloads now use platform-specific cache directories
Anomalib now stores downloaded pre-trained assets under the platform-appropriate cache directory instead of ./pre_trained for built-in loaders that fetch model weights automatically.
This affects:
DinoV2LoaderDsr.prepare_pretrained_model()EfficientAd.prepare_pretrained_model()
Before (v2.3.3):
:::python
from pathlib import Path
weights_dir = Path("./pre_trained")
After (v2.3.3):
:::python
from anomalib.utils.path import get_pretrained_weights_dir
weights_dir = get_pretrained_weights_dir() # defaults to (eg linux: `~/.cache/anomalib/pre_trained`)
[!NOTE] No code changes are required unless your workflow depended on downloaded weights appearing under
./pre_trained.
2. Legacy dataset roots now emit deprecation warnings
PR: #3461
Datamodules that historically used ./datasets/<dataset_name> as the default root now warn that this legacy location will move to the platform cache directory in v2.6.0.
The legacy path still works in v2.3.3, but new code should prefer anomalib.utils.path.get_datasets_dir().
Current (v2.3.3 and below):
:::python
from anomalib.data import MVTecAD
datamodule = MVTecAD() # defaults to `"./datasets/MVTecAD"`
After (v2.6.0):
:::python
from anomalib.data import MVTecAD
from anomalib.utils.path import get_datasets_dir
datamodule = MVTecAD() # defaults to (eg linux: `~/.cache/anomalib/datasets/MVTecAD`)
Backward compatibility: Existing
./datasets/...paths still work in v2.3.3. They now emit a warning to help users migrate before the default location changes in v2.6.0.
š Compatibility Fixes
Pandas 3.0 enum comparisons
PR: #3512
Pandas 3.0 preserves string-backed enum objects differently in DataFrames, which can break direct comparisons against enum members. Anomalib now compares against .value in dataset construction utilities.
If you maintain custom dataset code following the same pattern, update enum comparisons accordingly.
Before (can fail on pandas 3.0):
:::python
samples = samples[samples.label == DirType.NORMAL]
samples = samples[samples.split == Split.TEST]
After:
:::python
samples = samples[samples.label == DirType.NORMAL.value]
samples = samples[samples.split == Split.TEST.value]
What's Changed
- chore(lib): update version and fix release workflow by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3507
- fix(github-actions): Sidecar dependacies installation fix by @ActiveChooN in https://github.com/open-edge-platform/anomalib/pull/3495
- fix(data): use enum .value for pandas >= 3.0 DataFrame compatibility by @Lidang-Jiang in https://github.com/open-edge-platform/anomalib/pull/3512
- chore(deps): update dependency mlflow to v3.11.1 [security] by @oep-renovate[bot] in https://github.com/open-edge-platform/anomalib/pull/3517
- chore(deps): update dependency vite [security] by @oep-renovate[bot] in https://github.com/open-edge-platform/anomalib/pull/3514
- fix(CI): update uv lock by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3518
- chore(ci): pin dependencies and remove unused workflow by @AlexanderBarabanov in https://github.com/open-edge-platform/anomalib/pull/3519
- ci(precommit): add gitleaks by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3521
- fix(path): use cache dir for dataset and pre-trained models by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3461
- fix(security): upgrade loadash-es by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3525
- feat(agents): add skills and copilot instructions by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3524
- chore(lib): prepare patch release by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3526
New Contributors
- @Lidang-Jiang made their first contribution in https://github.com/open-edge-platform/anomalib/pull/3512
Full Changelog: https://github.com/open-edge-platform/anomalib/compare/lib/v2.3.2...lib/v2.3.3