TidalPy 0.7.3__tar.gz → 0.7.5__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 (296) hide show
  1. {tidalpy-0.7.3 → tidalpy-0.7.5}/MANIFEST.in +3 -1
  2. {tidalpy-0.7.3/TidalPy.egg-info → tidalpy-0.7.5}/PKG-INFO +13 -48
  3. {tidalpy-0.7.3 → tidalpy-0.7.5}/README.md +6 -33
  4. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/solver.pyx +2 -1
  5. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/shooting.pyx +2 -1
  6. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/complex_compliance/compliance_models.py +2 -2
  7. {tidalpy-0.7.3 → tidalpy-0.7.5/TidalPy.egg-info}/PKG-INFO +13 -48
  8. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy.egg-info/SOURCES.txt +0 -1
  9. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy.egg-info/requires.txt +3 -12
  10. tidalpy-0.7.5/TidalPy.egg-info/top_level.txt +1 -0
  11. {tidalpy-0.7.3 → tidalpy-0.7.5}/pyproject.toml +25 -28
  12. tidalpy-0.7.5/setup.py +118 -0
  13. tidalpy-0.7.3/TidalPy.egg-info/top_level.txt +0 -2
  14. tidalpy-0.7.3/_build_tidalpy.py +0 -101
  15. tidalpy-0.7.3/setup.py +0 -60
  16. {tidalpy-0.7.3 → tidalpy-0.7.5}/LICENSE.md +0 -0
  17. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/__init__.py +0 -0
  18. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/__init__.py +0 -0
  19. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/build.py +0 -0
  20. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/burnman_defaultc.py +0 -0
  21. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/burnman_layer.py +0 -0
  22. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/burnman_world.py +0 -0
  23. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/conversion.py +0 -0
  24. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/defaults.py +0 -0
  25. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/material/__init__.py +0 -0
  26. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/material/custom/__init__.py +0 -0
  27. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/material/custom/constant.py +0 -0
  28. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/material/custom/ice.py +0 -0
  29. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/material/custom/pyrite.py +0 -0
  30. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/material/helper.py +0 -0
  31. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Extending/burnman/package.py +0 -0
  32. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/__init__.py +0 -0
  33. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/__init__.pxd +0 -0
  34. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/__init__.py +0 -0
  35. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/eos_solution.pxd +0 -0
  36. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/eos_solution.pyx +0 -0
  37. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/eos_solution_.cpp +0 -0
  38. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/eos_solution_.hpp +0 -0
  39. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/methods/__init__.pxd +0 -0
  40. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/methods/__init__.py +0 -0
  41. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/methods/interpolate.pxd +0 -0
  42. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/methods/interpolate.pyx +0 -0
  43. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/ode.pxd +0 -0
  44. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/ode.pyx +0 -0
  45. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/Material/eos/solver.pxd +0 -0
  46. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/__init__.pxd +0 -0
  47. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/__init__.py +0 -0
  48. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/boundaries/__init__.py +0 -0
  49. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/boundaries/boundaries.pxd +0 -0
  50. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/boundaries/boundaries.pyx +0 -0
  51. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/boundaries/surface_bc.pxd +0 -0
  52. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/boundaries/surface_bc.pyx +0 -0
  53. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/collapse/__init__.py +0 -0
  54. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/collapse/collapse.pxd +0 -0
  55. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/collapse/collapse.pyx +0 -0
  56. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/constants.pxd +0 -0
  57. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/constants.pyx +0 -0
  58. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/derivatives/__init__.py +0 -0
  59. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/derivatives/odes.pxd +0 -0
  60. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/derivatives/odes.pyx +0 -0
  61. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/helpers.pyx +0 -0
  62. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/interfaces/__init__.py +0 -0
  63. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/interfaces/interfaces.pxd +0 -0
  64. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/interfaces/interfaces.pyx +0 -0
  65. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/interfaces/reversed.pxd +0 -0
  66. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/interfaces/reversed.pyx +0 -0
  67. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/love.pxd +0 -0
  68. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/love.pyx +0 -0
  69. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/love_.cpp +0 -0
  70. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/love_.hpp +0 -0
  71. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/matrix.pxd +0 -0
  72. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/matrix.pyx +0 -0
  73. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/matrix_types/__init__.py +0 -0
  74. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/matrix_types/solid_matrix.pxd +0 -0
  75. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/matrix_types/solid_matrix.pyx +0 -0
  76. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/rs_solution.pxd +0 -0
  77. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/rs_solution.pyx +0 -0
  78. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/rs_solution_.cpp +0 -0
  79. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/rs_solution_.hpp +0 -0
  80. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/shooting.pxd +0 -0
  81. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/solver.pxd +0 -0
  82. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/solver.pyx +0 -0
  83. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/__init__.py +0 -0
  84. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/common.pxd +0 -0
  85. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/common.pyx +0 -0
  86. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/driver.pxd +0 -0
  87. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/driver.pyx +0 -0
  88. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/kamata.pxd +0 -0
  89. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/kamata.pyx +0 -0
  90. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/saito.pxd +0 -0
  91. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/saito.pyx +0 -0
  92. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/takeuchi.pxd +0 -0
  93. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/RadialSolver/starting/takeuchi.pyx +0 -0
  94. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/WorldPack/WorldPack.zip +0 -0
  95. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/__init__.py +0 -0
  96. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/cache.py +0 -0
  97. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/configurations.py +0 -0
  98. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/constants.pxd +0 -0
  99. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/constants.pyx +0 -0
  100. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/cooling/__init__.py +0 -0
  101. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/cooling/cooling.py +0 -0
  102. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/cooling/cooling_models.py +0 -0
  103. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/defaultc.py +0 -0
  104. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/dynamics/__init__.py +0 -0
  105. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/dynamics/dual_dissipation.py +0 -0
  106. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/dynamics/single_dissipation.py +0 -0
  107. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/exceptions.py +0 -0
  108. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/initialize.py +0 -0
  109. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/logger.py +0 -0
  110. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/numba_scipy/__init__.py +0 -0
  111. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/numba_scipy/special/__init__.py +0 -0
  112. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/numba_scipy/special/overloads.py +0 -0
  113. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/numba_scipy/special/signatures.py +0 -0
  114. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/orbit/__init__.py +0 -0
  115. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/orbit/averaging.py +0 -0
  116. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/output.py +0 -0
  117. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/paths.py +0 -0
  118. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/radiogenics/__init__.py +0 -0
  119. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/radiogenics/radiogenic_models.py +0 -0
  120. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/radiogenics/radiogenics.py +0 -0
  121. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/__init__.py +0 -0
  122. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/base.pxd +0 -0
  123. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/base.pyx +0 -0
  124. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/complex_compliance/__init__.py +0 -0
  125. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/complex_compliance/complex_compliance.py +0 -0
  126. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/models.pxd +0 -0
  127. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/models.pyx +0 -0
  128. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/partial_melt/__init__.py +0 -0
  129. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/partial_melt/melting_models.py +0 -0
  130. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/partial_melt/partialmelt.py +0 -0
  131. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/rheology.py +0 -0
  132. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/viscosity/__init__.py +0 -0
  133. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/viscosity/viscosity.py +0 -0
  134. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/rheology/viscosity/viscosity_models.py +0 -0
  135. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/stellar/__init__.py +0 -0
  136. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/stellar/insolation.py +0 -0
  137. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/stellar/stellar.py +0 -0
  138. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/__init__.py +0 -0
  139. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/helpers/__init__.py +0 -0
  140. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/helpers/orbit_config.py +0 -0
  141. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/layers/__init__.py +0 -0
  142. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/layers/basic.py +0 -0
  143. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/layers/gas.py +0 -0
  144. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/layers/helper.py +0 -0
  145. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/layers/physics.py +0 -0
  146. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/orbit/__init__.py +0 -0
  147. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/orbit/base.py +0 -0
  148. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/orbit/physics.py +0 -0
  149. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/physical.py +0 -0
  150. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_builder/__init__.py +0 -0
  151. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_builder/config_handler.py +0 -0
  152. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_builder/iterative_builder.py +0 -0
  153. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_builder/world_builder.py +0 -0
  154. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_types/__init__.py +0 -0
  155. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_types/basic.py +0 -0
  156. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_types/gas.py +0 -0
  157. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_types/layered.py +0 -0
  158. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_types/stellar.py +0 -0
  159. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/structures/world_types/tidal.py +0 -0
  160. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/__init__.py +0 -0
  161. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/ctl_funcs/__init__.py +0 -0
  162. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/ctl_funcs/ctl_funcs.py +0 -0
  163. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/dissipation.py +0 -0
  164. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/eccentricity_funcs/__init__.py +0 -0
  165. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/eccentricity_funcs/orderl2.py +0 -0
  166. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/eccentricity_funcs/orderl3.py +0 -0
  167. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/eccentricity_funcs/orderl4.py +0 -0
  168. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/eccentricity_funcs/orderl5.py +0 -0
  169. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/eccentricity_funcs/orderl6.py +0 -0
  170. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/eccentricity_funcs/orderl7.py +0 -0
  171. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/heating.py +0 -0
  172. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/inclination_funcs/__init__.py +0 -0
  173. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/inclination_funcs/orderl2.py +0 -0
  174. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/inclination_funcs/orderl3.py +0 -0
  175. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/inclination_funcs/orderl4.py +0 -0
  176. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/inclination_funcs/orderl5.py +0 -0
  177. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/inclination_funcs/orderl6.py +0 -0
  178. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/inclination_funcs/orderl7.py +0 -0
  179. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/love1d.py +0 -0
  180. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/methods/__init__.py +0 -0
  181. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/methods/base.py +0 -0
  182. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/methods/global_approx.py +0 -0
  183. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/methods/layered.py +0 -0
  184. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/__init__.py +0 -0
  185. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/collapse_modes.py +0 -0
  186. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/__init__.py +0 -0
  187. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl2.py +0 -0
  188. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl3.py +0 -0
  189. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl4.py +0 -0
  190. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl5.py +0 -0
  191. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl6.py +0 -0
  192. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl7.py +0 -0
  193. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl2.py +0 -0
  194. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl3.py +0 -0
  195. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl4.py +0 -0
  196. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl5.py +0 -0
  197. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl6.py +0 -0
  198. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl7.py +0 -0
  199. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/mode_manipulation.py +0 -0
  200. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/modes.py +0 -0
  201. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/modes/multilayer_modes.py +0 -0
  202. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/multilayer/__init__.py +0 -0
  203. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/multilayer/displacements.py +0 -0
  204. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/multilayer/heating.pxd +0 -0
  205. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/multilayer/heating.pyx +0 -0
  206. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/multilayer/sensitivity.pxd +0 -0
  207. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/multilayer/sensitivity.pyx +0 -0
  208. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/multilayer/stress_strain.py +0 -0
  209. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/__init__.py +0 -0
  210. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/nsr_med_eccen_gen_obliquity.py +0 -0
  211. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/nsr_med_eccen_med_obliquity.py +0 -0
  212. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/nsr_med_eccen_no_obliquity.py +0 -0
  213. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/nsr_modes_low_eccen_gen_obliquity.py +0 -0
  214. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/nsr_modes_med_eccen_gen_obliquity.py +0 -0
  215. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/nsr_modes_med_eccen_med_obliquity.py +0 -0
  216. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/nsr_modes_med_eccen_no_obliquity.py +0 -0
  217. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/potential/synchronous_low_e.py +0 -0
  218. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/tides/universal_coeffs.py +0 -0
  219. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/toolbox/__init__.py +0 -0
  220. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/toolbox/quick_tides.py +0 -0
  221. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/__init__.py +0 -0
  222. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/arrays/__init__.py +0 -0
  223. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/arrays/interp.pxd +0 -0
  224. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/arrays/interp.pyx +0 -0
  225. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/arrays/interp_.cpp +0 -0
  226. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/arrays/interp_.hpp +0 -0
  227. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/__init__.py +0 -0
  228. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/base.py +0 -0
  229. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/base_x.pxd +0 -0
  230. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/base_x.pyx +0 -0
  231. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/config/__init__.py +0 -0
  232. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/config/config.py +0 -0
  233. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/model/__init__.py +0 -0
  234. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/model/functional_utils.py +0 -0
  235. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/model/model.py +0 -0
  236. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/classes/model/model_utils.py +0 -0
  237. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/conversions/__init__.py +0 -0
  238. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/conversions/conversions.py +0 -0
  239. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/conversions/conversions_x.pxd +0 -0
  240. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/conversions/conversions_x.pyx +0 -0
  241. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/conversions/timing.py +0 -0
  242. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/dictionary_utils.py +0 -0
  243. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/dimensions/__init__.py +0 -0
  244. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/dimensions/nondimensional.pxd +0 -0
  245. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/dimensions/nondimensional.pyx +0 -0
  246. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/dimensions/nondimensional_.hpp +0 -0
  247. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/exoplanets/__init__.py +0 -0
  248. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/exoplanets/data_download.py +0 -0
  249. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/__init__.py +0 -0
  250. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/global_map.py +0 -0
  251. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/grid_plot.py +0 -0
  252. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/multilayer/RN08-Data.csv +0 -0
  253. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/multilayer/T05-Data.csv +0 -0
  254. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/multilayer/__init__.py +0 -0
  255. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/multilayer/yplot.py +0 -0
  256. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/phasespace_plot.py +0 -0
  257. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/graphics/planet_plot.py +0 -0
  258. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/integration/__init__.py +0 -0
  259. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/integration/cyrk_helper.py +0 -0
  260. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/integration/julia_helper.py +0 -0
  261. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/integration/numbalsoda_helper.py +0 -0
  262. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/integration/scipy_helper.py +0 -0
  263. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/io/__init__.py +0 -0
  264. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/io/pathing.py +0 -0
  265. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/io/progress.py +0 -0
  266. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/__init__.pxd +0 -0
  267. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/__init__.py +0 -0
  268. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/complex.pxd +0 -0
  269. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/complex.pyx +0 -0
  270. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/numba_special.py +0 -0
  271. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/numerics.pxd +0 -0
  272. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/numerics.pyx +0 -0
  273. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/special.pxd +0 -0
  274. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/math/special.pyx +0 -0
  275. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/multiprocessing/__init__.py +0 -0
  276. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/multiprocessing/multiprocessing.py +0 -0
  277. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/numpy_helper/__init__.py +0 -0
  278. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/numpy_helper/array_other.py +0 -0
  279. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/numpy_helper/array_shape.py +0 -0
  280. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/performance/__init__.py +0 -0
  281. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/performance/memory.py +0 -0
  282. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/performance/numba.py +0 -0
  283. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/performance/special/__init__.py +0 -0
  284. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/performance/special/factorial.py +0 -0
  285. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/spherical_helper/__init__.py +0 -0
  286. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/spherical_helper/mass.py +0 -0
  287. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/spherical_helper/volume.py +0 -0
  288. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/string_helper/__init__.py +0 -0
  289. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/string_helper/string_helper.py +0 -0
  290. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/types.py +0 -0
  291. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/types_x.pxd +0 -0
  292. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy/utilities/types_x.pyx +0 -0
  293. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy.egg-info/dependency_links.txt +0 -0
  294. {tidalpy-0.7.3 → tidalpy-0.7.5}/TidalPy.egg-info/entry_points.txt +0 -0
  295. {tidalpy-0.7.3 → tidalpy-0.7.5}/cython_extensions.json +0 -0
  296. {tidalpy-0.7.3 → tidalpy-0.7.5}/setup.cfg +0 -0
