pyvale 2025.5.2__tar.gz → 2025.5.3__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.

Potentially problematic release.


This version of pyvale might be problematic. Click here for more details.

Files changed (179) hide show
  1. {pyvale-2025.5.2/src/pyvale.egg-info → pyvale-2025.5.3}/PKG-INFO +2 -1
  2. {pyvale-2025.5.2 → pyvale-2025.5.3}/pyproject.toml +2 -1
  3. pyvale-2025.5.3/setup.py +23 -0
  4. pyvale-2025.5.3/src/pyvale/cython/rastercyth.c +32211 -0
  5. {pyvale-2025.5.2 → pyvale-2025.5.3/src/pyvale.egg-info}/PKG-INFO +2 -1
  6. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale.egg-info/SOURCES.txt +2 -0
  7. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale.egg-info/requires.txt +1 -0
  8. {pyvale-2025.5.2 → pyvale-2025.5.3}/LICENSE +0 -0
  9. {pyvale-2025.5.2 → pyvale-2025.5.3}/README.md +0 -0
  10. {pyvale-2025.5.2 → pyvale-2025.5.3}/setup.cfg +0 -0
  11. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/__init__.py +0 -0
  12. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/analyticmeshgen.py +0 -0
  13. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/analyticsimdatafactory.py +0 -0
  14. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/analyticsimdatagenerator.py +0 -0
  15. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/blendercalibrationdata.py +0 -0
  16. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/blenderlightdata.py +0 -0
  17. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/blendermaterialdata.py +0 -0
  18. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/blenderrenderdata.py +0 -0
  19. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/blenderscene.py +0 -0
  20. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/blendertools.py +0 -0
  21. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/camera.py +0 -0
  22. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/cameradata.py +0 -0
  23. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/cameradata2d.py +0 -0
  24. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/camerastereo.py +0 -0
  25. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/cameratools.py +0 -0
  26. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/cython/rastercyth.py +0 -0
  27. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/__init__.py +0 -0
  28. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/cal_target.tiff +0 -0
  29. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case00_HEX20_out.e +0 -0
  30. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case00_HEX27_out.e +0 -0
  31. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case00_HEX8_out.e +0 -0
  32. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case00_TET10_out.e +0 -0
  33. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case00_TET14_out.e +0 -0
  34. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case00_TET4_out.e +0 -0
  35. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case13_out.e +0 -0
  36. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case16_out.e +0 -0
  37. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case17_out.e +0 -0
  38. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case18_1_out.e +0 -0
  39. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case18_2_out.e +0 -0
  40. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case18_3_out.e +0 -0
  41. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case25_out.e +0 -0
  42. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/case26_out.e +0 -0
  43. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/data/optspeckle_2464x2056px_spec5px_8bit_gblur1px.tiff +0 -0
  44. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/dataset.py +0 -0
  45. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/errorcalculator.py +0 -0
  46. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/errordriftcalc.py +0 -0
  47. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/errorintegrator.py +0 -0
  48. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/errorrand.py +0 -0
  49. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/errorsyscalib.py +0 -0
  50. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/errorsysdep.py +0 -0
  51. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/errorsysfield.py +0 -0
  52. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/errorsysindep.py +0 -0
  53. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/__init__.py +0 -0
  54. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex1_1_basicscalars_therm2d.py +0 -0
  55. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex1_2_sensormodel_therm2d.py +0 -0
  56. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex1_3_customsens_therm3d.py +0 -0
  57. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex1_4_basicerrors_therm3d.py +0 -0
  58. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex1_5_fielderrs_therm3d.py +0 -0
  59. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex1_6_caliberrs_therm2d.py +0 -0
  60. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex1_7_spatavg_therm2d.py +0 -0
  61. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex2_1_basicvectors_disp2d.py +0 -0
  62. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex2_2_vectorsens_disp2d.py +0 -0
  63. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex2_3_sensangle_disp2d.py +0 -0
  64. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex2_4_chainfielderrs_disp2d.py +0 -0
  65. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex2_5_vectorfields3d_disp3d.py +0 -0
  66. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex3_1_basictensors_strain2d.py +0 -0
  67. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex3_2_tensorsens2d_strain2d.py +0 -0
  68. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex3_3_tensorsens3d_strain3d.py +0 -0
  69. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex4_1_expsim2d_thermmech2d.py +0 -0
  70. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/basics/ex4_2_expsim3d_thermmech3d.py +0 -0
  71. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/genanalyticdata/ex1_1_scalarvisualisation.py +0 -0
  72. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/genanalyticdata/ex1_2_scalarcasebuild.py +0 -0
  73. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/genanalyticdata/ex2_1_analyticsensors.py +0 -0
  74. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/imagedef2d/ex_imagedef2d_todisk.py +0 -0
  75. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderblender/ex1_1_blenderscene.py +0 -0
  76. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderblender/ex1_2_blenderdeformed.py +0 -0
  77. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderblender/ex2_1_stereoscene.py +0 -0
  78. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderblender/ex2_2_stereodeformed.py +0 -0
  79. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderblender/ex3_1_blendercalibration.py +0 -0
  80. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderrasterisation/ex_rastenp.py +0 -0
  81. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderrasterisation/ex_rastercyth_oneframe.py +0 -0
  82. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderrasterisation/ex_rastercyth_static_cypara.py +0 -0
  83. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/renderrasterisation/ex_rastercyth_static_pypara.py +0 -0
  84. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/visualisation/ex1_1_plot_traces.py +0 -0
  85. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/examples/visualisation/ex2_1_animate_sim.py +0 -0
  86. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/experimentsimulator.py +0 -0
  87. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/field.py +0 -0
  88. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/fieldconverter.py +0 -0
  89. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/fieldsampler.py +0 -0
  90. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/fieldscalar.py +0 -0
  91. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/fieldtensor.py +0 -0
  92. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/fieldtransform.py +0 -0
  93. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/fieldvector.py +0 -0
  94. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/generatorsrandom.py +0 -0
  95. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/imagedef2d.py +0 -0
  96. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/integratorfactory.py +0 -0
  97. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/integratorquadrature.py +0 -0
  98. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/integratorrectangle.py +0 -0
  99. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/integratorspatial.py +0 -0
  100. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/integratortype.py +0 -0
  101. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/output.py +0 -0
  102. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/pyvaleexceptions.py +0 -0
  103. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/raster.py +0 -0
  104. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/rastercy.py +0 -0
  105. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/rasternp.py +0 -0
  106. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/rendermesh.py +0 -0
  107. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/sensorarray.py +0 -0
  108. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/sensorarrayfactory.py +0 -0
  109. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/sensorarraypoint.py +0 -0
  110. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/sensordata.py +0 -0
  111. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/sensordescriptor.py +0 -0
  112. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/sensortools.py +0 -0
  113. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case00_HEX20.i +0 -0
  114. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case00_HEX27.i +0 -0
  115. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case00_HEX8.i +0 -0
  116. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case00_TET10.i +0 -0
  117. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case00_TET14.i +0 -0
  118. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case00_TET4.i +0 -0
  119. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case01.i +0 -0
  120. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case02.i +0 -0
  121. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case03.i +0 -0
  122. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case04.i +0 -0
  123. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case05.i +0 -0
  124. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case06.i +0 -0
  125. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case07.geo +0 -0
  126. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case07.i +0 -0
  127. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case08.geo +0 -0
  128. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case08.i +0 -0
  129. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case09.geo +0 -0
  130. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case09.i +0 -0
  131. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case10.geo +0 -0
  132. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case10.i +0 -0
  133. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case11.geo +0 -0
  134. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case11.i +0 -0
  135. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case12.geo +0 -0
  136. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case12.i +0 -0
  137. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case13.i +0 -0
  138. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case14.i +0 -0
  139. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case15.geo +0 -0
  140. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case15.i +0 -0
  141. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case16.geo +0 -0
  142. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case16.i +0 -0
  143. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case17.geo +0 -0
  144. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case17.i +0 -0
  145. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case18.i +0 -0
  146. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case18_1.i +0 -0
  147. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case18_2.i +0 -0
  148. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case18_3.i +0 -0
  149. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case19.geo +0 -0
  150. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case19.i +0 -0
  151. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case20.geo +0 -0
  152. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case20.i +0 -0
  153. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case21.geo +0 -0
  154. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case21.i +0 -0
  155. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case22.geo +0 -0
  156. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case22.i +0 -0
  157. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case23.geo +0 -0
  158. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case23.i +0 -0
  159. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case24.geo +0 -0
  160. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case24.i +0 -0
  161. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case25.geo +0 -0
  162. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case25.i +0 -0
  163. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case26.geo +0 -0
  164. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/case26.i +0 -0
  165. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/run_1case.py +0 -0
  166. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/run_all_cases.py +0 -0
  167. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/run_build_case.py +0 -0
  168. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simcases/run_example_cases.py +0 -0
  169. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/simtools.py +0 -0
  170. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/visualexpplotter.py +0 -0
  171. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/visualimagedef.py +0 -0
  172. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/visualimages.py +0 -0
  173. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/visualopts.py +0 -0
  174. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/visualsimanimator.py +0 -0
  175. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/visualsimsensors.py +0 -0
  176. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/visualtools.py +0 -0
  177. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale/visualtraceplotter.py +0 -0
  178. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale.egg-info/dependency_links.txt +0 -0
  179. {pyvale-2025.5.2 → pyvale-2025.5.3}/src/pyvale.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyvale
