physure 0.2.4__tar.gz → 0.3.0__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 (405) hide show
  1. {physure-0.2.4 → physure-0.3.0}/Cargo.lock +1 -8
  2. {physure-0.2.4 → physure-0.3.0}/Cargo.toml +6 -4
  3. {physure-0.2.4 → physure-0.3.0}/PKG-INFO +1 -1
  4. {physure-0.2.4 → physure-0.3.0}/physure/__init__.py +3 -7
  5. {physure-0.2.4 → physure-0.3.0}/physure/_core.pyi +32 -35
  6. physure-0.3.0/physure/_generated_types.py +6 -0
  7. physure-0.3.0/physure/_jit/__init__.py +4 -0
  8. {physure-0.2.4 → physure-0.3.0}/physure/_jit/tracer.py +1 -50
  9. {physure-0.2.4 → physure-0.3.0}/physure/application/factories.py +2 -42
  10. {physure-0.2.4 → physure-0.3.0}/physure/application/functions/functions.py +2 -2
  11. physure-0.3.0/physure/application/jit.py +59 -0
  12. physure-0.3.0/physure/application/parsing.py +46 -0
  13. {physure-0.2.4 → physure-0.3.0}/physure/application/startup.py +15 -193
  14. {physure-0.2.4 → physure-0.3.0}/physure/application/tracing/context.py +4 -23
  15. physure-0.3.0/physure/backends/affine.py +86 -0
  16. {physure-0.2.4 → physure-0.3.0}/physure/backends/jax_backend.py +6 -61
  17. {physure-0.2.4 → physure-0.3.0}/physure/backends/torch/autograd_store.py +2 -7
  18. {physure-0.2.4 → physure-0.3.0}/physure/backends/torch_backend.py +7 -7
  19. {physure-0.2.4 → physure-0.3.0}/physure/core/dispatcher.py +23 -0
  20. physure-0.3.0/physure/core/functional.py +285 -0
  21. {physure-0.2.4 → physure-0.3.0}/physure/core/registry.py +48 -33
  22. physure-0.3.0/physure/core/registry.pyi +13257 -0
  23. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/_arithmetic_mixin.py +127 -128
  24. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/base_entity.py +26 -3
  25. physure-0.3.0/physure/domain/measurement/conversion_plan.py +93 -0
  26. physure-0.3.0/physure/domain/measurement/definitions_text.py +169 -0
  27. physure-0.3.0/physure/domain/measurement/dimensions.py +302 -0
  28. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/quantity.py +53 -119
  29. physure-0.3.0/physure/domain/measurement/quantity_text.py +50 -0
  30. physure-0.3.0/physure/domain/measurement/system.py +241 -0
  31. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/uncertainty.py +55 -0
  32. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/units.py +127 -254
  33. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/vectorized_uncertainty.py +1 -78
  34. {physure-0.2.4 → physure-0.3.0}/physure/domain/symbolic/expression.py +3 -3
  35. {physure-0.2.4 → physure-0.3.0}/physure/domain/symbolic/quantity.py +4 -2
  36. {physure-0.2.4 → physure-0.3.0}/physure/domain/symbolic/tracer.py +25 -0
  37. {physure-0.2.4 → physure-0.3.0}/physure/ext/chemistry/equivalency.py +6 -2
  38. {physure-0.2.4 → physure-0.3.0}/physure/ext/chemistry/species.py +2 -1
  39. {physure-0.2.4 → physure-0.3.0}/physure/ext/chemistry/thermo_kinetics.py +6 -2
  40. {physure-0.2.4 → physure-0.3.0}/physure/ext/currency.py +3 -4
  41. physure-0.3.0/physure/infrastructure/config/systems/international.conf +9 -0
  42. {physure-0.2.4 → physure-0.3.0}/physure/module.py +2 -2
  43. {physure-0.2.4 → physure-0.3.0}/physure/scripts/generate_types.py +20 -14
  44. physure-0.3.0/physure/units/__init__.py +30 -0
  45. physure-0.3.0/physure/units/__init__.pyi +13240 -0
  46. {physure-0.2.4 → physure-0.3.0}/physure-core/Cargo.toml +1 -0
  47. {physure-0.2.4 → physure-0.3.0}/physure-core/benches/core_benchmarks.rs +18 -15
  48. {physure-0.2.4 → physure-0.3.0}/physure-core/src/lib.rs +1 -1
  49. {physure-0.2.4 → physure-0.3.0}/physure-core/src/quantity.rs +212 -32
  50. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/gaussian.rs +5 -0
  51. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/moments.rs +5 -0
  52. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/monte_carlo.rs +2 -0
  53. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/trait_def.rs +4 -0
  54. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/unscented.rs +2 -0
  55. {physure-0.2.4 → physure-0.3.0}/physure-core/src/units/conf.rs +209 -37
  56. physure-0.3.0/physure-core/src/units/exact.rs +423 -0
  57. {physure-0.2.4 → physure-0.3.0}/physure-core/src/units/mod.rs +4 -6
  58. {physure-0.2.4 → physure-0.3.0}/physure-core/src/units/parser.rs +61 -32
  59. {physure-0.2.4 → physure-0.3.0}/physure-core/src/units/physure.conf +269 -238
  60. {physure-0.2.4 → physure-0.3.0}/physure-core/src/units/rational.rs +219 -5
  61. physure-0.3.0/physure-core/src/units/registry.rs +794 -0
  62. physure-0.3.0/physure-core/src/units/tests.rs +1025 -0
  63. physure-0.3.0/physure-core/tests/unit_facts_golden.rs +31 -0
  64. {physure-0.2.4 → physure-0.3.0}/physure-python/Cargo.toml +5 -14
  65. physure-0.3.0/physure-python/benchmarks/bench_unit_ops.py +56 -0
  66. {physure-0.2.4 → physure-0.3.0}/physure-python/mkdocs.yml +2 -0
  67. {physure-0.2.4 → physure-0.3.0}/physure-python/scripts/generate_constants_config.py +12 -2
  68. {physure-0.2.4 → physure-0.3.0}/physure-python/scripts/generate_units_readme.py +17 -5
  69. {physure-0.2.4 → physure-0.3.0}/physure-python/src/lib.rs +228 -122
  70. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/conftest.py +7 -10
  71. physure-0.3.0/physure-python/tests/core/golden/unit_semantics.json +311 -0
  72. physure-0.3.0/physure-python/tests/core/import_layers.toml +132 -0
  73. physure-0.3.0/physure-python/tests/core/test_backend_hooks.py +101 -0
  74. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_backends_and_quantity.py +1 -2
  75. physure-0.3.0/physure-python/tests/core/test_catalog_namespace.py +76 -0
  76. physure-0.3.0/physure-python/tests/core/test_conf_single_source.py +42 -0
  77. physure-0.3.0/physure-python/tests/core/test_dimensions_are_rational.py +68 -0
  78. physure-0.3.0/physure-python/tests/core/test_ensure_rational.py +20 -0
  79. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_functional_core.py +7 -8
  80. physure-0.3.0/physure-python/tests/core/test_import_layers.py +274 -0
  81. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_invariants.py +12 -14
  82. physure-0.3.0/physure-python/tests/core/test_no_debug_output.py +23 -0
  83. physure-0.3.0/physure-python/tests/core/test_points_and_levels_are_the_cores.py +167 -0
  84. physure-0.3.0/physure-python/tests/core/test_quantity_text.py +41 -0
  85. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_registry.py +46 -0
  86. physure-0.3.0/physure-python/tests/core/test_registry_conversion.py +79 -0
  87. physure-0.3.0/physure-python/tests/core/test_registry_extend.py +66 -0
  88. physure-0.3.0/physure-python/tests/core/test_registry_facts.py +124 -0
  89. physure-0.3.0/physure-python/tests/core/test_relocated_modules.py +18 -0
  90. physure-0.3.0/physure-python/tests/core/test_system_registry.py +116 -0
  91. physure-0.3.0/physure-python/tests/core/test_system_registry_parity.py +164 -0
  92. physure-0.3.0/physure-python/tests/core/test_temperature_algebra_parity.py +81 -0
  93. physure-0.3.0/physure-python/tests/core/test_unit_algebra_parity.py +384 -0
  94. physure-0.3.0/physure-python/tests/core/test_unit_parser_is_the_cores.py +61 -0
  95. physure-0.3.0/physure-python/tests/core/test_units_are_rational.py +112 -0
  96. physure-0.3.0/physure-python/tests/core/test_units_are_the_cores.py +78 -0
  97. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/dynamics/test_fit_service.py +2 -3
  98. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/dynamics/test_solver.py +3 -4
  99. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/integration_tests/test_workflow.py +6 -7
  100. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_advanced.py +1 -1
  101. physure-0.3.0/physure-python/tests/measurement_tests/test_catalog_constants.py +44 -0
  102. physure-0.3.0/physure-python/tests/measurement_tests/test_catalog_exact.py +96 -0
  103. physure-0.3.0/physure-python/tests/measurement_tests/test_catalog_variants.py +89 -0
  104. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_constants_codata.py +25 -25
  105. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_conversions.py +36 -42
  106. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_conversions_realworld.py +6 -6
  107. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_correctness_fixes.py +34 -51
  108. physure-0.3.0/physure-python/tests/measurement_tests/test_definitions_text.py +152 -0
  109. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_lazy_prefixes.py +7 -8
  110. physure-0.3.0/physure-python/tests/measurement_tests/test_logarithmic_conversion.py +33 -0
  111. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_nonlinear_and_calculus.py +2 -2
  112. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_quantity.py +9 -10
  113. physure-0.3.0/physure-python/tests/measurement_tests/test_temperature_exact.py +97 -0
  114. physure-0.3.0/physure-python/tests/measurement_tests/test_unit_sugar.py +32 -0
  115. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_units.py +13 -15
  116. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/performance/benchmarks.py +1 -2
  117. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/strategies.py +27 -57
  118. physure-0.3.0/physure-python/tests/symbolic/test_active_system_default.py +55 -0
  119. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/symbolic/test_tracing.py +1 -1
  120. physure-0.3.0/physure-python/tests/tools/test_stub_gen.py +55 -0
  121. {physure-0.2.4 → physure-0.3.0}/physure-python/uv.lock +1 -1
  122. {physure-0.2.4 → physure-0.3.0}/physure-script/tests/unit_literal_regression.rs +105 -7
  123. {physure-0.2.4 → physure-0.3.0}/pyproject.toml +1 -20
  124. physure-0.2.4/physure/_generated_types.py +0 -6
  125. physure-0.2.4/physure/_jit/__init__.py +0 -3
  126. physure-0.2.4/physure/application/parsing.py +0 -85
  127. physure-0.2.4/physure/core/functional.py +0 -394
  128. physure-0.2.4/physure/core/parsing/sanitizer.py +0 -89
  129. physure-0.2.4/physure/core/parsing/sympy_parser.py +0 -70
  130. physure-0.2.4/physure/core/parsing/transformer.py +0 -88
  131. physure-0.2.4/physure/core/registry.pyi +0 -5504
  132. physure-0.2.4/physure/domain/measurement/conversions.py +0 -117
  133. physure-0.2.4/physure/domain/measurement/converters.py +0 -159
  134. physure-0.2.4/physure/domain/measurement/dimensions.py +0 -347
  135. physure-0.2.4/physure/domain/measurement/ports/__init__.py +0 -8
  136. physure-0.2.4/physure/domain/measurement/ports/unit_repository.py +0 -20
  137. physure-0.2.4/physure/domain/measurement/system.py +0 -576
  138. physure-0.2.4/physure/infrastructure/config/physure.conf +0 -657
  139. physure-0.2.4/physure/infrastructure/config/systems/international.conf +0 -15
  140. physure-0.2.4/physure/units/__init__.py +0 -28
  141. physure-0.2.4/physure/units/__init__.pyi +0 -5491
  142. physure-0.2.4/physure/units/_index.py +0 -5486
  143. physure-0.2.4/physure/units/core.py +0 -5489
  144. physure-0.2.4/physure/units/electromagnetism.py +0 -7
  145. physure-0.2.4/physure-core/src/units/converters.rs +0 -96
  146. physure-0.2.4/physure-core/src/units/definition.rs +0 -112
  147. physure-0.2.4/physure-core/src/units/registry.rs +0 -346
  148. physure-0.2.4/physure-core/src/units/tests.rs +0 -348
  149. physure-0.2.4/physure-python/.cache/mkdocs-jupyter/02523ce70219dd05bed0cd384568f6698000105cf7c422878d5517c238a6dad0.json +0 -1
  150. physure-0.2.4/physure-python/.cache/mkdocs-jupyter/be0f3edde7644f4389cc447095383f9e9c470d6c676d0b37cf4797eb3d9a1275.json +0 -1
  151. physure-0.2.4/physure-python/docs/superpowers/plans/2026-07-11-mkml-math-functions.md +0 -581
  152. physure-0.2.4/physure-python/docs/superpowers/plans/2026-07-11-mkml-notation-layer.md +0 -683
  153. physure-0.2.4/physure-python/docs/superpowers/plans/2026-07-12-mkml-user-functions.md +0 -1554
  154. physure-0.2.4/physure-python/docs/superpowers/plans/2026-07-16-kill-rust-fallback-illusion.md +0 -302
  155. physure-0.2.4/physure-python/docs/superpowers/plans/2026-07-16-rust-transcendental-delegation.md +0 -738
  156. physure-0.2.4/physure-python/docs/superpowers/plans/2026-07-16-unit-parser-zero-exponent-guard.md +0 -205
  157. physure-0.2.4/physure-python/docs/superpowers/specs/2026-07-11-mkml-math-functions-design.md +0 -121
  158. physure-0.2.4/physure-python/docs/superpowers/specs/2026-07-11-notation-layer-design.md +0 -121
  159. physure-0.2.4/physure-python/docs/superpowers/specs/2026-07-12-mkml-user-functions-design.md +0 -192
  160. physure-0.2.4/physure-python/docs/superpowers/specs/2026-07-16-kill-rust-fallback-illusion-design.md +0 -68
  161. physure-0.2.4/physure-python/docs/superpowers/specs/2026-07-16-rust-transcendental-delegation-design.md +0 -162
  162. physure-0.2.4/physure-python/docs/superpowers/specs/2026-07-16-unit-parser-zero-exponent-guard-design.md +0 -101
  163. physure-0.2.4/physure-python/docs/superpowers/specs/2026-07-20-phs-rust-engine-milestone.md +0 -33
  164. physure-0.2.4/physure-python/scripts/compile_units.py +0 -186
  165. physure-0.2.4/physure-python/tests/tools/test_stub_gen.py +0 -64
  166. {physure-0.2.4 → physure-0.3.0}/LICENSE +0 -0
  167. {physure-0.2.4 → physure-0.3.0}/README.md +0 -0
  168. {physure-0.2.4 → physure-0.3.0}/physure/__main__.py +0 -0
  169. {physure-0.2.4 → physure-0.3.0}/physure/application/__init__.py +0 -0
  170. {physure-0.2.4 → physure-0.3.0}/physure/application/context.py +0 -0
  171. {physure-0.2.4 → physure-0.3.0}/physure/application/fit_service.py +0 -0
  172. {physure-0.2.4 → physure-0.3.0}/physure/application/functions/__init__.py +0 -0
  173. {physure-0.2.4 → physure-0.3.0}/physure/application/io.py +0 -0
  174. {physure-0.2.4 → physure-0.3.0}/physure/application/solver_service.py +0 -0
  175. {physure-0.2.4 → physure-0.3.0}/physure/backends/__init__.py +0 -0
  176. {physure-0.2.4 → physure-0.3.0}/physure/backends/core_backend.py +0 -0
  177. {physure-0.2.4 → physure-0.3.0}/physure/backends/kernels/covariance.py +0 -0
  178. {physure-0.2.4 → physure-0.3.0}/physure/backends/numpy_backend.py +0 -0
  179. {physure-0.2.4 → physure-0.3.0}/physure/backends/python_backend.py +0 -0
  180. {physure-0.2.4 → physure-0.3.0}/physure/cli.py +0 -0
  181. {physure-0.2.4 → physure-0.3.0}/physure/constants.py +0 -0
  182. {physure-0.2.4 → physure-0.3.0}/physure/core/__init__.py +0 -0
  183. {physure-0.2.4 → physure-0.3.0}/physure/core/autograd.py +0 -0
  184. {physure-0.2.4 → physure-0.3.0}/physure/core/formatting.py +0 -0
  185. {physure-0.2.4 → physure-0.3.0}/physure/core/protocols.py +0 -0
  186. {physure-0.2.4 → physure-0.3.0}/physure/domain/__init__.py +0 -0
  187. {physure-0.2.4 → physure-0.3.0}/physure/domain/exceptions.py +0 -0
  188. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/__init__.py +0 -0
  189. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/_backend_mixin.py +0 -0
  190. {physure-0.2.4 → physure-0.3.0}/physure/domain/measurement/equivalencies.py +0 -0
  191. {physure-0.2.4 → physure-0.3.0}/physure/domain/symbolic/__init__.py +0 -0
  192. {physure-0.2.4 → physure-0.3.0}/physure/domain/symbolic/export.py +0 -0
  193. {physure-0.2.4 → physure-0.3.0}/physure/domain/symbolic/graph.py +0 -0
  194. {physure-0.2.4 → physure-0.3.0}/physure/domain/symbolic/native.py +0 -0
  195. {physure-0.2.4 → physure-0.3.0}/physure/ext/__init__.py +0 -0
  196. {physure-0.2.4 → physure-0.3.0}/physure/ext/chemistry/__init__.py +0 -0
  197. {physure-0.2.4 → physure-0.3.0}/physure/ext/chemistry/reaction.py +0 -0
  198. {physure-0.2.4 → physure-0.3.0}/physure/ext/compiler.py +0 -0
  199. {physure-0.2.4 → physure-0.3.0}/physure/ext/helpers.py +0 -0
  200. {physure-0.2.4 → physure-0.3.0}/physure/ext/io.py +0 -0
  201. {physure-0.2.4 → physure-0.3.0}/physure/ext/numba_support.py +0 -0
  202. {physure-0.2.4 → physure-0.3.0}/physure/ext/pandas_support.py +0 -0
  203. {physure-0.2.4 → physure-0.3.0}/physure/ext/phs_loader.py +0 -0
  204. {physure-0.2.4 → physure-0.3.0}/physure/ext/symbolic_regression.py +0 -0
  205. {physure-0.2.4 → physure-0.3.0}/physure/functional.py +0 -0
  206. {physure-0.2.4 → physure-0.3.0}/physure/infrastructure/__init__.py +0 -0
  207. {physure-0.2.4 → physure-0.3.0}/physure/infrastructure/config/systems/__init__.py +0 -0
  208. {physure-0.2.4 → physure-0.3.0}/physure/infrastructure/config/systems/imperial.conf +0 -0
  209. {physure-0.2.4 → physure-0.3.0}/physure/nn/__init__.py +0 -0
  210. {physure-0.2.4 → physure-0.3.0}/physure/nn/layers.py +0 -0
  211. {physure-0.2.4 → physure-0.3.0}/physure/nn/loss.py +0 -0
  212. {physure-0.2.4 → physure-0.3.0}/physure/nn/networks.py +0 -0
  213. {physure-0.2.4 → physure-0.3.0}/physure/nn/utils.py +0 -0
  214. {physure-0.2.4 → physure-0.3.0}/physure/pandas_ext.py +0 -0
  215. {physure-0.2.4 → physure-0.3.0}/physure/plotting.py +0 -0
  216. {physure-0.2.4 → physure-0.3.0}/physure/py.typed +0 -0
  217. {physure-0.2.4 → physure-0.3.0}/physure/repl.py +0 -0
  218. {physure-0.2.4 → physure-0.3.0}/physure/symbolic.py +0 -0
  219. {physure-0.2.4 → physure-0.3.0}/physure-core/.cargo/config.toml +0 -0
  220. {physure-0.2.4 → physure-0.3.0}/physure-core/.github/workflows/CI.yml +0 -0
  221. {physure-0.2.4 → physure-0.3.0}/physure-core/.gitignore +0 -0
  222. {physure-0.2.4 → physure-0.3.0}/physure-core/Cargo.lock +0 -0
  223. {physure-0.2.4 → physure-0.3.0}/physure-core/LICENSE +0 -0
  224. {physure-0.2.4 → physure-0.3.0}/physure-core/README.md +0 -0
  225. {physure-0.2.4 → physure-0.3.0}/physure-core/examples/quickstart.rs +0 -0
  226. {physure-0.2.4 → physure-0.3.0}/physure-core/scripts/filter_lcov.py +0 -0
  227. {physure-0.2.4 → physure-0.3.0}/physure-core/sonar-project.properties +0 -0
  228. {physure-0.2.4 → physure-0.3.0}/physure-core/src/covariance/arrow.rs +0 -0
  229. {physure-0.2.4 → physure-0.3.0}/physure-core/src/covariance/mod.rs +0 -0
  230. {physure-0.2.4 → physure-0.3.0}/physure-core/src/covariance/pruning.rs +0 -0
  231. {physure-0.2.4 → physure-0.3.0}/physure-core/src/covariance/store.rs +0 -0
  232. {physure-0.2.4 → physure-0.3.0}/physure-core/src/covariance/tests.rs +0 -0
  233. {physure-0.2.4 → physure-0.3.0}/physure-core/src/equation.rs +0 -0
  234. {physure-0.2.4 → physure-0.3.0}/physure-core/src/error.rs +0 -0
  235. {physure-0.2.4 → physure-0.3.0}/physure-core/src/linalg.rs +0 -0
  236. {physure-0.2.4 → physure-0.3.0}/physure-core/src/math/dimension_vector.rs +0 -0
  237. {physure-0.2.4 → physure-0.3.0}/physure-core/src/math/dual.rs +0 -0
  238. {physure-0.2.4 → physure-0.3.0}/physure-core/src/math/hessian_propagation.rs +0 -0
  239. {physure-0.2.4 → physure-0.3.0}/physure-core/src/math/interval.rs +0 -0
  240. {physure-0.2.4 → physure-0.3.0}/physure-core/src/math/mod.rs +0 -0
  241. {physure-0.2.4 → physure-0.3.0}/physure-core/src/math/sparse_kernels.rs +0 -0
  242. {physure-0.2.4 → physure-0.3.0}/physure-core/src/math/tests.rs +0 -0
  243. {physure-0.2.4 → physure-0.3.0}/physure-core/src/plotting.rs +0 -0
  244. {physure-0.2.4 → physure-0.3.0}/physure-core/src/serialization.rs +0 -0
  245. {physure-0.2.4 → physure-0.3.0}/physure-core/src/settings.rs +0 -0
  246. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/lineage.rs +0 -0
  247. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/mod.rs +0 -0
  248. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/mode.rs +0 -0
  249. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/shapes.rs +0 -0
  250. {physure-0.2.4 → physure-0.3.0}/physure-core/src/uncertainty/tests.rs +0 -0
  251. {physure-0.2.4 → physure-0.3.0}/physure-core/src/units/dimension.rs +0 -0
  252. {physure-0.2.4 → physure-0.3.0}/physure-core/src/vendor/OrbitControls.min.js +0 -0
  253. {physure-0.2.4 → physure-0.3.0}/physure-core/src/vendor/three.min.js +0 -0
  254. {physure-0.2.4 → physure-0.3.0}/physure-core/tests/edge_cases_and_concurrency.rs +0 -0
  255. {physure-0.2.4 → physure-0.3.0}/physure-python/LICENSE +0 -0
  256. {physure-0.2.4 → physure-0.3.0}/physure-python/MANIFEST.in +0 -0
  257. {physure-0.2.4 → physure-0.3.0}/physure-python/Makefile +0 -0
  258. {physure-0.2.4 → physure-0.3.0}/physure-python/README.md +0 -0
  259. {physure-0.2.4 → physure-0.3.0}/physure-python/benchmarks/benchmark_comparison.py +0 -0
  260. {physure-0.2.4 → physure-0.3.0}/physure-python/benchmarks/benchmark_lineage.py +0 -0
  261. {physure-0.2.4 → physure-0.3.0}/physure-python/benchmarks/benchmark_propagation.py +0 -0
  262. {physure-0.2.4 → physure-0.3.0}/physure-python/benchmarks/benchmark_vectorized.py +0 -0
  263. {physure-0.2.4 → physure-0.3.0}/physure-python/benchmarks/comprehensive_plot.py +0 -0
  264. {physure-0.2.4 → physure-0.3.0}/physure-python/benchmarks/profile_vectorized.py +0 -0
  265. {physure-0.2.4 → physure-0.3.0}/physure-python/benchmarks/run_compile_bench.py +0 -0
  266. {physure-0.2.4 → physure-0.3.0}/physure-python/examples/advanced_physics.py +0 -0
  267. {physure-0.2.4 → physure-0.3.0}/physure-python/examples/pandas_integration.py +0 -0
  268. {physure-0.2.4 → physure-0.3.0}/physure-python/examples/pinn_harmonic_oscillator.ipynb +0 -0
  269. {physure-0.2.4 → physure-0.3.0}/physure-python/scripts/benchmark_import.py +0 -0
  270. {physure-0.2.4 → physure-0.3.0}/physure-python/sonar-project.properties +0 -0
  271. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/__init__.py +0 -0
  272. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/__init__.py +0 -0
  273. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_backends.py +0 -0
  274. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_concurrency.py +0 -0
  275. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_consistency.py +0 -0
  276. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_covariance_store.py +0 -0
  277. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_functional.py +0 -0
  278. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_functional_jax.py +0 -0
  279. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_gradients.py +0 -0
  280. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_jit.py +0 -0
  281. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_module_bridge.py +0 -0
  282. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_pydantic.py +0 -0
  283. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_rust_parity.py +0 -0
  284. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_serialization.py +0 -0
  285. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_sparse_backends.py +0 -0
  286. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/core/test_vectorized_unc.py +0 -0
  287. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/domain/test_bare_number_add_sub.py +0 -0
  288. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/dynamics/__init__.py +0 -0
  289. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_autograd.py +0 -0
  290. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_chemistry_integration.py +0 -0
  291. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_compiler.py +0 -0
  292. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_currency.py +0 -0
  293. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_io.py +0 -0
  294. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_molar_equivalency.py +0 -0
  295. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_pandas_support.py +0 -0
  296. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_phs_loader.py +0 -0
  297. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_phs_native.py +0 -0
  298. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_reaction.py +0 -0
  299. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_species.py +0 -0
  300. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_symbolic_regression.py +0 -0
  301. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_thermo_kinetics.py +0 -0
  302. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/ext/test_torch_compile.py +0 -0
  303. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/functions/__init__.py +0 -0
  304. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/functions/test_functions.py +0 -0
  305. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/integration_tests/__init__.py +0 -0
  306. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/integration_tests/test_measurement_system.py +0 -0
  307. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/integration_tests/test_physics_realworld.py +0 -0
  308. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/__init__.py +0 -0
  309. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_affine_arithmetic.py +0 -0
  310. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_api.py +0 -0
  311. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_autograd_propagation.py +0 -0
  312. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_backend_mixin.py +0 -0
  313. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_constants_module.py +0 -0
  314. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_dimensions.py +0 -0
  315. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/measurement_tests/test_uncertainty_models.py +0 -0
  316. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/notation_tests/__init__.py +0 -0
  317. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/notation_tests/test_base_entity.py +0 -0
  318. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/notation_tests/test_lexer.py +0 -0
  319. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/notation_tests/test_parsers.py +0 -0
  320. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/pinn/__init__.py +0 -0
  321. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/pinn/test_integration.py +0 -0
  322. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/pinn/test_nn_utils.py +0 -0
  323. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/symbolic/__init__.py +0 -0
  324. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/symbolic/test_calculus.py +0 -0
  325. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/symbolic/test_native_coverage.py +0 -0
  326. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/symbolic/test_native_expr.py +0 -0
  327. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/symbolic/test_solve_all.py +0 -0
  328. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/symbolic/test_solver.py +0 -0
  329. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_asymmetric_moments.py +0 -0
  330. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_ecosystem.py +0 -0
  331. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_equivalencies.py +0 -0
  332. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_foreign_bridge.py +0 -0
  333. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_java_uncertainty.py +0 -0
  334. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_jit_core.py +0 -0
  335. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_jit_uncertainty.py +0 -0
  336. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_new_features.py +0 -0
  337. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_performance_and_interop.py +0 -0
  338. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_plotting.py +0 -0
  339. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_repl.py +0 -0
  340. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_rust_transcendental_delegation.py +0 -0
  341. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_transpiler_parity.py +0 -0
  342. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_uncertainty.py +0 -0
  343. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_uncertainty_api.py +0 -0
  344. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/test_uncertainty_gum.py +0 -0
  345. {physure-0.2.4 → physure-0.3.0}/physure-python/tests/tools/__init__.py +0 -0
  346. {physure-0.2.4 → physure-0.3.0}/physure-script/Cargo.toml +0 -0
  347. {physure-0.2.4 → physure-0.3.0}/physure-script/sonar-project.properties +0 -0
  348. {physure-0.2.4 → physure-0.3.0}/physure-script/src/ast.rs +0 -0
  349. {physure-0.2.4 → physure-0.3.0}/physure-script/src/builtins/array.rs +0 -0
  350. {physure-0.2.4 → physure-0.3.0}/physure-script/src/builtins/calc.rs +0 -0
  351. {physure-0.2.4 → physure-0.3.0}/physure-script/src/builtins/core.rs +0 -0
  352. {physure-0.2.4 → physure-0.3.0}/physure-script/src/builtins/mod.rs +0 -0
  353. {physure-0.2.4 → physure-0.3.0}/physure-script/src/builtins/plot.rs +0 -0
  354. {physure-0.2.4 → physure-0.3.0}/physure-script/src/builtins/tests.rs +0 -0
  355. {physure-0.2.4 → physure-0.3.0}/physure-script/src/codegen/java.rs +0 -0
  356. {physure-0.2.4 → physure-0.3.0}/physure-script/src/codegen/js.rs +0 -0
  357. {physure-0.2.4 → physure-0.3.0}/physure-script/src/codegen/md.rs +0 -0
  358. {physure-0.2.4 → physure-0.3.0}/physure-script/src/codegen/mod.rs +0 -0
  359. {physure-0.2.4 → physure-0.3.0}/physure-script/src/codegen/proto.rs +0 -0
  360. {physure-0.2.4 → physure-0.3.0}/physure-script/src/codegen/python.rs +0 -0
  361. {physure-0.2.4 → physure-0.3.0}/physure-script/src/codegen/rust.rs +0 -0
  362. {physure-0.2.4 → physure-0.3.0}/physure-script/src/codegen/tests.rs +0 -0
  363. {physure-0.2.4 → physure-0.3.0}/physure-script/src/debug.rs +0 -0
  364. {physure-0.2.4 → physure-0.3.0}/physure-script/src/decorators.rs +0 -0
  365. {physure-0.2.4 → physure-0.3.0}/physure-script/src/exporter.rs +0 -0
  366. {physure-0.2.4 → physure-0.3.0}/physure-script/src/inspect.rs +0 -0
  367. {physure-0.2.4 → physure-0.3.0}/physure-script/src/interpreter/binary_ops.rs +0 -0
  368. {physure-0.2.4 → physure-0.3.0}/physure-script/src/interpreter/expressions.rs +0 -0
  369. {physure-0.2.4 → physure-0.3.0}/physure-script/src/interpreter/helpers.rs +0 -0
  370. {physure-0.2.4 → physure-0.3.0}/physure-script/src/interpreter/mod.rs +0 -0
  371. {physure-0.2.4 → physure-0.3.0}/physure-script/src/interpreter/statements.rs +0 -0
  372. {physure-0.2.4 → physure-0.3.0}/physure-script/src/interpreter/tests.rs +0 -0
  373. {physure-0.2.4 → physure-0.3.0}/physure-script/src/lexer.rs +0 -0
  374. {physure-0.2.4 → physure-0.3.0}/physure-script/src/lib.rs +0 -0
  375. {physure-0.2.4 → physure-0.3.0}/physure-script/src/module.rs +0 -0
  376. {physure-0.2.4 → physure-0.3.0}/physure-script/src/parser/expressions.rs +0 -0
  377. {physure-0.2.4 → physure-0.3.0}/physure-script/src/parser/mod.rs +0 -0
  378. {physure-0.2.4 → physure-0.3.0}/physure-script/src/parser/quantities.rs +0 -0
  379. {physure-0.2.4 → physure-0.3.0}/physure-script/src/parser/shadowing.rs +0 -0
  380. {physure-0.2.4 → physure-0.3.0}/physure-script/src/parser/statements.rs +0 -0
  381. {physure-0.2.4 → physure-0.3.0}/physure-script/src/parser/tests.rs +0 -0
  382. {physure-0.2.4 → physure-0.3.0}/physure-script/src/phs.pest +0 -0
  383. {physure-0.2.4 → physure-0.3.0}/physure-script/src/pipeline.rs +0 -0
  384. {physure-0.2.4 → physure-0.3.0}/physure-script/src/plugin.rs +0 -0
  385. {physure-0.2.4 → physure-0.3.0}/physure-script/src/resolver.rs +0 -0
  386. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/ast.rs +0 -0
  387. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/compiler.rs +0 -0
  388. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/diff.rs +0 -0
  389. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/display.rs +0 -0
  390. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/expr.rs +0 -0
  391. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/factor.rs +0 -0
  392. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/integrate.rs +0 -0
  393. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/mod.rs +0 -0
  394. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/ode.rs +0 -0
  395. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/parser.rs +0 -0
  396. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/series.rs +0 -0
  397. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/solve.rs +0 -0
  398. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/sym_matrix.rs +0 -0
  399. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/tests.rs +0 -0
  400. {physure-0.2.4 → physure-0.3.0}/physure-script/src/symbolic/transforms.rs +0 -0
  401. {physure-0.2.4 → physure-0.3.0}/physure-script/src/value.rs +0 -0
  402. {physure-0.2.4 → physure-0.3.0}/physure-script/tests/lsp_never_panics.rs +0 -0
  403. {physure-0.2.4 → physure-0.3.0}/physure-script/tests/mathematical_correctness.rs +0 -0
  404. {physure-0.2.4 → physure-0.3.0}/physure-script/tests/transpile_parity_tests.rs +0 -0
  405. {physure-0.2.4 → physure-0.3.0}/physure-script/tests/unit_shadowing.rs +0 -0
