From 66591c532236aec908e62064e243302be6295945 Mon Sep 17 00:00:00 2001 From: Marko Hinkkanen Date: Thu, 8 Jan 2026 18:04:28 +0200 Subject: [PATCH] Replace .mat file with .npz file in an example --- .pre-commit-config.yaml | 4 ++-- examples/drive/flux_vector/ABB_400rpm_map.mat | Bin 13196 -> 0 bytes examples/drive/flux_vector/ABB_400rpm_map.npz | Bin 0 -> 18658 bytes .../flux_vector/plot_6kw_pmsyrm_sat_fvc.py | 11 +++++------ 4 files changed, 7 insertions(+), 8 deletions(-) delete mode 100644 examples/drive/flux_vector/ABB_400rpm_map.mat create mode 100644 examples/drive/flux_vector/ABB_400rpm_map.npz diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 938763117..9e4b92266 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,7 +8,7 @@ repos: name: pip-audit description: "Audits Python environments and dependency trees for known vulnerabilities" entry: pip-audit - args: [--ignore-vuln, GHSA-4xh5-x5gv-qwph] # pip version 25.2 is the latest available, but has this vulnerability + args: [--ignore-vuln, GHSA-4xh5-x5gv-qwph, --ignore-vuln, CVE-2026-21441] pass_filenames: false language: python @@ -66,7 +66,7 @@ repos: # Pyright - repo: https://github.com/RobertCraigie/pyright-python - rev: v1.1.407 + rev: v1.1.408 hooks: - id: pyright additional_dependencies: [numpy, scipy, matplotlib, tqdm, sphinx-gallery] diff --git a/examples/drive/flux_vector/ABB_400rpm_map.mat b/examples/drive/flux_vector/ABB_400rpm_map.mat deleted file mode 100644 index 023f2e5a4e3dcf2299cbceba6a7e501816c17b1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13196 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