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.
Files changed (95) hide show
  1. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/CMakeLists.txt +1 -1
  2. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/PKG-INFO +1 -1
  3. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/pyproject.toml +1 -1
  4. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/database.cpp +4 -2
  5. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/.github/workflows/ci.yml +0 -0
  6. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/.github/workflows/publish.yml +0 -0
  7. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/.gitignore +0 -0
  8. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/AGENTS.md +0 -0
  9. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/LICENSE +0 -0
  10. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/PyOpenMagnetics.pyi +0 -0
  11. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/README.md +0 -0
  12. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/_packaging/__init__.py +0 -0
  13. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/_packaging/_build_info.py.in +0 -0
  14. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/api/MAS.py +0 -0
  15. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/api/mas_db_reader.py +0 -0
  16. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/api/validation.py +0 -0
  17. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/clear_cibuildwheel_cache.sh +0 -0
  18. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/docs/compatibility.md +0 -0
  19. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/docs/errors.md +0 -0
  20. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/docs/performance.md +0 -0
  21. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/README.md +0 -0
  22. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/buck_inductor.py +0 -0
  23. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/complete_simulation_example.py +0 -0
  24. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/converter_design_example.py +0 -0
  25. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/debug_bobbin.py +0 -0
  26. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/debug_coil.py +0 -0
  27. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/debug_core.py +0 -0
  28. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/debug_plotting.py +0 -0
  29. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_220v_12v_1a.py +0 -0
  30. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_220v_12v_2a_complete.py +0 -0
  31. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_bh_curve.png +0 -0
  32. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_core.png +0 -0
  33. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_design.py +0 -0
  34. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_summary.png +0 -0
  35. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/flyback_waveforms.png +0 -0
  36. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/list_plot_funcs.py +0 -0
  37. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/plot_flyback_design.py +0 -0
  38. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/plot_flyback_pyom.py +0 -0
  39. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/test_field_calc.py +0 -0
  40. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/examples/test_field_plot.py +0 -0
  41. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/force_fresh_build.sh +0 -0
  42. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/llms.txt +0 -0
  43. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/notebooks/01_getting_started.ipynb +0 -0
  44. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/notebooks/02_buck_inductor.ipynb +0 -0
  45. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/notebooks/03_core_losses.ipynb +0 -0
  46. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/notebooks/README.md +0 -0
  47. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/requirements.txt +0 -0
  48. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/advisers.cpp +0 -0
  49. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/advisers.h +0 -0
  50. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/bobbin.cpp +0 -0
  51. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/bobbin.h +0 -0
  52. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/cmc.cpp +0 -0
  53. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/cmc.h +0 -0
  54. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/common.h +0 -0
  55. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/converter.cpp +0 -0
  56. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/converter.h +0 -0
  57. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/core.cpp +0 -0
  58. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/core.h +0 -0
  59. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/crossref.cpp +0 -0
  60. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/crossref.h +0 -0
  61. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/database.h +0 -0
  62. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/logging.cpp +0 -0
  63. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/logging.h +0 -0
  64. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/losses.cpp +0 -0
  65. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/losses.h +0 -0
  66. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/module.cpp +0 -0
  67. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/plotting.cpp +0 -0
  68. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/plotting.h +0 -0
  69. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/settings.cpp +0 -0
  70. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/settings.h +0 -0
  71. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/simulation.cpp +0 -0
  72. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/simulation.h +0 -0
  73. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/utils.cpp +0 -0
  74. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/utils.h +0 -0
  75. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/winding.cpp +0 -0
  76. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/winding.h +0 -0
  77. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/wire.cpp +0 -0
  78. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/src/wire.h +0 -0
  79. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/test.py +0 -0
  80. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/__init__.py +0 -0
  81. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/conftest.py +0 -0
  82. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_converter_endpoints.py +0 -0
  83. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_core.py +0 -0
  84. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_core_adviser.py +0 -0
  85. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_datasheet_only_catalogue.py +0 -0
  86. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_examples_integration.py +0 -0
  87. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_inputs.py +0 -0
  88. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_logging.py +0 -0
  89. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_losses_not_evaluable_catalogue.py +0 -0
  90. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_magnetic_adviser.py +0 -0
  91. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_magnetics_catalogue_load.py +0 -0
  92. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_mas_schema_walk.py +0 -0
  93. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_material_validator.py +0 -0
  94. {pyopenmagnetics-1.7.37 → pyopenmagnetics-1.7.38}/tests/test_plotting.py +0 -0
  95. {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-292dd4c2")
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,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PyOpenMagnetics
3
- Version: 1.7.37
3
+ Version: 1.7.38
4
4
  Summary: Python wrapper for OpenMagnetics
5
5
  Author-Email: Alfonso Martinez <Alfonso_VII@hotmail.com>
6
6
  Classifier: Development Status :: 4 - Beta
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
6
  name = "PyOpenMagnetics"
7
- version = "1.7.37"
7
+ version = "1.7.38"
8
8
  requires-python = ">=3.8"
9
9
  authors = [
10
10
  { name="Alfonso Martinez", email="Alfonso_VII@hotmail.com" },
@@ -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
- json recordJson = json::parse(line);
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(json::parse(line));
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.