xcoll 0.5.12__py3-none-any.whl → 0.6.1__py3-none-any.whl

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 xcoll might be problematic. Click here for more details.

Files changed (336) hide show
  1. xcoll/__init__.py +5 -18
  2. xcoll/__init__.py.orig +26 -0
  3. xcoll/beam_elements/__init__.py +1 -0
  4. xcoll/beam_elements/absorber.py +12 -2
  5. xcoll/beam_elements/base.py +162 -62
  6. xcoll/beam_elements/blowup.py +1 -0
  7. xcoll/beam_elements/elements_src/black_absorber.h +57 -58
  8. xcoll/beam_elements/elements_src/black_crystal.h +49 -50
  9. xcoll/beam_elements/elements_src/everest_block.h +21 -11
  10. xcoll/beam_elements/elements_src/everest_collimator.h +100 -91
  11. xcoll/beam_elements/elements_src/everest_crystal.h +145 -140
  12. xcoll/beam_elements/elements_src/transparent_collimator.h +126 -0
  13. xcoll/beam_elements/elements_src/transparent_crystal.h +118 -0
  14. xcoll/beam_elements/everest.py +16 -5
  15. xcoll/beam_elements/monitor.py +1 -0
  16. xcoll/beam_elements/transparent.py +83 -0
  17. xcoll/colldb.py +15 -6
  18. xcoll/general.py +1 -1
  19. xcoll/general.py.orig +20 -0
  20. xcoll/headers/particle_states.py +51 -0
  21. xcoll/initial_distribution.py +121 -91
  22. xcoll/initial_distribution.py.orig +256 -0
  23. xcoll/interaction_record/interaction_record.py +2 -1
  24. xcoll/interaction_record/interaction_types.py +2 -2
  25. xcoll/line_tools.py +163 -73
  26. xcoll/lossmap.py +519 -127
  27. xcoll/plot.py +109 -0
  28. xcoll/rf_sweep.py +6 -0
  29. xcoll/scattering_routines/engine.py +414 -217
  30. xcoll/scattering_routines/environment.py +297 -0
  31. xcoll/scattering_routines/everest/amorphous.h +95 -71
  32. xcoll/scattering_routines/everest/{channeling.h → channelling.h} +121 -112
  33. xcoll/scattering_routines/everest/constants.h +1 -1
  34. xcoll/scattering_routines/everest/crystal_parameters.h +9 -9
  35. xcoll/scattering_routines/everest/everest.h +8 -3
  36. xcoll/scattering_routines/everest/everest.py +2 -1
  37. xcoll/scattering_routines/everest/ionisation_loss.h +141 -0
  38. xcoll/scattering_routines/everest/jaw.h +19 -24
  39. xcoll/scattering_routines/everest/materials.py +2 -0
  40. xcoll/scattering_routines/everest/multiple_coulomb_scattering.h +2 -2
  41. xcoll/scattering_routines/everest/nuclear_interaction.h +35 -19
  42. xcoll/scattering_routines/everest/properties.h +3 -72
  43. xcoll/xaux.py +65 -109
  44. {xcoll-0.5.12.dist-info → xcoll-0.6.1.dist-info}/METADATA +5 -5
  45. xcoll-0.6.1.dist-info/RECORD +138 -0
  46. xcoll/_manager.py +0 -22
  47. xcoll/headers/particle_states.h +0 -25
  48. xcoll/install.py +0 -35
  49. xcoll/scattering_routines/geant4/collimasim/.git +0 -1
  50. xcoll/scattering_routines/geant4/collimasim/.gitignore +0 -12
  51. xcoll/scattering_routines/geant4/collimasim/.gitmodules +0 -3
  52. xcoll/scattering_routines/geant4/collimasim/CMakeLists.txt +0 -26
  53. xcoll/scattering_routines/geant4/collimasim/README.md +0 -21
  54. xcoll/scattering_routines/geant4/collimasim/docs/Makefile +0 -20
  55. xcoll/scattering_routines/geant4/collimasim/docs/make.bat +0 -35
  56. xcoll/scattering_routines/geant4/collimasim/docs/source/collimasim.rst +0 -10
  57. xcoll/scattering_routines/geant4/collimasim/docs/source/conf.py +0 -59
  58. xcoll/scattering_routines/geant4/collimasim/docs/source/index.rst +0 -26
  59. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.appveyor.yml +0 -37
  60. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-format +0 -19
  61. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-tidy +0 -65
  62. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.cmake-format.yaml +0 -73
  63. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.git +0 -1
  64. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CODEOWNERS +0 -9
  65. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CONTRIBUTING.md +0 -386
  66. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -45
  67. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -8
  68. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/dependabot.yml +0 -16
  69. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler.yml +0 -8
  70. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler_merged.yml +0 -3
  71. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/pull_request_template.md +0 -19
  72. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/ci.yml +0 -969
  73. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/configure.yml +0 -84
  74. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/format.yml +0 -48
  75. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/labeler.yml +0 -16
  76. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/pip.yml +0 -103
  77. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.gitignore +0 -45
  78. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.pre-commit-config.yaml +0 -151
  79. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.readthedocs.yml +0 -3
  80. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/CMakeLists.txt +0 -297
  81. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/LICENSE +0 -29
  82. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/MANIFEST.in +0 -6
  83. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/README.rst +0 -180
  84. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Doxyfile +0 -23
  85. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Makefile +0 -192
  86. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/_static/theme_overrides.css +0 -11
  87. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/chrono.rst +0 -81
  88. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/custom.rst +0 -93
  89. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/eigen.rst +0 -310
  90. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/functional.rst +0 -109
  91. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/index.rst +0 -43
  92. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/overview.rst +0 -171
  93. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/stl.rst +0 -251
  94. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/strings.rst +0 -305
  95. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/classes.rst +0 -1297
  96. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/embedding.rst +0 -262
  97. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/exceptions.rst +0 -396
  98. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/functions.rst +0 -568
  99. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/misc.rst +0 -337
  100. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/index.rst +0 -13
  101. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/numpy.rst +0 -463
  102. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/object.rst +0 -286
  103. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/utilities.rst +0 -155
  104. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/smart_ptrs.rst +0 -174
  105. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/basics.rst +0 -308
  106. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.py +0 -91
  107. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.rst +0 -95
  108. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/changelog.rst +0 -2050
  109. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/classes.rst +0 -542
  110. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/cmake/index.rst +0 -8
  111. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/compiling.rst +0 -648
  112. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/conf.py +0 -381
  113. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/faq.rst +0 -343
  114. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/index.rst +0 -48
  115. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/installing.rst +0 -105
  116. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/limitations.rst +0 -72
  117. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11-logo.png +0 -0
  118. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
  119. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.svg +0 -427
  120. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
  121. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.svg +0 -427
  122. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/reference.rst +0 -130
  123. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/release.rst +0 -96
  124. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/requirements.txt +0 -8
  125. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/upgrade.rst +0 -548
  126. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/attr.h +0 -605
  127. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/buffer_info.h +0 -144
  128. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/cast.h +0 -1432
  129. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/chrono.h +0 -213
  130. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/common.h +0 -2
  131. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/complex.h +0 -65
  132. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/class.h +0 -709
  133. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/common.h +0 -1021
  134. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/descr.h +0 -104
  135. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/init.h +0 -346
  136. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/internals.h +0 -467
  137. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/type_caster_base.h +0 -978
  138. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/typeid.h +0 -55
  139. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eigen.h +0 -606
  140. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/embed.h +0 -284
  141. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eval.h +0 -163
  142. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/functional.h +0 -121
  143. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/gil.h +0 -193
  144. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/iostream.h +0 -275
  145. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/numpy.h +0 -1741
  146. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/operators.h +0 -163
  147. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/options.h +0 -65
  148. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pybind11.h +0 -2497
  149. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pytypes.h +0 -1879
  150. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl/filesystem.h +0 -103
  151. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl.h +0 -375
  152. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl_bind.h +0 -747
  153. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/noxfile.py +0 -88
  154. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__init__.py +0 -11
  155. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__main__.py +0 -52
  156. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.py +0 -12
  157. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.pyi +0 -6
  158. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/commands.py +0 -21
  159. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/py.typed +0 -0
  160. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.py +0 -482
  161. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.pyi +0 -63
  162. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pyproject.toml +0 -41
  163. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.cfg +0 -56
  164. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.py +0 -155
  165. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/CMakeLists.txt +0 -503
  166. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/conftest.py +0 -208
  167. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/constructor_stats.h +0 -275
  168. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/cross_module_gil_utils.cpp +0 -73
  169. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/env.py +0 -33
  170. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/pytest.ini +0 -0
  171. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/test_files.py +0 -279
  172. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/pytest.ini +0 -0
  173. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/test_setuphelper.py +0 -143
  174. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/local_bindings.h +0 -85
  175. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/object.h +0 -179
  176. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_cross_module_tests.cpp +0 -151
  177. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.cpp +0 -91
  178. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.h +0 -85
  179. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pytest.ini +0 -19
  180. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/requirements.txt +0 -12
  181. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.cpp +0 -26
  182. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.py +0 -25
  183. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.cpp +0 -216
  184. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.py +0 -163
  185. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.cpp +0 -286
  186. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.py +0 -536
  187. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.cpp +0 -107
  188. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.py +0 -248
  189. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.cpp +0 -227
  190. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.py +0 -202
  191. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.cpp +0 -84
  192. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.py +0 -210
  193. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.cpp +0 -550
  194. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.py +0 -473
  195. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -84
  196. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/embed.cpp +0 -21
  197. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -28
  198. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -39
  199. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -46
  200. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/main.cpp +0 -6
  201. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -41
  202. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -35
  203. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -41
  204. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/test.py +0 -10
  205. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.cpp +0 -165
  206. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.py +0 -53
  207. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.cpp +0 -238
  208. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.py +0 -126
  209. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.cpp +0 -141
  210. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.py +0 -117
  211. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.cpp +0 -41
  212. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.py +0 -50
  213. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.cpp +0 -69
  214. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.py +0 -42
  215. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.cpp +0 -348
  216. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.py +0 -771
  217. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/CMakeLists.txt +0 -47
  218. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/catch.cpp +0 -22
  219. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/external_module.cpp +0 -23
  220. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.cpp +0 -326
  221. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.py +0 -15
  222. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.cpp +0 -148
  223. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.py +0 -272
  224. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.cpp +0 -119
  225. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.py +0 -51
  226. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval_call.py +0 -5
  227. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.cpp +0 -285
  228. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.h +0 -12
  229. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.py +0 -265
  230. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.cpp +0 -397
  231. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.py +0 -520
  232. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.cpp +0 -49
  233. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.py +0 -94
  234. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.cpp +0 -125
  235. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.py +0 -331
  236. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.cpp +0 -153
  237. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.py +0 -284
  238. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.cpp +0 -107
  239. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.py +0 -257
  240. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.cpp +0 -412
  241. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.py +0 -517
  242. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.cpp +0 -102
  243. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.py +0 -92
  244. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.cpp +0 -233
  245. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.py +0 -360
  246. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.cpp +0 -472
  247. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.py +0 -593
  248. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.cpp +0 -524
  249. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.py +0 -441
  250. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.cpp +0 -103
  251. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.py +0 -267
  252. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.cpp +0 -73
  253. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.py +0 -59
  254. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.cpp +0 -235
  255. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.py +0 -146
  256. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.cpp +0 -189
  257. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.py +0 -82
  258. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.cpp +0 -560
  259. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.py +0 -651
  260. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.cpp +0 -500
  261. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.py +0 -253
  262. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.cpp +0 -452
  263. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.py +0 -318
  264. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.cpp +0 -342
  265. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.py +0 -291
  266. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.cpp +0 -131
  267. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.py +0 -318
  268. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.cpp +0 -144
  269. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.py +0 -29
  270. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.cpp +0 -66
  271. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.py +0 -44
  272. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.cpp +0 -22
  273. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.py +0 -9
  274. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.cpp +0 -510
  275. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.py +0 -408
  276. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-numpy-scipy.supp +0 -140
  277. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-python.supp +0 -117
  278. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindCatch.cmake +0 -70
  279. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindEigen3.cmake +0 -86
  280. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindPythonLibsNew.cmake +0 -257
  281. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/check-style.sh +0 -44
  282. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/cmake_uninstall.cmake.in +0 -23
  283. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/libsize.py +0 -39
  284. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/make_changelog.py +0 -64
  285. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Common.cmake +0 -402
  286. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Config.cmake.in +0 -233
  287. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11NewTools.cmake +0 -276
  288. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Tools.cmake +0 -214
  289. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pyproject.toml +0 -3
  290. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_global.py.in +0 -65
  291. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_main.py.in +0 -41
  292. xcoll/scattering_routines/geant4/collimasim/pyproject.toml +0 -8
  293. xcoll/scattering_routines/geant4/collimasim/setup.py +0 -144
  294. xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.cpp +0 -403
  295. xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.hh +0 -100
  296. xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.cpp +0 -763
  297. xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.hh +0 -118
  298. xcoll/scattering_routines/geant4/collimasim/src/collimasim/__init__.py +0 -8
  299. xcoll/scattering_routines/geant4/collimasim/src/collimasim/bindings.cpp +0 -63
  300. xcoll/scattering_routines/geant4/collimasim/src/collimasim/pyCollimatorPass.py +0 -142
  301. xcoll/scattering_routines/geant4/collimasim/src/collimasim/xtrack_collimator.py +0 -556
  302. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/PKG-INFO +0 -6
  303. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/SOURCES.txt +0 -24
  304. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/dependency_links.txt +0 -1
  305. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/not-zip-safe +0 -1
  306. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/top_level.txt +0 -1
  307. xcoll/scattering_routines/geant4/collimasim/tests/README.md +0 -25
  308. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_forions.dat +0 -25
  309. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_new_example.dat +0 -18
  310. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_old_example.dat +0 -68
  311. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_testing.dat +0 -15
  312. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_yaml_example.yaml +0 -110
  313. xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps.dat +0 -7
  314. xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps_pyat_test.dat +0 -3
  315. xcoll/scattering_routines/geant4/collimasim/tests/resources/collonly_twiss_file_example.tfs +0 -54
  316. xcoll/scattering_routines/geant4/collimasim/tests/resources/settings.gmad +0 -3
  317. xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_black_absorber.gmad +0 -3
  318. xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_ions.gmad +0 -5
  319. xcoll/scattering_routines/geant4/collimasim/tests/resources/twiss_file_testing.tfs +0 -51
  320. xcoll/scattering_routines/geant4/collimasim/tests/test_pyat.py +0 -65
  321. xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_passmethod.py +0 -59
  322. xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_tracking.py +0 -102
  323. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack.py +0 -75
  324. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_angle.py +0 -74
  325. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_colldb_load.py +0 -84
  326. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction.py +0 -159
  327. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction_ion.py +0 -99
  328. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_ions.py +0 -78
  329. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_lost_energy.py +0 -88
  330. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tilt.py +0 -80
  331. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking.py +0 -97
  332. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking_ions.py +0 -96
  333. xcoll-0.5.12.dist-info/RECORD +0 -415
  334. {xcoll-0.5.12.dist-info → xcoll-0.6.1.dist-info}/LICENSE +0 -0
  335. {xcoll-0.5.12.dist-info → xcoll-0.6.1.dist-info}/NOTICE +0 -0
  336. {xcoll-0.5.12.dist-info → xcoll-0.6.1.dist-info}/WHEEL +0 -0