3
- Version: 2025.5.2
3
+ Version: 2025.5.3
4
4
  Summary: An all-in-one package for sensor simulation, sensor uncertainty quantification, sensor placement optimisation and simulation calibration or validation.
5
5
  Author-email: "scepticalrabbit et al." <thescepticalrabbit@gmail.com>
6
6
  License: MIT License
@@ -46,6 +46,7 @@ Requires-Dist: Cython>=3.0.0
46
46
  Requires-Dist: bpy>=4.2.0
47
47
  Requires-Dist: pyyaml>=6.0.2
48
48
  Requires-Dist: pytest>=8.3.5
49
+ Requires-Dist: pybind11>=2.13.6
49
50
  Dynamic: license-file
50
51
 
51
52
  # pyvale
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pyvale"
7
- version = "2025.5.2"
7
+ version = "2025.5.3"
8
8
  description = "An all-in-one package for sensor simulation, sensor uncertainty quantification, sensor placement optimisation and simulation calibration or validation."
9
9
  authors = [
10
10
  { name = "scepticalrabbit et al.", email = "thescepticalrabbit@gmail.com" },
@@ -30,6 +30,7 @@ dependencies = [
30
30
  "bpy>=4.2.0",
31
31
  "pyyaml>=6.0.2",
32
32
  "pytest>=8.3.5",
33
+ "pybind11>=2.13.6",
33
34
  ]
34
35
 
35
36
  [project.urls]
@@ -0,0 +1,23 @@
1
+ from setuptools import setup, Extension
2
+ from Cython.Build import cythonize
3
+ import numpy
4
+ import sys
5
+
6
+ if sys.platform.startswith("win"):
7
+ openmp_arg = '/openmp'
8
+ else:
9
+ openmp_arg = '-fopenmp'
10
+
11
+ ext_modules = [
12
+ Extension(
13
+ "pyvale.cython.rastercyth",
14
+ ["src/pyvale/cython/rastercyth.py",],
15
+ include_dirs=[numpy.get_include()],
16
+ extra_compile_args=["-ffast-math",openmp_arg],
17
+ extra_link_args=[openmp_arg],
18
+ ),
19
+ ]
20
+
21
+ setup(
22
+ ext_modules=cythonize(ext_modules, annotate=True),
23
+ )