| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| anomalib-2.6.2-py3-none-any.whl | 2026-09-11 | 1.0 MB | |
| anomalib-2.6.2-py3-none-any.whl.publish.attestation | 2026-09-11 | 10.2 kB | |
| anomalib-2.6.2.tar.gz | 2026-09-11 | 714.5 kB | |
| anomalib-2.6.2.tar.gz.publish.attestation | 2026-09-11 | 10.3 kB | |
| README.md | 2026-09-11 | 3.4 kB | |
| Release Anomalib Library v2.6.2 source code.tar.gz | 2026-09-11 | 21.5 MB | |
| Release Anomalib Library v2.6.2 source code.zip | 2026-09-11 | 22.5 MB | |
| Totals: 7 Items | 45.8 MB | 0 | |
What's Changed
Changed
- ⚠️ data:
Tabular.from_file()now only acceptscsv,json, andparquet;pickle,hdf, and other pandas readers that can execute code are rejected. Load those formats yourself and pass a DataFrame toTabular(...)by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3782
Full Changelog: https://github.com/open-edge-platform/anomalib/compare/lib/v2.6.1...lib/v2.6.2
API Changes
Breaking behavior: Tabular.from_file() file formats
Tabular.from_file() previously forwarded file_format to any pandas.read_* method. It now allowlists data-only readers so that loading a table cannot execute arbitrary code during deserialization.
| Before (unsupported now) | After |
|---|---|
Tabular.from_file(..., file_format="pickle") |
Load the file yourself, then pass a DataFrame to Tabular(...) |
Tabular.from_file(..., file_format="hdf") / "hdf5" / "h5" |
Same as above |
Any other pandas.read_* format |
Same as above |
csv, json, parquet (case-insensitive; inferred from the suffix when omitted) |
Unchanged |
:::python
# Still supported
from anomalib.data import Tabular
datamodule = Tabular.from_file(
name="custom",
file_path="./samples.csv", # or .json / .parquet
root="./datasets/custom",
)
# pickle / hdf are rejected
# Tabular.from_file(name="custom", file_path="./samples.pkl") # ValueError
# Load unsafe formats yourself, then construct Tabular
import pandas as pd
samples = pd.read_pickle("./samples.pkl") # caller is responsible for file trust
datamodule = Tabular(name="custom", samples=samples, root="./datasets/custom")
## What's Changed
* feat(data): Use temporary workspace folder for anomalib artifacts by @warrkan in https://github.com/open-edge-platform/anomalib/pull/3771
* chore(lib): bump to dev by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3777
* feat(ui): geti-ui migration - p4 by @camiloHimura in https://github.com/open-edge-platform/anomalib/pull/3776
* fix(data): restrict Tabular.from_file to safe pandas readers by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3782
* fix(ci): bump twine to 7.0.0 to support metadata-version 2.5 by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3787
* feat(ui): UI/UX project setup - P1 by @camiloHimura in https://github.com/open-edge-platform/anomalib/pull/3784
* chore(deps): update dependency mlflow to v3.16.0 [security] by @oep-renovate[bot] in https://github.com/open-edge-platform/anomalib/pull/3778
* chore(deps): update dependency vitest to v4 [security] by @oep-renovate[bot] in https://github.com/open-edge-platform/anomalib/pull/3789
* chore(deps): update dependency js-yaml to v4.3.2 [security] by @oep-renovate[bot] in https://github.com/open-edge-platform/anomalib/pull/3788
* fix(deps): npm audit fixes [security] by @oep-renovate[bot] in https://github.com/open-edge-platform/anomalib/pull/3779
* chore(release): prepare 2.6.2 release by @ashwinvaidya17 in https://github.com/open-edge-platform/anomalib/pull/3790
**Full Changelog**: https://github.com/open-edge-platform/anomalib/compare/lib/v2.6.1...lib/v2.6.2