Download Latest Version Release Anomalib Library v2.4.2 source code.tar.gz (20.8 MB)
Email in envelope

Get an email when there's a new version of Anomalib

Home / lib_v2.3.3
Name Modified Size InfoDownloads / 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

Fixed

New Contributors

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:

  • DinoV2Loader
  • Dsr.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

New Contributors

Full Changelog: https://github.com/open-edge-platform/anomalib/compare/lib/v2.3.2...lib/v2.3.3

Source: README.md, updated 2026-04-10