PyOpenMagnetics 1.7.37__tar.gz → 1.7.38__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/CMakeLists.txt +1 -1
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/PKG-INFO +1 -1
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/pyproject.toml +1 -1
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/database.cpp +4 -2
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/.github/workflows/ci.yml +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/.github/workflows/publish.yml +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/.gitignore +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/AGENTS.md +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/LICENSE +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/PyOpenMagnetics.pyi +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/README.md +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/_packaging/__init__.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/_packaging/_build_info.py.in +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/api/MAS.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/api/mas_db_reader.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/api/validation.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/clear_cibuildwheel_cache.sh +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/docs/compatibility.md +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/docs/errors.md +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/docs/performance.md +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/README.md +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/buck_inductor.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/complete_simulation_example.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/converter_design_example.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/debug_bobbin.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/debug_coil.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/debug_core.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/debug_plotting.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_220v_12v_1a.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_220v_12v_2a_complete.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_bh_curve.png +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_core.png +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_design.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_summary.png +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_waveforms.png +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/list_plot_funcs.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/plot_flyback_design.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/plot_flyback_pyom.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/test_field_calc.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/test_field_plot.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/force_fresh_build.sh +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/llms.txt +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/notebooks/01_getting_started.ipynb +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/notebooks/02_buck_inductor.ipynb +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/notebooks/03_core_losses.ipynb +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/notebooks/README.md +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/requirements.txt +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/advisers.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/advisers.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/bobbin.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/bobbin.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/cmc.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/cmc.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/common.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/converter.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/converter.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/core.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/core.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/crossref.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/crossref.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/database.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/logging.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/logging.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/losses.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/losses.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/module.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/plotting.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/plotting.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/settings.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/settings.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/simulation.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/simulation.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/utils.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/utils.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/winding.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/winding.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/wire.cpp +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/wire.h +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/test.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/__init__.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/conftest.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_converter_endpoints.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_core.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_core_adviser.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_datasheet_only_catalogue.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_examples_integration.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_inputs.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_logging.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_losses_not_evaluable_catalogue.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_magnetic_adviser.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_magnetics_catalogue_load.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_mas_schema_walk.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_material_validator.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_plotting.py +0 -0
- {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_winding.py +0 -0
|
@@ -142,7 +142,7 @@ if(NOT LOCAL_MKF_MAS)
|
|
|
142
142
|
set(MKF_GIT_TAG "main"
|
|
143
143
|
CACHE STRING "MKF git ref for the vendored PyOM build")
|
|
144
144
|
# Force fresh clone by using a unique timestamp - update this when the pin changes
|
|
145
|
-
set(MKF_FORCE_REFRESH "2026-10-28-mkf-
|
|
145
|
+
set(MKF_FORCE_REFRESH "2026-10-28-mkf-619fa558")
|
|
146
146
|
# Tell MKF to disable matplotplusplus and use SVG-based Painter instead
|
|
147
147
|
set(INCLUDE_PYMKF ON CACHE BOOL "Build Python interface" FORCE)
|
|
148
148
|
# GIT_SUBMODULES_RECURSE pulls in CAS/PEAS (added 2026-04 alongside the
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#include "database.h"
|
|
2
|
+
#include "support/FastJsonParse.h"
|
|
2
3
|
#include <sstream>
|
|
3
4
|
|
|
4
5
|
namespace PyMKF {
|
|
@@ -216,7 +217,8 @@ std::string magnetic_cache_key(const OpenMagnetics::Magnetic& magnetic) {
|
|
|
216
217
|
}
|
|
217
218
|
|
|
218
219
|
std::pair<std::string, OpenMagnetics::Magnetic> read_magnetic_line(const std::string& line, bool expand) {
|
|
219
|
-
|
|
220
|
+
// simdjson parses the catalogue line into the same nlohmann::json tree json::parse builds.
|
|
221
|
+
json recordJson = OpenMagnetics::parse_json_fast(line.data(), line.size());
|
|
220
222
|
OpenMagnetics::Magnetic magnetic(recordJson);
|
|
221
223
|
if (expand) {
|
|
222
224
|
magnetic = OpenMagnetics::magnetic_autocomplete(magnetic);
|
|
@@ -262,7 +264,7 @@ std::vector<std::pair<std::string, OpenMagnetics::Magnetic>> stage_magnetics(std
|
|
|
262
264
|
catch (const std::exception& e) {
|
|
263
265
|
std::string reference;
|
|
264
266
|
try {
|
|
265
|
-
reference = reference_hint(
|
|
267
|
+
reference = reference_hint(OpenMagnetics::parse_json_fast(line.data(), line.size()));
|
|
266
268
|
}
|
|
267
269
|
catch (const std::exception&) {
|
|
268
270
|
// The line is not even json; the location alone identifies it.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_losses_not_evaluable_catalogue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|