@@ -29,7 +29,9 @@ include TidalPy/Material/eos/eos_solution_.cpp
29
29
  include TidalPy/Material/eos/eos_solution_.hpp
30
30
  include TidalPy/utilities/dimensions/nondimensional_.hpp
31
31
 
32
- # Exclude the whole Tests folder
32
+ # Exclude the whole Tests folder and the other developer-only directories. Third-party checkouts under
33
+ # Dependencies/ are never part of the distribution.
34
+ prune Dependencies
33
35
  prune .vscode
34
36
  prune .idea
35
37
  prune .github
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TidalPy
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary: Tidal Dynamics and Thermal-Orbital Evolution Software Suite Implemented in Cython and Python
5
5
  Author-email: "Joe P. Renaud" <TidalPy@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -13,10 +13,12 @@ Classifier: Operating System :: Microsoft :: Windows
13
13
  Classifier: Operating System :: MacOS
14
14
  Classifier: Operating System :: POSIX :: Linux
15
15
  Classifier: Programming Language :: Cython
16
+ Classifier: Programming Language :: Python :: 3.9
16
17
  Classifier: Programming Language :: Python :: 3.10
17
18
  Classifier: Programming Language :: Python :: 3.11
18
19
  Classifier: Programming Language :: Python :: 3.12