@@ -1,276 +0,0 @@
1
- # tools/pybind11NewTools.cmake -- Build system for the pybind11 modules
2
- #
3
- # Copyright (c) 2020 Wenzel Jakob <wenzel@inf.ethz.ch> and Henry Schreiner
4
- #
5
- # All rights reserved. Use of this source code is governed by a
6
- # BSD-style license that can be found in the LICENSE file.
7
-
8
- get_property(
9
- is_config
10
- TARGET pybind11::headers
11
- PROPERTY IMPORTED)
12
-
13
- if(pybind11_FIND_QUIETLY)
14
- set(_pybind11_quiet QUIET)
15
- else()
16
- set(_pybind11_quiet "")
17
- endif()
18
-
19
- if(CMAKE_VERSION VERSION_LESS 3.12)
20
- message(FATAL_ERROR "You cannot use the new FindPython module with CMake < 3.12")
21
- endif()
22
-
23
- if(NOT Python_FOUND
24
- AND NOT Python3_FOUND
25
- AND NOT Python2_FOUND)
26
- if(NOT DEFINED Python_FIND_IMPLEMENTATIONS)
27
- set(Python_FIND_IMPLEMENTATIONS CPython PyPy)
28
- endif()
29
-
30
- # GitHub Actions like activation
31
- if(NOT DEFINED Python_ROOT_DIR AND DEFINED ENV{pythonLocation})
32
- set(Python_ROOT_DIR "$ENV{pythonLocation}")
33
- endif()
34
-
35
- find_package(Python REQUIRED COMPONENTS Interpreter Development ${_pybind11_quiet})
36
-
37
- # If we are in submodule mode, export the Python targets to global targets.
38
- # If this behavior is not desired, FindPython _before_ pybind11.
39
- if(NOT is_config)
40
- set_property(TARGET Python::Python PROPERTY IMPORTED_GLOBAL TRUE)
41
- set_property(TARGET Python::Interpreter PROPERTY IMPORTED_GLOBAL TRUE)
42
- if(TARGET Python::Module)
43
- set_property(TARGET Python::Module PROPERTY IMPORTED_GLOBAL TRUE)
44
- endif()
45
- endif()
46
- endif()
47
-
48
- if(Python_FOUND)
49
- set(_Python
50
- Python
51
- CACHE INTERNAL "" FORCE)
52
- elseif(Python3_FOUND AND NOT Python2_FOUND)
53
- set(_Python
54
- Python3
55
- CACHE INTERNAL "" FORCE)
56
- elseif(Python2_FOUND AND NOT Python3_FOUND)
57
- set(_Python
58
- Python2
59
- CACHE INTERNAL "" FORCE)
60
- else()
61
- message(AUTHOR_WARNING "Python2 and Python3 both present, pybind11 in "
62
- "PYBIND11_NOPYTHON mode (manually activate to silence warning)")
63
- set(_pybind11_nopython ON)
64
- return()
65
- endif()
66
-
67
- if(PYBIND11_MASTER_PROJECT)
68
- if(${_Python}_INTERPRETER_ID MATCHES "PyPy")
69
- message(STATUS "PyPy ${${_Python}_PyPy_VERSION} (Py ${${_Python}_VERSION})")
70
- else()
71
- message(STATUS "${_Python} ${${_Python}_VERSION}")
72
- endif()
73
- endif()
74
-
75
- # If a user finds Python, they may forget to include the Interpreter component
76
- # and the following two steps require it. It is highly recommended by CMake
77
- # when finding development libraries anyway, so we will require it.
78
- if(NOT DEFINED ${_Python}_EXECUTABLE)
79
- message(
80
- FATAL_ERROR
81
- "${_Python} was found without the Interpreter component. Pybind11 requires this component.")
82
-
83
- endif()
84
-
85
- if(NOT ${_Python}_EXECUTABLE STREQUAL PYBIND11_PYTHON_EXECUTABLE_LAST)
86
- # Detect changes to the Python version/binary in subsequent CMake runs, and refresh config if needed
87
- unset(PYTHON_IS_DEBUG CACHE)
88
- unset(PYTHON_MODULE_EXTENSION CACHE)
89
- set(PYBIND11_PYTHON_EXECUTABLE_LAST
90
- "${${_Python}_EXECUTABLE}"
91
- CACHE INTERNAL "Python executable during the last CMake run")
92
- endif()
93
-
94
- if(NOT DEFINED PYTHON_IS_DEBUG)
95
- # Debug check - see https://stackoverflow.com/questions/646518/python-how-to-detect-debug-Interpreter
96
- execute_process(
97
- COMMAND "${${_Python}_EXECUTABLE}" "-c"
98
- "import sys; sys.exit(hasattr(sys, 'gettotalrefcount'))"
99
- RESULT_VARIABLE _PYTHON_IS_DEBUG)
100
- set(PYTHON_IS_DEBUG
101
- "${_PYTHON_IS_DEBUG}"
102
- CACHE INTERNAL "Python debug status")
103
- endif()
104
-
105
- # Get the suffix - SO is deprecated, should use EXT_SUFFIX, but this is
106
- # required for PyPy3 (as of 7.3.1)
107
- if(NOT DEFINED PYTHON_MODULE_EXTENSION)
108
- execute_process(
109
- COMMAND
110
- "${${_Python}_EXECUTABLE}" "-c"
111
- "from distutils import sysconfig as s;print(s.get_config_var('EXT_SUFFIX') or s.get_config_var('SO'))"
112
- OUTPUT_VARIABLE _PYTHON_MODULE_EXTENSION
113
- ERROR_VARIABLE _PYTHON_MODULE_EXTENSION_ERR
114
- OUTPUT_STRIP_TRAILING_WHITESPACE)
115
-
116
- if(_PYTHON_MODULE_EXTENSION STREQUAL "")
117
- message(
118
- FATAL_ERROR "pybind11 could not query the module file extension, likely the 'distutils'"
119
- "package is not installed. Full error message:\n${_PYTHON_MODULE_EXTENSION_ERR}")
120
- endif()
121
-
122
- # This needs to be available for the pybind11_extension function
123
- set(PYTHON_MODULE_EXTENSION
124
- "${_PYTHON_MODULE_EXTENSION}"
125
- CACHE INTERNAL "")
126
- endif()
127
-
128
- # Python debug libraries expose slightly different objects before 3.8
129
- # https://docs.python.org/3.6/c-api/intro.html#debugging-builds
130
- # https://stackoverflow.com/questions/39161202/how-to-work-around-missing-pymodule-create2-in-amd64-win-python35-d-lib
131
- if(PYTHON_IS_DEBUG)
132
- set_property(
133
- TARGET pybind11::pybind11
134
- APPEND
135
- PROPERTY INTERFACE_COMPILE_DEFINITIONS Py_DEBUG)
136
- endif()
137
-
138
- # Check on every access - since Python2 and Python3 could have been used - do nothing in that case.
139
-
140
- if(DEFINED ${_Python}_INCLUDE_DIRS)
141
- # Only add Python for build - must be added during the import for config
142
- # since it has to be re-discovered.
143
- #
144
- # This needs to be a target to be included after the local pybind11
145
- # directory, just in case there there is an installed pybind11 sitting
146
- # next to Python's includes. It also ensures Python is a SYSTEM library.
147
- add_library(pybind11::python_headers INTERFACE IMPORTED)
148
- set_property(
149
- TARGET pybind11::python_headers PROPERTY INTERFACE_INCLUDE_DIRECTORIES
150
- "$<BUILD_INTERFACE:${${_Python}_INCLUDE_DIRS}>")
151
- set_property(
152
- TARGET pybind11::pybind11
153
- APPEND
154
- PROPERTY INTERFACE_LINK_LIBRARIES pybind11::python_headers)
155
- set(pybind11_INCLUDE_DIRS
156
- "${pybind11_INCLUDE_DIR}" "${${_Python}_INCLUDE_DIRS}"
157
- CACHE INTERNAL "Directories where pybind11 and possibly Python headers are located")
158
- endif()
159
-
160
- if(DEFINED ${_Python}_VERSION AND ${_Python}_VERSION VERSION_LESS 3)
161
- set_property(
162
- TARGET pybind11::pybind11
163
- APPEND
164
- PROPERTY INTERFACE_LINK_LIBRARIES pybind11::python2_no_register)
165
- endif()
166
-
167
- # In CMake 3.18+, you can find these separately, so include an if
168
- if(TARGET ${_Python}::Python)
169
- set_property(
170
- TARGET pybind11::embed
171
- APPEND
172
- PROPERTY INTERFACE_LINK_LIBRARIES ${_Python}::Python)
173
- endif()
174
-
175
- # CMake 3.15+ has this
176
- if(TARGET ${_Python}::Module)
177
- set_property(
178
- TARGET pybind11::module
179
- APPEND
180
- PROPERTY INTERFACE_LINK_LIBRARIES ${_Python}::Module)
181
- else()
182
- set_property(
183
- TARGET pybind11::module
184
- APPEND
185
- PROPERTY INTERFACE_LINK_LIBRARIES pybind11::python_link_helper)
186
- endif()
187
-
188
- # WITHOUT_SOABI and WITH_SOABI will disable the custom extension handling used by pybind11.
189
- # WITH_SOABI is passed on to python_add_library.
190
- function(pybind11_add_module target_name)
191
- cmake_parse_arguments(PARSE_ARGV 1 ARG
192
- "STATIC;SHARED;MODULE;THIN_LTO;OPT_SIZE;NO_EXTRAS;WITHOUT_SOABI" "" "")
193
-
194
- if(ARG_STATIC)
195
- set(lib_type STATIC)
196
- elseif(ARG_SHARED)
197
- set(lib_type SHARED)
198
- else()
199
- set(lib_type MODULE)
200
- endif()
201
-
202
- if("${_Python}" STREQUAL "Python")
203
- python_add_library(${target_name} ${lib_type} ${ARG_UNPARSED_ARGUMENTS})
204
- elseif("${_Python}" STREQUAL "Python3")
205
- python3_add_library(${target_name} ${lib_type} ${ARG_UNPARSED_ARGUMENTS})
206
- elseif("${_Python}" STREQUAL "Python2")
207
- python2_add_library(${target_name} ${lib_type} ${ARG_UNPARSED_ARGUMENTS})
208
- else()
209
- message(FATAL_ERROR "Cannot detect FindPython version: ${_Python}")
210
- endif()
211
-
212
- target_link_libraries(${target_name} PRIVATE pybind11::headers)
213
-
214
- if(lib_type STREQUAL "MODULE")
215
- target_link_libraries(${target_name} PRIVATE pybind11::module)
216
- else()
217
- target_link_libraries(${target_name} PRIVATE pybind11::embed)
218
- endif()
219
-
220
- if(MSVC)
221
- target_link_libraries(${target_name} PRIVATE pybind11::windows_extras)
222
- endif()
223
-
224
- if(DEFINED ${_Python}_VERSION AND ${_Python}_VERSION VERSION_LESS 3)
225
- target_link_libraries(${target_name} PRIVATE pybind11::python2_no_register)
226
- endif()
227
-
228
- # -fvisibility=hidden is required to allow multiple modules compiled against
229
- # different pybind versions to work properly, and for some features (e.g.
230
- # py::module_local). We force it on everything inside the `pybind11`
231
- # namespace; also turning it on for a pybind module compilation here avoids
232
- # potential warnings or issues from having mixed hidden/non-hidden types.
233
- if(NOT DEFINED CMAKE_CXX_VISIBILITY_PRESET)
234
- set_target_properties(${target_name} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
235
- endif()
236
-
237
- if(NOT DEFINED CMAKE_CUDA_VISIBILITY_PRESET)
238
- set_target_properties(${target_name} PROPERTIES CUDA_VISIBILITY_PRESET "hidden")
239
- endif()
240
-
241
- # If we don't pass a WITH_SOABI or WITHOUT_SOABI, use our own default handling of extensions
242
- if(NOT ARG_WITHOUT_SOABI AND NOT "WITH_SOABI" IN_LIST ARG_UNPARSED_ARGUMENTS)
243
- pybind11_extension(${target_name})
244
- endif()
245
-
246
- if(ARG_NO_EXTRAS)
247
- return()
248
- endif()
249
-
250
- if(NOT DEFINED CMAKE_INTERPROCEDURAL_OPTIMIZATION)
251
- if(ARG_THIN_LTO)
252
- target_link_libraries(${target_name} PRIVATE pybind11::thin_lto)
253
- else()
254
- target_link_libraries(${target_name} PRIVATE pybind11::lto)
255
- endif()
256
- endif()
257
-
258
- if(NOT MSVC AND NOT ${CMAKE_BUILD_TYPE} MATCHES Debug|RelWithDebInfo)
259
- # Strip unnecessary sections of the binary on Linux/macOS
260
- pybind11_strip(${target_name})
261
- endif()
262
-
263
- if(MSVC)
264
- target_link_libraries(${target_name} PRIVATE pybind11::windows_extras)
265
- endif()
266
-
267
- if(ARG_OPT_SIZE)
268
- target_link_libraries(${target_name} PRIVATE pybind11::opt_size)
269
- endif()
270
- endfunction()
271
-
272
- function(pybind11_extension name)
273
- # The extension is precomputed
274
- set_target_properties(${name} PROPERTIES PREFIX "" SUFFIX "${PYTHON_MODULE_EXTENSION}")
275
-
276
- endfunction()
@@ -1,214 +0,0 @@
1
- # tools/pybind11Tools.cmake -- Build system for the pybind11 modules
2
- #
3
- # Copyright (c) 2020 Wenzel Jakob <wenzel.jakob@epfl.ch>
4
- #
5
- # All rights reserved. Use of this source code is governed by a
6
- # BSD-style license that can be found in the LICENSE file.
7
-
8
- # Built-in in CMake 3.5+
9
- include(CMakeParseArguments)
10
-
11
- if(pybind11_FIND_QUIETLY)
12
- set(_pybind11_quiet QUIET)
13
- else()
14
- set(_pybind11_quiet "")
15
- endif()
16
-
17
- # If this is the first run, PYTHON_VERSION can stand in for PYBIND11_PYTHON_VERSION
18
- if(NOT DEFINED PYBIND11_PYTHON_VERSION AND DEFINED PYTHON_VERSION)
19
- message(WARNING "Set PYBIND11_PYTHON_VERSION to search for a specific version, not "
20
- "PYTHON_VERSION (which is an output). Assuming that is what you "
21
- "meant to do and continuing anyway.")
22
- set(PYBIND11_PYTHON_VERSION
23
- "${PYTHON_VERSION}"
24
- CACHE STRING "Python version to use for compiling modules")
25
- unset(PYTHON_VERSION)
26
- unset(PYTHON_VERSION CACHE)
27
- elseif(DEFINED PYBIND11_PYTHON_VERSION)
28
- # If this is set as a normal variable, promote it
29
- set(PYBIND11_PYTHON_VERSION
30
- "${PYBIND11_PYTHON_VERSION}"
31
- CACHE STRING "Python version to use for compiling modules")
32
- else()
33
- # Make an empty cache variable.
34
- set(PYBIND11_PYTHON_VERSION
35
- ""
36
- CACHE STRING "Python version to use for compiling modules")
37
- endif()
38
-
39
- # A user can set versions manually too
40
- set(Python_ADDITIONAL_VERSIONS
41
- "3.10;3.9;3.8;3.7;3.6;3.5;3.4"
42
- CACHE INTERNAL "")
43
-
44
- list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
45
- find_package(PythonLibsNew ${PYBIND11_PYTHON_VERSION} MODULE REQUIRED ${_pybind11_quiet})
46
- list(REMOVE_AT CMAKE_MODULE_PATH -1)
47
-
48
- # Makes a normal variable a cached variable
49
- macro(_PYBIND11_PROMOTE_TO_CACHE NAME)
50
- set(_tmp_ptc "${${NAME}}")
51
- # CMake 3.21 complains if a cached variable is shadowed by a normal one
52
- unset(${NAME})
53
- set(${NAME}
54
- "${_tmp_ptc}"
55
- CACHE INTERNAL "")
56
- endmacro()
57
-
58
- # Cache variables so pybind11_add_module can be used in parent projects
59
- _pybind11_promote_to_cache(PYTHON_INCLUDE_DIRS)
60
- _pybind11_promote_to_cache(PYTHON_LIBRARIES)
61
- _pybind11_promote_to_cache(PYTHON_MODULE_PREFIX)
62
- _pybind11_promote_to_cache(PYTHON_MODULE_EXTENSION)
63
- _pybind11_promote_to_cache(PYTHON_VERSION_MAJOR)
64
- _pybind11_promote_to_cache(PYTHON_VERSION_MINOR)
65
- _pybind11_promote_to_cache(PYTHON_VERSION)
66
- _pybind11_promote_to_cache(PYTHON_IS_DEBUG)
67
-
68
- if(PYBIND11_MASTER_PROJECT)
69
- if(PYTHON_MODULE_EXTENSION MATCHES "pypy")
70
- if(NOT DEFINED PYPY_VERSION)
71
- execute_process(
72
- COMMAND ${PYTHON_EXECUTABLE} -c
73
- [=[import sys; sys.stdout.write(".".join(map(str, sys.pypy_version_info[:3])))]=]
74
- OUTPUT_VARIABLE pypy_version)
75
- set(PYPY_VERSION
76
- ${pypy_version}
77
- CACHE INTERNAL "")
78
- endif()
79
- message(STATUS "PYPY ${PYPY_VERSION} (Py ${PYTHON_VERSION})")
80
- else()
81
- message(STATUS "PYTHON ${PYTHON_VERSION}")
82
- endif()
83
- endif()
84
-
85
- # Only add Python for build - must be added during the import for config since
86
- # it has to be re-discovered.
87
- #
88
- # This needs to be an target to it is included after the local pybind11
89
- # directory, just in case there are multiple versions of pybind11, we want the
90
- # one we expect.
91
- add_library(pybind11::python_headers INTERFACE IMPORTED)
92
- set_property(TARGET pybind11::python_headers PROPERTY INTERFACE_INCLUDE_DIRECTORIES
93
- "$<BUILD_INTERFACE:${PYTHON_INCLUDE_DIRS}>")
94
- set_property(
95
- TARGET pybind11::pybind11
96
- APPEND
97
- PROPERTY INTERFACE_LINK_LIBRARIES pybind11::python_headers)
98
-
99
- set(pybind11_INCLUDE_DIRS
100
- "${pybind11_INCLUDE_DIR}" "${PYTHON_INCLUDE_DIRS}"
101
- CACHE INTERNAL "Directories where pybind11 and possibly Python headers are located")
102
-
103
- # Python debug libraries expose slightly different objects before 3.8
104
- # https://docs.python.org/3.6/c-api/intro.html#debugging-builds
105
- # https://stackoverflow.com/questions/39161202/how-to-work-around-missing-pymodule-create2-in-amd64-win-python35-d-lib
106
- if(PYTHON_IS_DEBUG)
107
- set_property(
108
- TARGET pybind11::pybind11
109
- APPEND
110
- PROPERTY INTERFACE_COMPILE_DEFINITIONS Py_DEBUG)
111
- endif()
112
-
113
- set_property(
114
- TARGET pybind11::module
115
- APPEND
116
- PROPERTY
117
- INTERFACE_LINK_LIBRARIES pybind11::python_link_helper
118
- "$<$<OR:$<PLATFORM_ID:Windows>,$<PLATFORM_ID:Cygwin>>:$<BUILD_INTERFACE:${PYTHON_LIBRARIES}>>")
119
-
120
- if(PYTHON_VERSION VERSION_LESS 3)
121
- set_property(
122
- TARGET pybind11::pybind11
123
- APPEND
124
- PROPERTY INTERFACE_LINK_LIBRARIES pybind11::python2_no_register)
125
- endif()
126
-
127
- set_property(
128
- TARGET pybind11::embed
129
- APPEND
130
- PROPERTY INTERFACE_LINK_LIBRARIES pybind11::pybind11 $<BUILD_INTERFACE:${PYTHON_LIBRARIES}>)
131
-
132
- function(pybind11_extension name)
133
- # The prefix and extension are provided by FindPythonLibsNew.cmake
134
- set_target_properties(${name} PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}"
135
- SUFFIX "${PYTHON_MODULE_EXTENSION}")
136
- endfunction()
137
-
138
- # Build a Python extension module:
139
- # pybind11_add_module(<name> [MODULE | SHARED] [EXCLUDE_FROM_ALL]
140
- # [NO_EXTRAS] [THIN_LTO] [OPT_SIZE] source1 [source2 ...])
141
- #
142
- function(pybind11_add_module target_name)
143
- set(options "MODULE;SHARED;EXCLUDE_FROM_ALL;NO_EXTRAS;SYSTEM;THIN_LTO;OPT_SIZE")
144
- cmake_parse_arguments(ARG "${options}" "" "" ${ARGN})
145
-
146
- if(ARG_MODULE AND ARG_SHARED)
147
- message(FATAL_ERROR "Can't be both MODULE and SHARED")
148
- elseif(ARG_SHARED)
149
- set(lib_type SHARED)
150
- else()
151
- set(lib_type MODULE)
152
- endif()
153
-
154
- if(ARG_EXCLUDE_FROM_ALL)
155
- set(exclude_from_all EXCLUDE_FROM_ALL)
156
- else()
157
- set(exclude_from_all "")
158
- endif()
159
-
160
- add_library(${target_name} ${lib_type} ${exclude_from_all} ${ARG_UNPARSED_ARGUMENTS})
161
-
162
- target_link_libraries(${target_name} PRIVATE pybind11::module)
163
-
164
- if(ARG_SYSTEM)
165
- message(
166
- STATUS
167
- "Warning: this does not have an effect - use NO_SYSTEM_FROM_IMPORTED if using imported targets"
168
- )
169
- endif()
170
-
171
- pybind11_extension(${target_name})
172
-
173
- # -fvisibility=hidden is required to allow multiple modules compiled against
174
- # different pybind versions to work properly, and for some features (e.g.
175
- # py::module_local). We force it on everything inside the `pybind11`
176
- # namespace; also turning it on for a pybind module compilation here avoids
177
- # potential warnings or issues from having mixed hidden/non-hidden types.
178
- if(NOT DEFINED CMAKE_CXX_VISIBILITY_PRESET)
179
- set_target_properties(${target_name} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
180
- endif()
181
-
182
- if(NOT DEFINED CMAKE_CUDA_VISIBILITY_PRESET)
183
- set_target_properties(${target_name} PROPERTIES CUDA_VISIBILITY_PRESET "hidden")
184
- endif()
185
-
186
- if(ARG_NO_EXTRAS)
187
- return()
188
- endif()
189
-
190
- if(NOT DEFINED CMAKE_INTERPROCEDURAL_OPTIMIZATION)
191
- if(ARG_THIN_LTO)
192
- target_link_libraries(${target_name} PRIVATE pybind11::thin_lto)
193
- else()
194
- target_link_libraries(${target_name} PRIVATE pybind11::lto)
195
- endif()
196
- endif()
197
-
198
- if(NOT MSVC AND NOT ${CMAKE_BUILD_TYPE} MATCHES Debug|RelWithDebInfo)
199
- pybind11_strip(${target_name})
200
- endif()
201
-
202
- if(MSVC)
203
- target_link_libraries(${target_name} PRIVATE pybind11::windows_extras)
204
- endif()
205
-
206
- if(ARG_OPT_SIZE)
207
- target_link_libraries(${target_name} PRIVATE pybind11::opt_size)
208
- endif()
209
- endfunction()
210
-
211
- # Provide general way to call common Python commands in "common" file.
212
- set(_Python
213
- PYTHON
214
- CACHE INTERNAL "" FORCE)
@@ -1,3 +0,0 @@
1
- [build-system]
2
- requires = ["setuptools>=42", "wheel"]
3
- build-backend = "setuptools.build_meta"
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- # Setup script for pybind11-global (in the sdist or in tools/setup_global.py in the repository)
5
- # This package is targeted for easy use from CMake.
6
-
7
- import contextlib
8
- import glob
9
- import os
10
- import re
11
- import shutil
12
- import subprocess
13
- import sys
14
- import tempfile
15
-
16
- # Setuptools has to be before distutils
17
- from setuptools import setup
18
-
19
- from distutils.command.install_headers import install_headers
20
-
21
- class InstallHeadersNested(install_headers):
22
- def run(self):
23
- headers = self.distribution.headers or []
24
- for header in headers:
25
- # Remove pybind11/include/
26
- short_header = header.split("/", 2)[-1]
27
-
28
- dst = os.path.join(self.install_dir, os.path.dirname(short_header))
29
- self.mkpath(dst)
30
- (out, _) = self.copy_file(header, dst)
31
- self.outfiles.append(out)
32
-
33
-
34
- main_headers = glob.glob("pybind11/include/pybind11/*.h")
35
- detail_headers = glob.glob("pybind11/include/pybind11/detail/*.h")
36
- stl_headers = glob.glob("pybind11/include/pybind11/stl/*.h")
37
- cmake_files = glob.glob("pybind11/share/cmake/pybind11/*.cmake")
38
- headers = main_headers + detail_headers + stl_headers
39
-
40
- cmdclass = {"install_headers": InstallHeadersNested}
41
- $extra_cmd
42
-
43
- # This will _not_ affect installing from wheels,
44
- # only building wheels or installing from SDist.
45
- # Primarily intended on Windows, where this is sometimes
46
- # customized (for example, conda-forge uses Library/)
47
- base = os.environ.get("PYBIND11_GLOBAL_PREFIX", "")
48
-
49
- # Must have a separator
50
- if base and not base.endswith("/"):
51
- base += "/"
52
-
53
- setup(
54
- name="pybind11_global",
55
- version="$version",
56
- packages=[],
57
- headers=headers,
58
- data_files=[
59
- (base + "share/cmake/pybind11", cmake_files),
60
- (base + "include/pybind11", main_headers),
61
- (base + "include/pybind11/detail", detail_headers),
62
- (base + "include/pybind11/stl", stl_headers),
63
- ],
64
- cmdclass=cmdclass,
65
- )
@@ -1,41 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- # Setup script (in the sdist or in tools/setup_main.py in the repository)
5
-
6
- from setuptools import setup
7
-
8
- cmdclass = {}
9
- $extra_cmd
10
-
11
- setup(
12
- name="pybind11",
13
- version="$version",
14
- download_url='https://github.com/pybind/pybind11/tarball/v$version',
15
- packages=[
16
- "pybind11",
17
- "pybind11.include.pybind11",
18
- "pybind11.include.pybind11.detail",
19
- "pybind11.include.pybind11.stl",
20
- "pybind11.share.cmake.pybind11",
21
- ],
22
- package_data={
23
- "pybind11": ["py.typed", "*.pyi"],
24
- "pybind11.include.pybind11": ["*.h"],
25
- "pybind11.include.pybind11.detail": ["*.h"],
26
- "pybind11.include.pybind11.stl": ["*.h"],
27
- "pybind11.share.cmake.pybind11": ["*.cmake"],
28
- },
29
- extras_require={
30
- "global": ["pybind11_global==$version"]
31
- },
32
- entry_points={
33
- "console_scripts": [
34
- "pybind11-config = pybind11.__main__:main",
35
- ],
36
- "pipx.run": [
37
- "pybind11 = pybind11.__main__:main",
38
- ]
39
- },
40
- cmdclass=cmdclass
41
- )
@@ -1,8 +0,0 @@
1
- [build-system]
2
- requires = [
3
- "setuptools>=42",
4
- "wheel",
5
- "ninja; sys_platform != 'win32' and platform_machine != 'arm64'",
6
- "cmake>=3.17",
7
- ]
8
- build-backend = "setuptools.build_meta"