unitforge 0.5.16__tar.gz → 0.5.18__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 (127) hide show
  1. {unitforge-0.5.16 → unitforge-0.5.18}/Cargo.lock +2 -2
  2. {unitforge-0.5.16 → unitforge-0.5.18}/Cargo.toml +2 -2
  3. {unitforge-0.5.16 → unitforge-0.5.18}/PKG-INFO +1 -1
  4. {unitforge-0.5.16 → unitforge-0.5.18}/Readme.md +3 -0
  5. {unitforge-0.5.16 → unitforge-0.5.18}/python/unitforge/__init__.pyi +466 -4
  6. {unitforge-0.5.16 → unitforge-0.5.18}/src/lib.rs +6 -0
  7. unitforge-0.5.18/src/quantities/distance_per_stress.rs +44 -0
  8. unitforge-0.5.18/src/quantities/mass_flow_rate.rs +69 -0
  9. unitforge-0.5.18/src/quantities/volumetric_flow_rate.rs +82 -0
  10. {unitforge-0.5.16 → unitforge-0.5.18}/src/relations.rs +45 -2
  11. unitforge-0.5.18/tests/flow_rates.rs +253 -0
  12. {unitforge-0.5.16 → unitforge-0.5.18}/tests/test_quantities.py +52 -0
  13. {unitforge-0.5.16 → unitforge-0.5.18}/tests/typecheck/mypy_smoke.py +20 -0
  14. {unitforge-0.5.16 → unitforge-0.5.18}/unitforge_macros/Cargo.toml +1 -1
  15. {unitforge-0.5.16 → unitforge-0.5.18}/.gitignore +0 -0
  16. {unitforge-0.5.16 → unitforge-0.5.18}/.gitlab-ci.yml +0 -0
  17. {unitforge-0.5.16 → unitforge-0.5.18}/Readme_py.md +0 -0
  18. {unitforge-0.5.16 → unitforge-0.5.18}/install_hooks.sh +0 -0
  19. {unitforge-0.5.16 → unitforge-0.5.18}/pyproject.toml +0 -0
  20. {unitforge-0.5.16 → unitforge-0.5.18}/python/unitforge/__init__.py +0 -0
  21. {unitforge-0.5.16 → unitforge-0.5.18}/python/unitforge/py.typed +0 -0
  22. {unitforge-0.5.16 → unitforge-0.5.18}/scripts/generate_python_stubs.py +0 -0
  23. {unitforge-0.5.16 → unitforge-0.5.18}/src/errors.rs +0 -0
  24. {unitforge-0.5.16 → unitforge-0.5.18}/src/impl_macros.rs +0 -0
  25. {unitforge-0.5.16 → unitforge-0.5.18}/src/internal.rs +0 -0
  26. {unitforge-0.5.16 → unitforge-0.5.18}/src/prelude.rs +0 -0
  27. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/acceleration.rs +0 -0
  28. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/angle.rs +0 -0
  29. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/angular_acceleration.rs +0 -0
  30. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/angular_velocity.rs +0 -0
  31. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/area.rs +0 -0
  32. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/area_of_moment.rs +0 -0
  33. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/charge.rs +0 -0
  34. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/compliance.rs +0 -0
  35. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/density.rs +0 -0
  36. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/density_rate.rs +0 -0
  37. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/density_temperature.rs +0 -0
  38. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/density_temperature_rate.rs +0 -0
  39. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/distance.rs +0 -0
  40. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/dynamic_viscosity.rs +0 -0
  41. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force.rs +0 -0
  42. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force_area.rs +0 -0
  43. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force_distance.rs +0 -0
  44. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force_div_distance_power_four.rs +0 -0
  45. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force_per_volume.rs +0 -0
  46. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force_rate.rs +0 -0
  47. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force_stress.rs +0 -0
  48. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force_time.rs +0 -0
  49. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/force_volume.rs +0 -0
  50. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/frequency.rs +0 -0
  51. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/heat_capacity.rs +0 -0
  52. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/heat_flux.rs +0 -0
  53. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/inverse_angle.rs +0 -0
  54. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/inverse_area.rs +0 -0
  55. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/inverse_distance.rs +0 -0
  56. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/inverse_stress.rs +0 -0
  57. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/inverse_temperature.rs +0 -0
  58. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/mass.rs +0 -0
  59. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/mass_per_distance.rs +0 -0
  60. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/molar_mass.rs +0 -0
  61. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/power.rs +0 -0
  62. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/pressure_rate.rs +0 -0
  63. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/rotational_damping.rs +0 -0
  64. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/rotational_stiffness.rs +0 -0
  65. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/specific_energy.rs +0 -0
  66. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/specific_gas_constant.rs +0 -0
  67. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/specific_heat_capacity.rs +0 -0
  68. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/stiffness.rs +0 -0
  69. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/strain.rs +0 -0
  70. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/strain_rate.rs +0 -0
  71. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/strain_squared.rs +0 -0
  72. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/stress.rs +0 -0
  73. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/stress_cubed.rs +0 -0
  74. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/stress_per_temperature.rs +0 -0
  75. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/stress_rate.rs +0 -0
  76. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/stress_rate_per_temperature.rs +0 -0
  77. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/stress_squared.rs +0 -0
  78. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/temperature.rs +0 -0
  79. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/temperature_gradient.rs +0 -0
  80. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/thermal_conductance.rs +0 -0
  81. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/thermal_conductivity.rs +0 -0
  82. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/time.rs +0 -0
  83. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/translational_damping.rs +0 -0
  84. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/universal_gas_constant.rs +0 -0
  85. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/velocity.rs +0 -0
  86. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/velocity_squared.rs +0 -0
  87. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/voltage.rs +0 -0
  88. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/volume.rs +0 -0
  89. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/volumetric_energy_density.rs +0 -0
  90. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities/volumetric_heat_capacity.rs +0 -0
  91. {unitforge-0.5.16 → unitforge-0.5.18}/src/quantities.template.rs +0 -0
  92. {unitforge-0.5.16 → unitforge-0.5.18}/src/small_linalg/bindings/matrix3_py.template.rs +0 -0
  93. {unitforge-0.5.16 → unitforge-0.5.18}/src/small_linalg/bindings/vector3_py.template.rs +0 -0
  94. {unitforge-0.5.16 → unitforge-0.5.18}/src/small_linalg/matrix2.rs +0 -0
  95. {unitforge-0.5.16 → unitforge-0.5.18}/src/small_linalg/matrix2x3.rs +0 -0
  96. {unitforge-0.5.16 → unitforge-0.5.18}/src/small_linalg/matrix3.rs +0 -0
  97. {unitforge-0.5.16 → unitforge-0.5.18}/src/small_linalg/matrix3x2.rs +0 -0
  98. {unitforge-0.5.16 → unitforge-0.5.18}/src/small_linalg/vector2.rs +0 -0
  99. {unitforge-0.5.16 → unitforge-0.5.18}/src/small_linalg/vector3.rs +0 -0
  100. {unitforge-0.5.16 → unitforge-0.5.18}/test.sh +0 -0
  101. {unitforge-0.5.16 → unitforge-0.5.18}/tests/common/mod.rs +0 -0
  102. {unitforge-0.5.16 → unitforge-0.5.18}/tests/matrix2.rs +0 -0
  103. {unitforge-0.5.16 → unitforge-0.5.18}/tests/matrix2x3.rs +0 -0
  104. {unitforge-0.5.16 → unitforge-0.5.18}/tests/matrix3.rs +0 -0
  105. {unitforge-0.5.16 → unitforge-0.5.18}/tests/matrix3_eigen.rs +0 -0
  106. {unitforge-0.5.16 → unitforge-0.5.18}/tests/matrix3x2.rs +0 -0
  107. {unitforge-0.5.16 → unitforge-0.5.18}/tests/ndarray_dot.rs +0 -0
  108. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantities.rs +0 -0
  109. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/constants.rs +0 -0
  110. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/construction.rs +0 -0
  111. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/enum_iter.rs +0 -0
  112. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/metadata.rs +0 -0
  113. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/normalization.rs +0 -0
  114. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/plain_storage.rs +0 -0
  115. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/relations.rs +0 -0
  116. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/runtime_quantity.rs +0 -0
  117. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/scalar_edges.rs +0 -0
  118. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core/unit_factors.rs +0 -0
  119. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_core.rs +0 -0
  120. {unitforge-0.5.16 → unitforge-0.5.18}/tests/quantity_serde.rs +0 -0
  121. {unitforge-0.5.16 → unitforge-0.5.18}/tests/small_linalg_edge_cases.rs +0 -0
  122. {unitforge-0.5.16 → unitforge-0.5.18}/tests/small_linalg_interfaces.rs +0 -0
  123. {unitforge-0.5.16 → unitforge-0.5.18}/tests/test_small_linalg.py +0 -0
  124. {unitforge-0.5.16 → unitforge-0.5.18}/tests/thermal_transient.rs +0 -0
  125. {unitforge-0.5.16 → unitforge-0.5.18}/tests/vector2.rs +0 -0
  126. {unitforge-0.5.16 → unitforge-0.5.18}/tests/vector3.rs +0 -0
  127. {unitforge-0.5.16 → unitforge-0.5.18}/unitforge_macros/src/lib.rs +0 -0