19
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
20
22
  Classifier: Programming Language :: Python :: Implementation :: CPython
21
23
  Classifier: Natural Language :: English
22
24
  Classifier: Intended Audience :: Science/Research
@@ -27,28 +29,25 @@ Classifier: Topic :: Scientific/Engineering :: Mathematics
27
29
  Classifier: Topic :: Scientific/Engineering :: Astronomy
28
30
  Classifier: Topic :: Scientific/Engineering :: Physics
29
31
  Classifier: Natural Language :: English
30
- Requires-Python: <3.14,>=3.9
32
+ Requires-Python: <3.15,>=3.9
31
33
  Description-Content-Type: text/markdown
32
34
  License-File: LICENSE.md
33
35
  Requires-Dist: numba>=0.54.1
34
- Requires-Dist: numpy<2.5,>=1.22
36
+ Requires-Dist: numpy<2.6,>=1.22
35
37
  Requires-Dist: scipy>=1.9.3
38
+ Requires-Dist: matplotlib>=3.4.2
36
39
  Requires-Dist: platformdirs>=3.11.0
37
40
  Requires-Dist: toml>=0.10.2
38
41
  Requires-Dist: dill>=0.3.2
39
42
  Requires-Dist: psutil>=5.8.0
40
43
  Requires-Dist: pathos>=0.2.0