@@ -1949,6 +1949,7 @@ dependencies = [
1949
1949
  "getrandom 0.2.17",
1950
1950
  "nalgebra",
1951
1951
  "ndarray 0.15.6",
1952
+ "num-bigint",
1952
1953
  "num-rational",
1953
1954
  "num-traits",
1954
1955
  "rand",
@@ -2005,20 +2006,12 @@ dependencies = [
2005
2006
  name = "physure-python"
2006
2007
  version = "0.2.4"
2007
2008
  dependencies = [
2008
- "arrow",
2009
- "chrono",
2010
- "dyn-clone",
2011
- "nalgebra",
2012
- "ndarray 0.15.6",
2013
2009
  "num-rational",
2014
2010
  "num-traits",
2015
2011
  "numpy",
2016
2012
  "physure",
2017
2013
  "physure-script",
2018
2014
  "pyo3",
2019
- "rand",
2020
- "rand_distr",
2021
- "sprs",
2022
2015
  ]
2023
2016
 
2024
2017
  [[package]]
@@ -23,6 +23,7 @@ physure-core = { path = "physure-core", package = "physure" }
23
23
  physure-script = { path = "physure-script" }
24
24
  tower-lsp = "0.20"
25
25
  tokio = { version = "1", features = ["full"] }
26
+ num-bigint = "0.4"
26
27
  num-rational = "0.4"
27
28
  num-traits = "0.2"
28
29
  ndarray = "0.15"
@@ -41,10 +42,11 @@ pyo3 = { version = "0.25", features = ["extension-module", "abi3-py311"
41
42
  numpy = "0.25"
42
43
 
43
44
  # ── Shared release profile ──────────────────────────────────────────────────
44
- # panic must stay "unwind" (the default): both crates build as PyO3 extension
45
- # modules (rlib/cdylib, no standalone binaries), and PyO3's panic -> PanicException
46
- # conversion requires catch_unwind. "abort" would turn any Rust panic into a
47
- # process-killing SIGABRT instead of a catchable Python exception.
45
+ # panic must stay "unwind" (the default): physure-python builds as a PyO3 extension
46
+ # module, and PyO3's panic -> PanicException conversion requires catch_unwind.
47
+ # "abort" would turn any Rust panic into a process-killing SIGABRT instead of a
48
+ # catchable Python exception. The profile is workspace-wide, so the phs and
49
+ # language-server binaries are built with unwind too.
48
50
  [profile.release]
49
51
  lto = true
50
52
  codegen-units = 1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: physure
3
- Version: 0.2.4
3
+ Version: 0.3.0
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Intended Audience :: Science/Research
@@ -26,7 +26,7 @@ from collections.abc import Callable
26
26
  from typing import TYPE_CHECKING, Any
27
27
 
28
28
  # ── Version ───────────────────────────────────────────────────────────────────
29
- __version__ = "0.2.4"
29
+ __version__ = "0.3.0"
30
30
 
31
31
  # ── Rust-first: hard import of native core ────────────────────────────────────
32
32
  # Unlike physure, physure has NO pure-Python fallback.
@@ -40,10 +40,8 @@ try:
40
40
  QuantityMatrix,
41
41
  QuantityVector,
42
42
  RationalUnit,
43
- UnitDefinition,
44
43
  UnitRegistry,
45
44
  batch_to_si_inplace,
46
- convert_units_inplace,
47
45
  eval_dual_number,
48
46
  parse_unit_expression,
49
47
  propagate_hessian_uncertainty,
@@ -65,7 +63,6 @@ except ImportError as _err:
65
63
  ) from _err
66
64
 
67
65
  if TYPE_CHECKING:
68
- from physure._jit import jit
69
66
  from physure.application.context import (
70
67
  get_current_system,
71
68
  get_propagation_mode,
@@ -83,6 +80,7 @@ if TYPE_CHECKING:
83
80
  )
84
81
  from physure.application.factories import QuantityFactory
85
82
  from physure.application.io import load_state, save_state
83
+ from physure.application.jit import jit
86
84
  from physure.application.startup import (
87
85
  create_default_system,
88
86
  create_system,
@@ -232,7 +230,7 @@ def _load_default_system(name: str) -> Any:
232
230
 
233
231
 
234
232
  def _load_jit(name: str) -> Any:
235
- from physure._jit import jit
233
+ from physure.application.jit import jit
236
234
 
237
235
  return jit
238
236
 
@@ -380,9 +378,7 @@ __all__ = [
380
378
  "PruningConfig",
381
379
  "Quantity",
382
380
  "RationalUnit",
383
- "UnitDefinition",
384
381
  "UnitRegistry",
385
- "convert_units_inplace",
386
382
  "eval_dual_number",
387
383
  "parse_unit_expression",
388
384
  "propagate_hessian_uncertainty",
@@ -18,6 +18,35 @@ class RationalUnit:
18
18
  class UnitRegistry:
19
19
  def __init__(self, *args: Any, **kwargs: Any) -> None: ...
20
20
  def __getattr__(self, name: str) -> Any: ...
21
+ @staticmethod
22
+ def from_conf_text(extra: str) -> UnitRegistry: ...
23
+ def extend_conf(self, text: str) -> None: ...
24
+ def parse_atomic(self, expression: str) -> RationalUnit: ...
25
+ def simplify(self, unit: RationalUnit) -> RationalUnit: ...
26
+ def expand(self, unit: RationalUnit) -> RationalUnit: ...
27
+ def unit_of_dimension(self, dimension: dict[str, Any]) -> RationalUnit: ...
28
+ def names(self) -> list[str]: ...
29
+ def knows(self, name: str) -> bool: ...
30
+ def resolvable_names(self) -> list[str]: ...
31
+ def dimension_of(self, unit: RationalUnit) -> dict[str, int | float]: ...
32
+ def kind_of(self, unit: RationalUnit) -> str: ...
33
+ def is_linear_of(self, unit: RationalUnit) -> bool: ...
34
+ def alias_of(self, unit: RationalUnit) -> str: ...
35
+ def factor_between(
36
+ self, source: RationalUnit, target: RationalUnit
37
+ ) -> float: ...
38
+ def facts(self, expression: str) -> dict[str, Any]: ...
39
+ def conversion(
40
+ self, source: RationalUnit, target: RationalUnit
41
+ ) -> dict[str, Any]: ...
42
+
43
+ class UnknownUnitError(ValueError):
44
+ symbol: str
45
+ suggestion: str | None
46
+
47
+ class UnitMismatchError(ValueError):
48
+ expected: str
49
+ actual: str
21
50
 
22
51
  class Quantity:
23
52
  _core_magnitude: Any
@@ -53,38 +82,6 @@ class DimVector:
53
82
  def __eq__(self, other: object) -> bool: ...
54
83
  def __hash__(self) -> int: ...
55
84
 
56
- class UnitDefinition:
57
- def __init__(
58
- self,
59
- symbol: str,
60
- dimension: DimVector,
61
- converter_kind: str,
62
- scale: float = ...,
63
- offset: float = ...,
64
- factor: float = ...,
65
- reference: float = ...,
66
- name: str | None = ...,
67
- kind: str = ...,
68
- allow_prefixes: bool = ...,
69
- ) -> None: ...
70
- @property
71
- def symbol(self) -> str: ...
72
- @property
73
- def dimension(self) -> DimVector: ...
74
- @property
75
- def name(self) -> str | None: ...
76
- @property
77
- def allow_prefixes(self) -> bool: ...
78
- @property
79
- def kind(self) -> str: ...
80
- @property
81
- def is_linear(self) -> bool: ...
82
- def scale(self) -> float | None: ...
83
- def offset(self) -> float: ...
84
- def to_base(self, value: float) -> float: ...
85
- def from_base(self, value: float) -> float: ...
86
- def convert_to(self, value: float, target: UnitDefinition) -> float: ...
87
-
88
85
  class Expr:
89
86
  @staticmethod
90
87
  def number(v: float) -> Expr: ...
@@ -137,9 +134,9 @@ def eval_dual_number(
137
134
  def propagate_hessian_uncertainty(
138
135
  f_mean: float, jacobian: Any, hessian: Any, covariance: Any
139
136
  ) -> tuple[float, float]: ...
140
- def convert_units_inplace(
141
- data: Any, src: UnitDefinition, dst: UnitDefinition
142
- ) -> None: ...
143
137
  def dim_vector_from_dict(pairs: dict[str, int]) -> DimVector: ...
138
+ def default_conf() -> str: ...
139
+ def unit_facts(expression: str) -> dict[str, Any]: ...
140
+ def register_quantity_factory(factory: Any) -> None: ...
144
141
 
145
142
  __version__: str