@@ -351,7 +351,7 @@ checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
351
351
 
352
352
  [[package]]
353
353
  name = "unitforge"
354
- version = "0.5.16"
354
+ version = "0.5.18"
355
355
  dependencies = [
356
356
  "ndarray",
357
357
  "num-traits",
@@ -367,7 +367,7 @@ dependencies = [
367
367
 
368
368
  [[package]]
369
369
  name = "unitforge_macros"
370
- version = "0.5.16"
370
+ version = "0.5.18"
371
371
  dependencies = [
372
372
  "regex",
373
373
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "unitforge"
3
- version = "0.5.16"
3
+ version = "0.5.18"
4
4
  edition = "2021"
5
5
  authors = ["Dr.Q team <info@askdrq.com>", "Henrik Stromberg <henrik@askdrq.com>"]
6
6
  description = "A library for unit and quantity consistent computations in Rust"
@@ -20,7 +20,7 @@ pyo3 = { version = "0.28.3", features = ["extension-module", "auto-initialize",
20
20
  numpy = { version = "0.28.0", optional = true }
21
21
  strum = { version = "0.28.0", optional = true }
22
22
  strum_macros = { version = "0.28.0", optional = true }
23
- unitforge_macros = { version = "0.5.16", path = "unitforge_macros" }
23
+ unitforge_macros = { version = "0.5.18", path = "unitforge_macros" }
24
24
 
25
25
  [features]
26
26
  default = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unitforge
3
- Version: 0.5.16
3
+ Version: 0.5.18
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -63,6 +63,9 @@ and tensor layer. Unitforge inserts no factors of two. Signed components,
63
63
  zero, and nonfinite values follow the normal quantity arithmetic policy.
64
64
 
65
65
  Existing semantic result types take precedence where dimensions overlap:
66
+ `Stiffness * Time` and `Force / Velocity` return `MassFlowRate`.
67
+ `TranslationalDamping / Time` returns `Stiffness`, damping divided by stiffness
68
+ returns `Time`, and `Force / TranslationalDamping` returns `Velocity`.
66
69
  `StressRate / Stress` returns `Frequency`, `Velocity / Distance` returns
67
70
  `AngularVelocity`, and `Power / ForceDistance` returns `Frequency`.
68
71
  `Stress * StrainRate` returns `StressRate` in both orders, while