41
- Requires-Dist: cyrk<0.18.0,>=0.17.1
44
+ Requires-Dist: cyrk<0.20.0,>=0.19.0
42
45
  Requires-Dist: astropy
43
46
  Requires-Dist: astroquery
44
- Requires-Dist: ipympl<0.10.0,>=0.9.6
45
- Requires-Dist: matplotlib<4.0.0,>=3.4.2
46
- Requires-Dist: cmcrameri
47
47
  Provides-Extra: dev
48
48
  Requires-Dist: jupyter; extra == "dev"
49
49
  Requires-Dist: pytest; extra == "dev"
50
50
  Requires-Dist: cmcrameri<2.0,>=1.4; extra == "dev"
51
- Requires-Dist: matplotlib>=3.4.2; extra == "dev"
52
51
  Requires-Dist: palettable>=3.3.0; extra == "dev"
53
52
  Requires-Dist: ipympl>=0.8.7; extra == "dev"
54
53
  Provides-Extra: docs
@@ -64,16 +63,9 @@ Requires-Dist: nbconvert; extra == "docs"
64
63
  Requires-Dist: jupyter; extra == "docs"
65
64
  Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
66
65
  Requires-Dist: breathe; extra == "docs"
67
- Requires-Dist: jupyter; extra == "docs"
68
- Requires-Dist: pytest; extra == "docs"
69
- Requires-Dist: cmcrameri<2.0,>=1.4; extra == "docs"
70
- Requires-Dist: matplotlib>=3.4.2; extra == "docs"
71
- Requires-Dist: palettable>=3.3.0; extra == "docs"
72
- Requires-Dist: ipympl>=0.8.7; extra == "docs"
73
66
  Provides-Extra: graphics
74
67
  Requires-Dist: jupyter; extra == "graphics"
75
68
  Requires-Dist: cmcrameri<2.0,>=1.4; extra == "graphics"
76
- Requires-Dist: matplotlib>=3.4.2; extra == "graphics"
77
69
  Requires-Dist: palettable>=3.3.0; extra == "graphics"
78
70
  Requires-Dist: ipympl>=0.8.7; extra == "graphics"
79
71
  Requires-Dist: cartopy>=0.22.0; extra == "graphics"
@@ -208,7 +200,8 @@ version does not have pre-built binaries or if you are running into problems wit
208
200
  TidalPy from its source code.
209
201
 
210
202
  To do so, you will need to make sure that your environment has access to a C and C++ compiler that supports
211
- C++20 standards, a recent version of Python, and has Cython 3.0+ installed.
203
+ C++20 standards, a recent version of Python, and has Cython 3.0+ installed. Each platform's default compiler
204
+ works (MSVC on Windows, GCC on Linux, Apple's clang on MacOS via `xcode-select --install`).
212
205
 
213
206
  #### PyPI Build from Source
214
207
  Using the source code uploaded to PyPI by running,
@@ -228,38 +221,10 @@ This is also the approach you would take to build TidalPy if you plan to edit it
228
221
  developing TidalPy [here](https://tidalpy.readthedocs.io/en/latest/Overview/Contributing.html).
229
222
 
230
223
  #### Special consideration for MacOS
231
- On MacOS, If you run into problems installing TidalPy then reinstall using the verbose flag (`pip install -v .`) to
232
- look at the installation log. If you see an error that looks like "clang: error: unsupported option '-fopenmp'" then
233
- you are likely using the default compiler or other compiler that does not support OpenMP. Read more about this issue
234
- [here](https://github.com/facebookresearch/xformers/issues/157) and the steps taken
235
- [here](https://github.com/jrenaud90/CyRK/blob/main/.github/workflows/push_tests_mac.yml). A fix for this issue is to
236
- use `llvm`'s clang compiler. This can be done by doing the following in your terminal before installing TidalPy.
237
-
238
- _Note this error can also occur when installing "CyRK" a critical dependency of TidalPy. The fix is the same as below,
239
- just swap out "TidalPy" for "CyRK"._
240
-
241
- ```bash
242
- brew install llvm
243
- brew install libomp
244
-
245
- # If on ARM64 (Apple Silicon) then do:
246
- export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
247
- export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
248
- export LDFLAGS="-L/opt/homebrew/opt/libomp/lib"
249
- export CPPFLAGS="-I/opt/homebrew/opt/libomp/include"
250
- export CC=/opt/homebrew/opt/llvm/bin/clang
251
- export CXX=/opt/homebrew/opt/llvm/bin/clang++
252
-
253
- # Otherwise change these directories to:
254
- export LDFLAGS="-L/usr/local/opt/llvm/lib"
255
- export CPPFLAGS="-I/usr/local/opt/llvm/include"
256
- export LDFLAGS="-L/usr/local/opt/libomp/lib"
257
- export CPPFLAGS="-I/usr/local/opt/libomp/include"
258
- export CC=/usr/local/opt/llvm/bin/clang
259
- export CXX=/usr/local/opt/llvm/bin/clang++
260
-
261
- pip install CyRK --no-binary="CyRK"
262
- ```
224
+ TidalPy v0.7.5 and later (and CyRK v0.19.0 and later) compile with Apple's default clang. Earlier versions linked to
225
+ OpenMP and needed Homebrew's `llvm` and `libomp`; those steps are no longer required. If a source build picks up an
226
+ unexpected compiler, check your shell profile for leftover `CC`, `CXX`, `LDFLAGS`, or `CPPFLAGS` exports from that
227
+ older recipe and remove them.
263
228
 
264
229
  ### TidalPy Versioning
265
230
  TidalPy uses the major.minor.bugfix versioning scheme. In TidalPy's current state, we only promise to provide support
@@ -121,7 +121,8 @@ version does not have pre-built binaries or if you are running into problems wit
121
121
  TidalPy from its source code.
122
122
 
123
123
  To do so, you will need to make sure that your environment has access to a C and C++ compiler that supports
124
- C++20 standards, a recent version of Python, and has Cython 3.0+ installed.
124
+ C++20 standards, a recent version of Python, and has Cython 3.0+ installed. Each platform's default compiler
125
+ works (MSVC on Windows, GCC on Linux, Apple's clang on MacOS via `xcode-select --install`).
125
126
 
126
127
  #### PyPI Build from Source
127
128
  Using the source code uploaded to PyPI by running,
@@ -141,38 +142,10 @@ This is also the approach you would take to build TidalPy if you plan to edit it
141
142
  developing TidalPy [here](https://tidalpy.readthedocs.io/en/latest/Overview/Contributing.html).
142
143
 
143
144
  #### Special consideration for MacOS
144
- On MacOS, If you run into problems installing TidalPy then reinstall using the verbose flag (`pip install -v .`) to
145
- look at the installation log. If you see an error that looks like "clang: error: unsupported option '-fopenmp'" then
146
- you are likely using the default compiler or other compiler that does not support OpenMP. Read more about this issue
147
- [here](https://github.com/facebookresearch/xformers/issues/157) and the steps taken
148
- [here](https://github.com/jrenaud90/CyRK/blob/main/.github/workflows/push_tests_mac.yml). A fix for this issue is to
149
- use `llvm`'s clang compiler. This can be done by doing the following in your terminal before installing TidalPy.
150
-
151
- _Note this error can also occur when installing "CyRK" a critical dependency of TidalPy. The fix is the same as below,
152
- just swap out "TidalPy" for "CyRK"._
153
-
154
- ```bash
155
- brew install llvm
156
- brew install libomp
157
-
158
- # If on ARM64 (Apple Silicon) then do:
159
- export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
160
- export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
161
- export LDFLAGS="-L/opt/homebrew/opt/libomp/lib"
162
- export CPPFLAGS="-I/opt/homebrew/opt/libomp/include"
163
- export CC=/opt/homebrew/opt/llvm/bin/clang
164
- export CXX=/opt/homebrew/opt/llvm/bin/clang++
165
-
166
- # Otherwise change these directories to:
167
- export LDFLAGS="-L/usr/local/opt/llvm/lib"
168
- export CPPFLAGS="-I/usr/local/opt/llvm/include"
169
- export LDFLAGS="-L/usr/local/opt/libomp/lib"
170
- export CPPFLAGS="-I/usr/local/opt/libomp/include"
171
- export CC=/usr/local/opt/llvm/bin/clang
172
- export CXX=/usr/local/opt/llvm/bin/clang++
173
-
174
- pip install CyRK --no-binary="CyRK"
175
- ```
145
+ TidalPy v0.7.5 and later (and CyRK v0.19.0 and later) compile with Apple's default clang. Earlier versions linked to
146
+ OpenMP and needed Homebrew's `llvm` and `libomp`; those steps are no longer required. If a source build picks up an
147
+ unexpected compiler, check your shell profile for leftover `CC`, `CXX`, `LDFLAGS`, or `CPPFLAGS` exports from that
148
+ older recipe and remove them.
176
149
 
177
150
  ### TidalPy Versioning
178
151
  TidalPy uses the major.minor.bugfix versioning scheme. In TidalPy's current state, we only promise to provide support
@@ -174,7 +174,8 @@ cdef void solve_eos(
174
174
  atols_vec, # Absolute Tolerance vector[double]
175
175
  max_step, # Maximum step size [double]
176
176
  first_step, # Initial step size (0 = find good value) [double]
177
- True # Force retain solver
177
+ True, # Force retain solver
178
+ NULL # Analytic Jacobian (only used by implicit methods) [JacobianFuncType]
178
179
  )
179
180
  #########################################################
180
181
  last_solution_size = integration_result_ptr.size
@@ -721,7 +721,8 @@ cdef int cf_shooting_solver(
721
721
  atols_vec, # Absolute Tolerance (as array) vector[double]
722
722
  max_step_to_use, # Maximum step size [double]
723
723
  first_step_size, # Initial step size (0 = find good value) [double]
724
- True # Force retain solver
724
+ True, # Force retain solver
725
+ NULL # Analytic Jacobian (only used by implicit methods) [JacobianFuncType]
725
726
  )
726
727
  #########################
727
728
 
@@ -379,7 +379,7 @@ def andrade(
379
379
  frequency: 'FloatArray', compliance: 'FloatArray', viscosity: 'FloatArray',
380
380
  alpha: float = 0.3, zeta: float = 1.
381
381
  ) -> ComplexArray:
382
- """ Calculates the complex compliance utilizing the model: Andrade
382
+ r""" Calculates the complex compliance utilizing the model: Andrade
383
383
 
384
384
  !TPY_args live: self.compliance, self.viscosity
385
385
  !TPY_args const: alpha, zeta
@@ -447,7 +447,7 @@ def andrade_freq(
447
447
  frequency: 'FloatArray', compliance: 'FloatArray', viscosity: 'FloatArray',
448
448
  alpha: float = 0.3, zeta: float = 1., critical_freq: float = 7.27221e-7, critical_freq_falloff: float = 30
449
449
  ) -> ComplexArray:
450
- """ Calculates the complex compliance utilizing the model: Andrade with a frequency-dependent zeta
450
+ r""" Calculates the complex compliance utilizing the model: Andrade with a frequency-dependent zeta
451
451
 
452
452
  !TPY_args live: self.compliance, self.viscosity
453
453
  !TPY_args const: alpha, zeta, critical_freq, critical_freq_falloff
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TidalPy
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary: Tidal Dynamics and Thermal-Orbital Evolution Software Suite Implemented in Cython and Python
5
5
  Author-email: "Joe P. Renaud" <TidalPy@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -13,10 +13,12 @@ Classifier: Operating System :: Microsoft :: Windows
13
13
  Classifier: Operating System :: MacOS
14
14
  Classifier: Operating System :: POSIX :: Linux
15
15
  Classifier: Programming Language :: Cython
16
+ Classifier: Programming Language :: Python :: 3.9
16
17
  Classifier: Programming Language :: Python :: 3.10
17
18
  Classifier: Programming Language :: Python :: 3.11
18
19
  Classifier: Programming Language :: Python :: 3.12
19
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
20
22
  Classifier: Programming Language :: Python :: Implementation :: CPython
21
23
  Classifier: Natural Language :: English
22
24
  Classifier: Intended Audience :: Science/Research
@@ -27,28 +29,25 @@ Classifier: Topic :: Scientific/Engineering :: Mathematics
27
29
  Classifier: Topic :: Scientific/Engineering :: Astronomy
28
30
  Classifier: Topic :: Scientific/Engineering :: Physics
29
31
  Classifier: Natural Language :: English
30
- Requires-Python: <3.14,>=3.9
32
+ Requires-Python: <3.15,>=3.9
31
33
  Description-Content-Type: text/markdown
32
34
  License-File: LICENSE.md
33
35
  Requires-Dist: numba>=0.54.1
34
- Requires-Dist: numpy<2.5,>=1.22
36
+ Requires-Dist: numpy<2.6,>=1.22
35
37
  Requires-Dist: scipy>=1.9.3
38
+ Requires-Dist: matplotlib>=3.4.2
36
39
  Requires-Dist: platformdirs>=3.11.0
37
40
  Requires-Dist: toml>=0.10.2
38
41
  Requires-Dist: dill>=0.3.2
39
42
  Requires-Dist: psutil>=5.8.0
40
43
  Requires-Dist: pathos>=0.2.0
41
- Requires-Dist: cyrk<0.18.0,>=0.17.1
44
+ Requires-Dist: cyrk<0.20.0,>=0.19.0
42
45
  Requires-Dist: astropy
43
46
  Requires-Dist: astroquery
44
- Requires-Dist: ipympl<0.10.0,>=0.9.6
45
- Requires-Dist: matplotlib<4.0.0,>=3.4.2
46
- Requires-Dist: cmcrameri
47
47
  Provides-Extra: dev
48
48
  Requires-Dist: jupyter; extra == "dev"
49
49
  Requires-Dist: pytest; extra == "dev"
50
50
  Requires-Dist: cmcrameri<2.0,>=1.4; extra == "dev"
51
- Requires-Dist: matplotlib>=3.4.2; extra == "dev"
52
51
  Requires-Dist: palettable>=3.3.0; extra == "dev"
53
52
  Requires-Dist: ipympl>=0.8.7; extra == "dev"
54
53
  Provides-Extra: docs
@@ -64,16 +63,9 @@ Requires-Dist: nbconvert; extra == "docs"
64
63
  Requires-Dist: jupyter; extra == "docs"
65
64
  Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
66
65
  Requires-Dist: breathe; extra == "docs"
67
- Requires-Dist: jupyter; extra == "docs"
68
- Requires-Dist: pytest; extra == "docs"
69
- Requires-Dist: cmcrameri<2.0,>=1.4; extra == "docs"
70
- Requires-Dist: matplotlib>=3.4.2; extra == "docs"
71
- Requires-Dist: palettable>=3.3.0; extra == "docs"
72
- Requires-Dist: ipympl>=0.8.7; extra == "docs"
73
66
  Provides-Extra: graphics
74
67
  Requires-Dist: jupyter; extra == "graphics"
75
68
  Requires-Dist: cmcrameri<2.0,>=1.4; extra == "graphics"
76
- Requires-Dist: matplotlib>=3.4.2; extra == "graphics"
77
69
  Requires-Dist: palettable>=3.3.0; extra == "graphics"
78
70
  Requires-Dist: ipympl>=0.8.7; extra == "graphics"
79
71
  Requires-Dist: cartopy>=0.22.0; extra == "graphics"
@@ -208,7 +200,8 @@ version does not have pre-built binaries or if you are running into problems wit
208
200
  TidalPy from its source code.
209
201
 
210
202
  To do so, you will need to make sure that your environment has access to a C and C++ compiler that supports
211
- C++20 standards, a recent version of Python, and has Cython 3.0+ installed.
203
+ C++20 standards, a recent version of Python, and has Cython 3.0+ installed. Each platform's default compiler
204
+ works (MSVC on Windows, GCC on Linux, Apple's clang on MacOS via `xcode-select --install`).
212
205
 
213
206
  #### PyPI Build from Source
214
207
  Using the source code uploaded to PyPI by running,
@@ -228,38 +221,10 @@ This is also the approach you would take to build TidalPy if you plan to edit it
228
221
  developing TidalPy [here](https://tidalpy.readthedocs.io/en/latest/Overview/Contributing.html).
229
222
 
230
223
  #### Special consideration for MacOS
231
- On MacOS, If you run into problems installing TidalPy then reinstall using the verbose flag (`pip install -v .`) to
232
- look at the installation log. If you see an error that looks like "clang: error: unsupported option '-fopenmp'" then
233
- you are likely using the default compiler or other compiler that does not support OpenMP. Read more about this issue
234
- [here](https://github.com/facebookresearch/xformers/issues/157) and the steps taken
235
- [here](https://github.com/jrenaud90/CyRK/blob/main/.github/workflows/push_tests_mac.yml). A fix for this issue is to
236
- use `llvm`'s clang compiler. This can be done by doing the following in your terminal before installing TidalPy.
237
-
238
- _Note this error can also occur when installing "CyRK" a critical dependency of TidalPy. The fix is the same as below,
239
- just swap out "TidalPy" for "CyRK"._
240
-
241
- ```bash
242
- brew install llvm
243
- brew install libomp
244
-
245
- # If on ARM64 (Apple Silicon) then do:
246
- export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
247
- export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
248
- export LDFLAGS="-L/opt/homebrew/opt/libomp/lib"
249
- export CPPFLAGS="-I/opt/homebrew/opt/libomp/include"
250
- export CC=/opt/homebrew/opt/llvm/bin/clang
251
- export CXX=/opt/homebrew/opt/llvm/bin/clang++
252
-
253
- # Otherwise change these directories to:
254
- export LDFLAGS="-L/usr/local/opt/llvm/lib"
255
- export CPPFLAGS="-I/usr/local/opt/llvm/include"
256
- export LDFLAGS="-L/usr/local/opt/libomp/lib"
257
- export CPPFLAGS="-I/usr/local/opt/libomp/include"
258
- export CC=/usr/local/opt/llvm/bin/clang
259
- export CXX=/usr/local/opt/llvm/bin/clang++
260
-
261
- pip install CyRK --no-binary="CyRK"
262
- ```
224
+ TidalPy v0.7.5 and later (and CyRK v0.19.0 and later) compile with Apple's default clang. Earlier versions linked to
225
+ OpenMP and needed Homebrew's `llvm` and `libomp`; those steps are no longer required. If a source build picks up an
226
+ unexpected compiler, check your shell profile for leftover `CC`, `CXX`, `LDFLAGS`, or `CPPFLAGS` exports from that
227
+ older recipe and remove them.
263
228
 
264
229
  ### TidalPy Versioning
265
230
  TidalPy uses the major.minor.bugfix versioning scheme. In TidalPy's current state, we only promise to provide support
@@ -1,7 +1,6 @@
1
1
  LICENSE.md
2
2
  MANIFEST.in
3
3
  README.md
4
- _build_tidalpy.py
5
4
  cython_extensions.json
6
5
  pyproject.toml
7
6
  setup.py
@@ -1,17 +1,15 @@
1
1
  numba>=0.54.1
2
- numpy<2.5,>=1.22
2
+ numpy<2.6,>=1.22
3
3
  scipy>=1.9.3
4
+ matplotlib>=3.4.2
4
5
  platformdirs>=3.11.0
5
6
  toml>=0.10.2
6
7
  dill>=0.3.2
7
8
  psutil>=5.8.0
8
9
  pathos>=0.2.0
9
- cyrk<0.18.0,>=0.17.1
10
+ cyrk<0.20.0,>=0.19.0
10
11
  astropy
11
12
  astroquery
12
- ipympl<0.10.0,>=0.9.6
13
- matplotlib<4.0.0,>=3.4.2
14
- cmcrameri
15
13
 
16
14
  [burnman]
17
15
  autograd
@@ -21,7 +19,6 @@ burnman<3,>=2.1.0
21
19
  jupyter
22
20
  pytest
23
21
  cmcrameri<2.0,>=1.4
24
- matplotlib>=3.4.2
25
22
  palettable>=3.3.0
26
23
  ipympl>=0.8.7
27
24
 
@@ -38,16 +35,10 @@ nbconvert
38
35
  jupyter
39
36
  sphinx-autodoc-typehints
40
37
  breathe
41
- pytest
42
- cmcrameri<2.0,>=1.4
43
- matplotlib>=3.4.2
44
- palettable>=3.3.0
45
- ipympl>=0.8.7
46
38
 
47
39
  [graphics]
48
40
  jupyter
49
41
  cmcrameri<2.0,>=1.4
50
- matplotlib>=3.4.2
51
42
  palettable>=3.3.0
52
43
  ipympl>=0.8.7
53
44
  cartopy>=0.22.0
@@ -0,0 +1 @@
1
+ TidalPy
@@ -1,16 +1,18 @@
1
1
  [project]
2
2
  name='TidalPy'
3
- version = '0.7.3'
3
+ version = '0.7.5'
4
4
  description='Tidal Dynamics and Thermal-Orbital Evolution Software Suite Implemented in Cython and Python'
5
5
  authors= [
6
6
  {name = 'Joe P. Renaud', email = 'TidalPy@gmail.com'}
7
7
  ]
8
- requires-python = ">=3.9,<3.14"
8
+ requires-python = ">=3.9,<3.15"
9
9
  dependencies = [
10
10
  # Scientific and computing resources
11
11
  "numba>=0.54.1",
12
- 'numpy >= 1.22, <2.5',
12
+ 'numpy >= 1.22, <2.6',
13
13
  "scipy>=1.9.3",
14
+ # Plotting
15
+ "matplotlib>=3.4.2",
14
16
  # Configuration file resources
15
17
  "platformdirs>=3.11.0",
16
18
  "toml>=0.10.2",
@@ -19,14 +21,10 @@ dependencies = [
19
21
  "psutil>=5.8.0",
20
22
  "pathos>=0.2.0",
21
23
  # Install CyRK requirements
22
- "cyrk>=0.17.1,<0.18.0",
24
+ "cyrk>=0.19.0,<0.20.0",
23
25
  # Exoplanet data archive
24
26
  "astropy",
25
- "astroquery",
26
- # Graphics
27
- "ipympl>=0.9.6,<0.10.0",
28
- "matplotlib>=3.4.2,<4.0.0",
29
- "cmcrameri"
27
+ "astroquery"
30
28
  ]
31
29
  license = "Apache-2.0"
32
30
  license-files = ["LICEN[CS]E*"]
@@ -54,10 +52,12 @@ classifiers = [
54
52
  "Operating System :: MacOS",
55
53
  "Operating System :: POSIX :: Linux",
56
54
  "Programming Language :: Cython",
55
+ "Programming Language :: Python :: 3.9",
57
56
  "Programming Language :: Python :: 3.10",
58
57
  "Programming Language :: Python :: 3.11",
59
58
  "Programming Language :: Python :: 3.12",
60
59
  "Programming Language :: Python :: 3.13",
60
+ "Programming Language :: Python :: 3.14",
61
61
  "Programming Language :: Python :: Implementation :: CPython",
62
62
  "Natural Language :: English",
63
63
  "Intended Audience :: Science/Research",
@@ -80,7 +80,6 @@ dev = [
80
80
  "jupyter",
81
81
  "pytest",
82
82
  "cmcrameri>=1.4, <2.0",
83
- "matplotlib>=3.4.2",
84
83
  "palettable>=3.3.0",
85
84
  "ipympl>=0.8.7",
86
85
  ]
@@ -97,21 +96,13 @@ docs = [
97
96
  "nbconvert",
98
97
  "jupyter",
99
98
  "sphinx-autodoc-typehints",
100
- "breathe",
101
- # We also need to install TidalPy and its deps so that auto-doc's works.
102
- "jupyter",
103
- "pytest",
104
- "cmcrameri>=1.4, <2.0",
105
- "matplotlib>=3.4.2",
106
- "palettable>=3.3.0",
107
- "ipympl>=0.8.7",
99
+ "breathe"
108
100
  ]
109
101
 
110
102
  # Recommended (sometimes required) graphics packages
111
103
  graphics = [
112
104
  "jupyter",
113
105
  "cmcrameri>=1.4,<2.0",
114
- "matplotlib>=3.4.2",
115
106
  "palettable>=3.3.0",
116
107
  "ipympl>=0.8.7",
117
108
  "cartopy>=0.22.0"
@@ -128,19 +119,19 @@ julia = [
128
119
  "diffeqpy>=1.2.0"
129
120
  ]
130
121
 
122
+ # The extension modules are declared in setup.py (setuptools has no pyproject.toml equivalent for them).
131
123
  [build-system]
132
124
  requires = [
133
125
  'setuptools>=64.0.0',
134
- 'numpy >= 1.22, <2.5',
126
+ 'numpy >= 1.22, <2.6',
135
127
  "scipy>=1.9.3",
136
128
  'cython>=3.0.0',
137
129
  'wheel>=0.38',
138
- "cyrk>=0.17.1,<0.18.0",
130
+ "cyrk>=0.19.0,<0.20.0"
139
131
  ]
140
132
  build-backend = "setuptools.build_meta"
141
133
 
142
134
  [tool.setuptools]
143
- py-modules = ["_build_tidalpy"]
144
135
  include-package-data = true
145
136
 
146
137
  [tool.setuptools.packages.find]
@@ -159,10 +150,6 @@ exclude = [
159
150
  "Documentation*"
160
151
  ]
161
152
 
162
- [tool.setuptools.cmdclass]
163
- build_py = "_build_tidalpy.build_tidalpy"
164
- build_ext = "_build_tidalpy.build_ext"
165
-
166
153
  # TODO: Get rid of the below once the numba-scipy package is updated. See the note in the module's folder.
167
154
  [project.entry-points.numba_extensions]
168
155
  init = "TidalPy.numba_scipy:_init_extension"
@@ -174,9 +161,19 @@ testpaths = [
174
161
  "Tests"
175
162
  ]
176
163
 
164
+ # Binary wheel builds (see .github/workflows/build_wheels_main_pypi.yml). Each wheel is built, repaired (auditwheel,
165
+ # delvewheel, or delocate bundle any non-system libraries it links to), and then tested in a fresh environment.
177
166
  [tool.cibuildwheel]
178
167
  build = "*"
179
- # Disable building PyPy wheels on all platforms. Also having issue with musllinux.
180
- skip = ["pp*", "*musl*"]
168
+ # No PyPy or musl wheels. Free-threaded CPython (the "t" builds) is skipped because numba, a hard dependency, does
169
+ # not ship free-threaded wheels.
170
+ skip = ["pp*", "*musl*", "cp3??t-*"]
181
171
  # Having issues with SciPy install during wheel build on 32-bit systems.
182
172
  archs = ["auto64"]
173
+ # Import the installed wheel, including the compiled RadialSolver modules that failed to load from the v0.7.4 macOS
174
+ # wheels.
175
+ test-command = 'python -c "import TidalPy; from TidalPy.RadialSolver import radial_solver, build_rs_input_homogeneous_layers; from TidalPy.rheology import Maxwell; from TidalPy.structures import build_world; print(TidalPy.__version__)"'
176
+
177
+ [tool.cibuildwheel.macos]
178
+ # The oldest macOS supported by numba's and scipy's arm64 wheels; also what the previous TidalPy wheels targeted.
179
+ environment = { MACOSX_DEPLOYMENT_TARGET = "12.0" }