xcoll 0.3.3__py3-none-any.whl → 0.3.5__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 (317) hide show
  1. xcoll/beam_elements/__init__.py +5 -0
  2. xcoll/beam_elements/absorber.py +2 -1
  3. xcoll/beam_elements/base.py +32 -17
  4. xcoll/beam_elements/collimators_src/absorber.h +5 -0
  5. xcoll/beam_elements/everest.py +14 -25
  6. xcoll/colldb.py +50 -27
  7. xcoll/general.py +1 -1
  8. xcoll/headers/checks.h +7 -1
  9. xcoll/impacts/impacts.py +2 -1
  10. xcoll/impacts/impacts_src/impacts.h +1 -6
  11. xcoll/manager.py +5 -5
  12. xcoll/rf_sweep.py +90 -19
  13. xcoll/scattering_routines/everest/__init__.py +5 -0
  14. xcoll/scattering_routines/everest/everest.py +1 -1
  15. xcoll/scattering_routines/fluka/build_fluka_input.py +58 -0
  16. xcoll/scattering_routines/fluka/flukaio/lib/libFlukaIO64.a +0 -0
  17. xcoll/scattering_routines/fluka/flukaio/lib/libFlukaIO64.so +0 -0
  18. xcoll/scattering_routines/fluka/flukaio/src/Connection.d +68 -48
  19. xcoll/scattering_routines/fluka/flukaio/src/Connection.o +0 -0
  20. xcoll/scattering_routines/fluka/flukaio/src/FlukaIO.d +46 -37
  21. xcoll/scattering_routines/fluka/flukaio/src/FlukaIO.o +0 -0
  22. xcoll/scattering_routines/fluka/flukaio/src/FlukaIOHandshake.d +28 -25
  23. xcoll/scattering_routines/fluka/flukaio/src/FlukaIOHandshake.o +0 -0
  24. xcoll/scattering_routines/fluka/flukaio/src/FlukaIOServer.d +67 -47
  25. xcoll/scattering_routines/fluka/flukaio/src/FlukaIOServer.o +0 -0
  26. xcoll/scattering_routines/fluka/flukaio/src/FortranFlukaIO.d +39 -33
  27. xcoll/scattering_routines/fluka/flukaio/src/FortranFlukaIO.o +0 -0
  28. xcoll/scattering_routines/fluka/flukaio/src/NetIO.d +66 -47
  29. xcoll/scattering_routines/fluka/flukaio/src/NetIO.o +0 -0
  30. {xcoll-0.3.3.dist-info → xcoll-0.3.5.dist-info}/METADATA +3 -2
  31. xcoll-0.3.5.dist-info/NOTICE +2 -0
  32. xcoll-0.3.5.dist-info/RECORD +111 -0
  33. {xcoll-0.3.3.dist-info → xcoll-0.3.5.dist-info}/WHEEL +1 -1
  34. xcoll/beam_elements/collimators_src/base_block.h +0 -14
  35. xcoll/beam_elements/collimators_src/base_collimator.h +0 -14
  36. xcoll/beam_elements/collimators_src/invalid_collimator.h +0 -15
  37. xcoll/install_collimators.py +0 -180
  38. xcoll/scattering_routines/geant4/collimasim/.git +0 -1
  39. xcoll/scattering_routines/geant4/collimasim/.gitignore +0 -12
  40. xcoll/scattering_routines/geant4/collimasim/.gitmodules +0 -3
  41. xcoll/scattering_routines/geant4/collimasim/CMakeLists.txt +0 -26
  42. xcoll/scattering_routines/geant4/collimasim/README.md +0 -21
  43. xcoll/scattering_routines/geant4/collimasim/docs/Makefile +0 -20
  44. xcoll/scattering_routines/geant4/collimasim/docs/make.bat +0 -35
  45. xcoll/scattering_routines/geant4/collimasim/docs/source/collimasim.rst +0 -10
  46. xcoll/scattering_routines/geant4/collimasim/docs/source/conf.py +0 -59
  47. xcoll/scattering_routines/geant4/collimasim/docs/source/index.rst +0 -26
  48. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.appveyor.yml +0 -37
  49. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-format +0 -19
  50. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-tidy +0 -65
  51. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.cmake-format.yaml +0 -73
  52. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.git +0 -1
  53. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CODEOWNERS +0 -9
  54. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CONTRIBUTING.md +0 -386
  55. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -45
  56. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -8
  57. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/dependabot.yml +0 -16
  58. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler.yml +0 -8
  59. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler_merged.yml +0 -3
  60. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/pull_request_template.md +0 -19
  61. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/ci.yml +0 -969
  62. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/configure.yml +0 -84
  63. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/format.yml +0 -48
  64. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/labeler.yml +0 -16
  65. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/pip.yml +0 -103
  66. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.gitignore +0 -45
  67. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.pre-commit-config.yaml +0 -151
  68. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.readthedocs.yml +0 -3
  69. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/CMakeLists.txt +0 -297
  70. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/LICENSE +0 -29
  71. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/MANIFEST.in +0 -6
  72. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/README.rst +0 -180
  73. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Doxyfile +0 -23
  74. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Makefile +0 -192
  75. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/_static/theme_overrides.css +0 -11
  76. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/chrono.rst +0 -81
  77. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/custom.rst +0 -93
  78. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/eigen.rst +0 -310
  79. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/functional.rst +0 -109
  80. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/index.rst +0 -43
  81. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/overview.rst +0 -171
  82. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/stl.rst +0 -251
  83. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/strings.rst +0 -305
  84. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/classes.rst +0 -1297
  85. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/embedding.rst +0 -262
  86. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/exceptions.rst +0 -396
  87. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/functions.rst +0 -568
  88. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/misc.rst +0 -337
  89. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/index.rst +0 -13
  90. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/numpy.rst +0 -463
  91. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/object.rst +0 -286
  92. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/utilities.rst +0 -155
  93. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/smart_ptrs.rst +0 -174
  94. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/basics.rst +0 -308
  95. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.py +0 -91
  96. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.rst +0 -95
  97. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/changelog.rst +0 -2050
  98. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/classes.rst +0 -542
  99. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/cmake/index.rst +0 -8
  100. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/compiling.rst +0 -648
  101. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/conf.py +0 -381
  102. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/faq.rst +0 -343
  103. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/index.rst +0 -48
  104. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/installing.rst +0 -105
  105. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/limitations.rst +0 -72
  106. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11-logo.png +0 -0
  107. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
  108. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.svg +0 -427
  109. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
  110. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.svg +0 -427
  111. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/reference.rst +0 -130
  112. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/release.rst +0 -96
  113. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/requirements.txt +0 -8
  114. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/upgrade.rst +0 -548
  115. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/attr.h +0 -605
  116. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/buffer_info.h +0 -144
  117. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/cast.h +0 -1432
  118. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/chrono.h +0 -213
  119. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/common.h +0 -2
  120. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/complex.h +0 -65
  121. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/class.h +0 -709
  122. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/common.h +0 -1021
  123. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/descr.h +0 -104
  124. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/init.h +0 -346
  125. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/internals.h +0 -467
  126. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/type_caster_base.h +0 -978
  127. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/typeid.h +0 -55
  128. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eigen.h +0 -606
  129. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/embed.h +0 -284
  130. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eval.h +0 -163
  131. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/functional.h +0 -121
  132. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/gil.h +0 -193
  133. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/iostream.h +0 -275
  134. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/numpy.h +0 -1741
  135. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/operators.h +0 -163
  136. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/options.h +0 -65
  137. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pybind11.h +0 -2497
  138. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pytypes.h +0 -1879
  139. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl/filesystem.h +0 -103
  140. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl.h +0 -375
  141. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl_bind.h +0 -747
  142. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/noxfile.py +0 -88
  143. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__init__.py +0 -11
  144. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__main__.py +0 -52
  145. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.py +0 -12
  146. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.pyi +0 -6
  147. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/commands.py +0 -21
  148. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/py.typed +0 -0
  149. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.py +0 -482
  150. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.pyi +0 -63
  151. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pyproject.toml +0 -41
  152. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.cfg +0 -56
  153. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.py +0 -155
  154. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/CMakeLists.txt +0 -503
  155. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/conftest.py +0 -208
  156. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/constructor_stats.h +0 -275
  157. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/cross_module_gil_utils.cpp +0 -73
  158. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/env.py +0 -33
  159. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/pytest.ini +0 -0
  160. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/test_files.py +0 -279
  161. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/pytest.ini +0 -0
  162. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/test_setuphelper.py +0 -143
  163. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/local_bindings.h +0 -85
  164. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/object.h +0 -179
  165. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_cross_module_tests.cpp +0 -151
  166. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.cpp +0 -91
  167. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.h +0 -85
  168. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pytest.ini +0 -19
  169. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/requirements.txt +0 -12
  170. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.cpp +0 -26
  171. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.py +0 -25
  172. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.cpp +0 -216
  173. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.py +0 -163
  174. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.cpp +0 -286
  175. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.py +0 -536
  176. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.cpp +0 -107
  177. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.py +0 -248
  178. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.cpp +0 -227
  179. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.py +0 -202
  180. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.cpp +0 -84
  181. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.py +0 -210
  182. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.cpp +0 -550
  183. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.py +0 -473
  184. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -84
  185. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/embed.cpp +0 -21
  186. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -28
  187. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -39
  188. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -46
  189. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/main.cpp +0 -6
  190. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -41
  191. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -35
  192. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -41
  193. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/test.py +0 -10
  194. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.cpp +0 -165
  195. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.py +0 -53
  196. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.cpp +0 -238
  197. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.py +0 -126
  198. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.cpp +0 -141
  199. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.py +0 -117
  200. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.cpp +0 -41
  201. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.py +0 -50
  202. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.cpp +0 -69
  203. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.py +0 -42
  204. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.cpp +0 -348
  205. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.py +0 -771
  206. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/CMakeLists.txt +0 -47
  207. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/catch.cpp +0 -22
  208. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/external_module.cpp +0 -23
  209. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.cpp +0 -326
  210. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.py +0 -15
  211. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.cpp +0 -148
  212. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.py +0 -272
  213. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.cpp +0 -119
  214. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.py +0 -51
  215. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval_call.py +0 -5
  216. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.cpp +0 -285
  217. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.h +0 -12
  218. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.py +0 -265
  219. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.cpp +0 -397
  220. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.py +0 -520
  221. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.cpp +0 -49
  222. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.py +0 -94
  223. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.cpp +0 -125
  224. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.py +0 -331
  225. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.cpp +0 -153
  226. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.py +0 -284
  227. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.cpp +0 -107
  228. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.py +0 -257
  229. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.cpp +0 -412
  230. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.py +0 -517
  231. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.cpp +0 -102
  232. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.py +0 -92
  233. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.cpp +0 -233
  234. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.py +0 -360
  235. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.cpp +0 -472
  236. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.py +0 -593
  237. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.cpp +0 -524
  238. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.py +0 -441
  239. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.cpp +0 -103
  240. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.py +0 -267
  241. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.cpp +0 -73
  242. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.py +0 -59
  243. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.cpp +0 -235
  244. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.py +0 -146
  245. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.cpp +0 -189
  246. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.py +0 -82
  247. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.cpp +0 -560
  248. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.py +0 -651
  249. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.cpp +0 -500
  250. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.py +0 -253
  251. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.cpp +0 -452
  252. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.py +0 -318
  253. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.cpp +0 -342
  254. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.py +0 -291
  255. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.cpp +0 -131
  256. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.py +0 -318
  257. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.cpp +0 -144
  258. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.py +0 -29
  259. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.cpp +0 -66
  260. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.py +0 -44
  261. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.cpp +0 -22
  262. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.py +0 -9
  263. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.cpp +0 -510
  264. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.py +0 -408
  265. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-numpy-scipy.supp +0 -140
  266. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-python.supp +0 -117
  267. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindCatch.cmake +0 -70
  268. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindEigen3.cmake +0 -86
  269. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindPythonLibsNew.cmake +0 -257
  270. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/check-style.sh +0 -44
  271. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/cmake_uninstall.cmake.in +0 -23
  272. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/libsize.py +0 -39
  273. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/make_changelog.py +0 -64
  274. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Common.cmake +0 -402
  275. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Config.cmake.in +0 -233
  276. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11NewTools.cmake +0 -276
  277. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Tools.cmake +0 -214
  278. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pyproject.toml +0 -3
  279. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_global.py.in +0 -65
  280. xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_main.py.in +0 -41
  281. xcoll/scattering_routines/geant4/collimasim/pyproject.toml +0 -8
  282. xcoll/scattering_routines/geant4/collimasim/setup.py +0 -144
  283. xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.cpp +0 -403
  284. xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.hh +0 -100
  285. xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.cpp +0 -662
  286. xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.hh +0 -110
  287. xcoll/scattering_routines/geant4/collimasim/src/collimasim/__init__.py +0 -8
  288. xcoll/scattering_routines/geant4/collimasim/src/collimasim/bindings.cpp +0 -63
  289. xcoll/scattering_routines/geant4/collimasim/src/collimasim/pyCollimatorPass.py +0 -142
  290. xcoll/scattering_routines/geant4/collimasim/src/collimasim/xtrack_collimator.py +0 -475
  291. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/PKG-INFO +0 -6
  292. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/SOURCES.txt +0 -20
  293. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/dependency_links.txt +0 -1
  294. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/not-zip-safe +0 -1
  295. xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/top_level.txt +0 -1
  296. xcoll/scattering_routines/geant4/collimasim/tests/README.md +0 -25
  297. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_new_example.dat +0 -18
  298. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_old_example.dat +0 -68
  299. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_testing.dat +0 -15
  300. xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_yaml_example.yaml +0 -110
  301. xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps.dat +0 -7
  302. xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps_pyat_test.dat +0 -3
  303. xcoll/scattering_routines/geant4/collimasim/tests/resources/collonly_twiss_file_example.tfs +0 -54
  304. xcoll/scattering_routines/geant4/collimasim/tests/resources/settings.gmad +0 -3
  305. xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_black_absorber.gmad +0 -3
  306. xcoll/scattering_routines/geant4/collimasim/tests/resources/twiss_file_testing.tfs +0 -51
  307. xcoll/scattering_routines/geant4/collimasim/tests/test_pyat.py +0 -65
  308. xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_passmethod.py +0 -59
  309. xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_tracking.py +0 -102
  310. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack.py +0 -75
  311. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_angle.py +0 -74
  312. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_colldb_load.py +0 -84
  313. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction.py +0 -159
  314. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tilt.py +0 -80
  315. xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking.py +0 -97
  316. xcoll-0.3.3.dist-info/RECORD +0 -391
  317. {xcoll-0.3.3.dist-info → xcoll-0.3.5.dist-info}/LICENSE +0 -0
@@ -1,275 +0,0 @@
1
- #pragma once
2
- /*
3
- tests/constructor_stats.h -- framework for printing and tracking object
4
- instance lifetimes in example/test code.
5
-
6
- Copyright (c) 2016 Jason Rhinelander <jason@imaginary.ca>
7
-
8
- All rights reserved. Use of this source code is governed by a
9
- BSD-style license that can be found in the LICENSE file.
10
-
11
- This header provides a few useful tools for writing examples or tests that want to check and/or
12
- display object instance lifetimes. It requires that you include this header and add the following
13
- function calls to constructors:
14
-
15
- class MyClass {
16
- MyClass() { ...; print_default_created(this); }
17
- ~MyClass() { ...; print_destroyed(this); }
18
- MyClass(const MyClass &c) { ...; print_copy_created(this); }
19
- MyClass(MyClass &&c) { ...; print_move_created(this); }
20
- MyClass(int a, int b) { ...; print_created(this, a, b); }
21
- MyClass &operator=(const MyClass &c) { ...; print_copy_assigned(this); }
22
- MyClass &operator=(MyClass &&c) { ...; print_move_assigned(this); }
23
-
24
- ...
25
- }
26
-
27
- You can find various examples of these in several of the existing testing .cpp files. (Of course
28
- you don't need to add any of the above constructors/operators that you don't actually have, except
29
- for the destructor).
30
-
31
- Each of these will print an appropriate message such as:
32
-
33
- ### MyClass @ 0x2801910 created via default constructor
34
- ### MyClass @ 0x27fa780 created 100 200
35
- ### MyClass @ 0x2801910 destroyed
36
- ### MyClass @ 0x27fa780 destroyed
37
-
38
- You can also include extra arguments (such as the 100, 200 in the output above, coming from the
39
- value constructor) for all of the above methods which will be included in the output.
40
-
41
- For testing, each of these also keeps track the created instances and allows you to check how many
42
- of the various constructors have been invoked from the Python side via code such as:
43
-
44
- from pybind11_tests import ConstructorStats
45
- cstats = ConstructorStats.get(MyClass)
46
- print(cstats.alive())
47
- print(cstats.default_constructions)
48
-
49
- Note that `.alive()` should usually be the first thing you call as it invokes Python's garbage
50
- collector to actually destroy objects that aren't yet referenced.
51
-
52
- For everything except copy and move constructors and destructors, any extra values given to the
53
- print_...() function is stored in a class-specific values list which you can retrieve and inspect
54
- from the ConstructorStats instance `.values()` method.
55
-
56
- In some cases, when you need to track instances of a C++ class not registered with pybind11, you
57
- need to add a function returning the ConstructorStats for the C++ class; this can be done with:
58
-
59
- m.def("get_special_cstats", &ConstructorStats::get<SpecialClass>, py::return_value_policy::reference)
60
-
61
- Finally, you can suppress the output messages, but keep the constructor tracking (for
62
- inspection/testing in python) by using the functions with `print_` replaced with `track_` (e.g.
63
- `track_copy_created(this)`).
64
-
65
- */
66
-
67
- #include "pybind11_tests.h"
68
- #include <unordered_map>
69
- #include <list>
70
- #include <typeindex>
71
- #include <sstream>
72
-
73
- class ConstructorStats {
74
- protected:
75
- std::unordered_map<void*, int> _instances; // Need a map rather than set because members can shared address with parents
76
- std::list<std::string> _values; // Used to track values (e.g. of value constructors)
77
- public:
78
- int default_constructions = 0;
79
- int copy_constructions = 0;
80
- int move_constructions = 0;
81
- int copy_assignments = 0;
82
- int move_assignments = 0;
83
-
84
- void copy_created(void *inst) {
85
- created(inst);
86
- copy_constructions++;
87
- }
88
-
89
- void move_created(void *inst) {
90
- created(inst);
91
- move_constructions++;
92
- }
93
-
94
- void default_created(void *inst) {
95
- created(inst);
96
- default_constructions++;
97
- }
98
-
99
- void created(void *inst) {
100
- ++_instances[inst];
101
- }
102
-
103
- void destroyed(void *inst) {
104
- if (--_instances[inst] < 0)
105
- throw std::runtime_error("cstats.destroyed() called with unknown "
106
- "instance; potential double-destruction "
107
- "or a missing cstats.created()");
108
- }
109
-
110
- static void gc() {
111
- // Force garbage collection to ensure any pending destructors are invoked:
112
- #if defined(PYPY_VERSION)
113
- PyObject *globals = PyEval_GetGlobals();
114
- PyObject *result = PyRun_String(
115
- "import gc\n"
116
- "for i in range(2):"
117
- " gc.collect()\n",
118
- Py_file_input, globals, globals);
119
- if (result == nullptr)
120
- throw py::error_already_set();
121
- Py_DECREF(result);
122
- #else
123
- py::module_::import("gc").attr("collect")();
124
- #endif
125
- }
126
-
127
- int alive() {
128
- gc();
129
- int total = 0;
130
- for (const auto &p : _instances)
131
- if (p.second > 0)
132
- total += p.second;
133
- return total;
134
- }
135
-
136
- void value() {} // Recursion terminator
137
- // Takes one or more values, converts them to strings, then stores them.
138
- template <typename T, typename... Tmore> void value(const T &v, Tmore &&...args) {
139
- std::ostringstream oss;
140
- oss << v;
141
- _values.push_back(oss.str());
142
- value(std::forward<Tmore>(args)...);
143
- }
144
-
145
- // Move out stored values
146
- py::list values() {
147
- py::list l;
148
- for (const auto &v : _values) l.append(py::cast(v));
149
- _values.clear();
150
- return l;
151
- }
152
-
153
- // Gets constructor stats from a C++ type index
154
- static ConstructorStats& get(std::type_index type) {
155
- static std::unordered_map<std::type_index, ConstructorStats> all_cstats;
156
- return all_cstats[type];
157
- }
158
-
159
- // Gets constructor stats from a C++ type
160
- template <typename T> static ConstructorStats& get() {
161
- #if defined(PYPY_VERSION)
162
- gc();
163
- #endif
164
- return get(typeid(T));
165
- }
166
-
167
- // Gets constructor stats from a Python class
168
- static ConstructorStats& get(py::object class_) {
169
- auto &internals = py::detail::get_internals();
170
- const std::type_index *t1 = nullptr, *t2 = nullptr;
171
- try {
172
- auto *type_info = internals.registered_types_py.at((PyTypeObject *) class_.ptr()).at(0);
173
- for (auto &p : internals.registered_types_cpp) {
174
- if (p.second == type_info) {
175
- if (t1) {
176
- t2 = &p.first;
177
- break;
178
- }
179
- t1 = &p.first;
180
- }
181
- }
182
- }
183
- catch (const std::out_of_range&) {}
184
- if (!t1) throw std::runtime_error("Unknown class passed to ConstructorStats::get()");
185
- auto &cs1 = get(*t1);
186
- // If we have both a t1 and t2 match, one is probably the trampoline class; return whichever
187
- // has more constructions (typically one or the other will be 0)
188
- if (t2) {
189
- auto &cs2 = get(*t2);
190
- int cs1_total = cs1.default_constructions + cs1.copy_constructions + cs1.move_constructions + (int) cs1._values.size();
191
- int cs2_total = cs2.default_constructions + cs2.copy_constructions + cs2.move_constructions + (int) cs2._values.size();
192
- if (cs2_total > cs1_total) return cs2;
193
- }
194
- return cs1;
195
- }
196
- };
197
-
198
- // To track construction/destruction, you need to call these methods from the various
199
- // constructors/operators. The ones that take extra values record the given values in the
200
- // constructor stats values for later inspection.
201
- template <class T> void track_copy_created(T *inst) { ConstructorStats::get<T>().copy_created(inst); }
202
- template <class T> void track_move_created(T *inst) { ConstructorStats::get<T>().move_created(inst); }
203
- template <class T, typename... Values> void track_copy_assigned(T *, Values &&...values) {
204
- auto &cst = ConstructorStats::get<T>();
205
- cst.copy_assignments++;
206
- cst.value(std::forward<Values>(values)...);
207
- }
208
- template <class T, typename... Values> void track_move_assigned(T *, Values &&...values) {
209
- auto &cst = ConstructorStats::get<T>();
210
- cst.move_assignments++;
211
- cst.value(std::forward<Values>(values)...);
212
- }
213
- template <class T, typename... Values> void track_default_created(T *inst, Values &&...values) {
214
- auto &cst = ConstructorStats::get<T>();
215
- cst.default_created(inst);
216
- cst.value(std::forward<Values>(values)...);
217
- }
218
- template <class T, typename... Values> void track_created(T *inst, Values &&...values) {
219
- auto &cst = ConstructorStats::get<T>();
220
- cst.created(inst);
221
- cst.value(std::forward<Values>(values)...);
222
- }
223
- template <class T, typename... Values> void track_destroyed(T *inst) {
224
- ConstructorStats::get<T>().destroyed(inst);
225
- }
226
- template <class T, typename... Values> void track_values(T *, Values &&...values) {
227
- ConstructorStats::get<T>().value(std::forward<Values>(values)...);
228
- }
229
-
230
- /// Don't cast pointers to Python, print them as strings
231
- inline const char *format_ptrs(const char *p) { return p; }
232
- template <typename T>
233
- py::str format_ptrs(T *p) { return "{:#x}"_s.format(reinterpret_cast<std::uintptr_t>(p)); }
234
- template <typename T>
235
- auto format_ptrs(T &&x) -> decltype(std::forward<T>(x)) { return std::forward<T>(x); }
236
-
237
- template <class T, typename... Output>
238
- void print_constr_details(T *inst, const std::string &action, Output &&...output) {
239
- py::print("###", py::type_id<T>(), "@", format_ptrs(inst), action,
240
- format_ptrs(std::forward<Output>(output))...);
241
- }
242
-
243
- // Verbose versions of the above:
244
- template <class T, typename... Values> void print_copy_created(T *inst, Values &&...values) { // NB: this prints, but doesn't store, given values
245
- print_constr_details(inst, "created via copy constructor", values...);
246
- track_copy_created(inst);
247
- }
248
- template <class T, typename... Values> void print_move_created(T *inst, Values &&...values) { // NB: this prints, but doesn't store, given values
249
- print_constr_details(inst, "created via move constructor", values...);
250
- track_move_created(inst);
251
- }
252
- template <class T, typename... Values> void print_copy_assigned(T *inst, Values &&...values) {
253
- print_constr_details(inst, "assigned via copy assignment", values...);
254
- track_copy_assigned(inst, values...);
255
- }
256
- template <class T, typename... Values> void print_move_assigned(T *inst, Values &&...values) {
257
- print_constr_details(inst, "assigned via move assignment", values...);
258
- track_move_assigned(inst, values...);
259
- }
260
- template <class T, typename... Values> void print_default_created(T *inst, Values &&...values) {
261
- print_constr_details(inst, "created via default constructor", values...);
262
- track_default_created(inst, values...);
263
- }
264
- template <class T, typename... Values> void print_created(T *inst, Values &&...values) {
265
- print_constr_details(inst, "created", values...);
266
- track_created(inst, values...);
267
- }
268
- template <class T, typename... Values> void print_destroyed(T *inst, Values &&...values) { // Prints but doesn't store given values
269
- print_constr_details(inst, "destroyed", values...);
270
- track_destroyed(inst);
271
- }
272
- template <class T, typename... Values> void print_values(T *inst, Values &&...values) {
273
- print_constr_details(inst, ":", values...);
274
- track_values(inst, values...);
275
- }
@@ -1,73 +0,0 @@
1
- /*
2
- tests/cross_module_gil_utils.cpp -- tools for acquiring GIL from a different module
3
-
4
- Copyright (c) 2019 Google LLC
5
-
6
- All rights reserved. Use of this source code is governed by a
7
- BSD-style license that can be found in the LICENSE file.
8
- */
9
- #include <pybind11/pybind11.h>
10
- #include <cstdint>
11
-
12
- // This file mimics a DSO that makes pybind11 calls but does not define a
13
- // PYBIND11_MODULE. The purpose is to test that such a DSO can create a
14
- // py::gil_scoped_acquire when the running thread is in a GIL-released state.
15
- //
16
- // Note that we define a Python module here for convenience, but in general
17
- // this need not be the case. The typical scenario would be a DSO that implements
18
- // shared logic used internally by multiple pybind11 modules.
19
-
20
- namespace {
21
-
22
- namespace py = pybind11;
23
- void gil_acquire() { py::gil_scoped_acquire gil; }
24
-
25
- constexpr char kModuleName[] = "cross_module_gil_utils";
26
-
27
- #if PY_MAJOR_VERSION >= 3
28
- struct PyModuleDef moduledef = {
29
- PyModuleDef_HEAD_INIT,
30
- kModuleName,
31
- NULL,
32
- 0,
33
- NULL,
34
- NULL,
35
- NULL,
36
- NULL,
37
- NULL
38
- };
39
- #else
40
- PyMethodDef module_methods[] = {
41
- {NULL, NULL, 0, NULL}
42
- };
43
- #endif
44
-
45
- } // namespace
46
-
47
- extern "C" PYBIND11_EXPORT
48
- #if PY_MAJOR_VERSION >= 3
49
- PyObject* PyInit_cross_module_gil_utils()
50
- #else
51
- void initcross_module_gil_utils()
52
- #endif
53
- {
54
-
55
- PyObject* m =
56
- #if PY_MAJOR_VERSION >= 3
57
- PyModule_Create(&moduledef);
58
- #else
59
- Py_InitModule(kModuleName, module_methods);
60
- #endif
61
-
62
- if (m != NULL) {
63
- static_assert(
64
- sizeof(&gil_acquire) == sizeof(void*),
65
- "Function pointer must have the same size as void*");
66
- PyModule_AddObject(m, "gil_acquire_funcaddr",
67
- PyLong_FromVoidPtr(reinterpret_cast<void*>(&gil_acquire)));
68
- }
69
-
70
- #if PY_MAJOR_VERSION >= 3
71
- return m;
72
- #endif
73
- }
@@ -1,33 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- import platform
3
- import sys
4
-
5
- import pytest
6
-
7
- LINUX = sys.platform.startswith("linux")
8
- MACOS = sys.platform.startswith("darwin")
9
- WIN = sys.platform.startswith("win32") or sys.platform.startswith("cygwin")
10
-
11
- CPYTHON = platform.python_implementation() == "CPython"
12
- PYPY = platform.python_implementation() == "PyPy"
13
-
14
- PY2 = sys.version_info.major == 2
15
-
16
- PY = sys.version_info
17
-
18
-
19
- def deprecated_call():
20
- """
21
- pytest.deprecated_call() seems broken in pytest<3.9.x; concretely, it
22
- doesn't work on CPython 3.8.0 with pytest==3.3.2 on Ubuntu 18.04 (#2922).
23
-
24
- This is a narrowed reimplementation of the following PR :(
25
- https://github.com/pytest-dev/pytest/pull/4104
26
- """
27
- # TODO: Remove this when testing requires pytest>=3.9.
28
- pieces = pytest.__version__.split(".")
29
- pytest_major_minor = (int(pieces[0]), int(pieces[1]))
30
- if pytest_major_minor < (3, 9):
31
- return pytest.warns((DeprecationWarning, PendingDeprecationWarning))
32
- else:
33
- return pytest.deprecated_call()
@@ -1,279 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- import contextlib
3
- import os
4
- import string
5
- import subprocess
6
- import sys
7
- import tarfile
8
- import zipfile
9
-
10
- # These tests must be run explicitly
11
- # They require CMake 3.15+ (--install)
12
-
13
- DIR = os.path.abspath(os.path.dirname(__file__))
14
- MAIN_DIR = os.path.dirname(os.path.dirname(DIR))
15
-
16
-
17
- main_headers = {
18
- "include/pybind11/attr.h",
19
- "include/pybind11/buffer_info.h",
20
- "include/pybind11/cast.h",
21
- "include/pybind11/chrono.h",
22
- "include/pybind11/common.h",
23
- "include/pybind11/complex.h",
24
- "include/pybind11/eigen.h",
25
- "include/pybind11/embed.h",
26
- "include/pybind11/eval.h",
27
- "include/pybind11/functional.h",
28
- "include/pybind11/gil.h",
29
- "include/pybind11/iostream.h",
30
- "include/pybind11/numpy.h",
31
- "include/pybind11/operators.h",
32
- "include/pybind11/options.h",
33
- "include/pybind11/pybind11.h",
34
- "include/pybind11/pytypes.h",
35
- "include/pybind11/stl.h",
36
- "include/pybind11/stl_bind.h",
37
- }
38
-
39
- detail_headers = {
40
- "include/pybind11/detail/class.h",
41
- "include/pybind11/detail/common.h",
42
- "include/pybind11/detail/descr.h",
43
- "include/pybind11/detail/init.h",
44
- "include/pybind11/detail/internals.h",
45
- "include/pybind11/detail/type_caster_base.h",
46
- "include/pybind11/detail/typeid.h",
47
- }
48
-
49
- stl_headers = {
50
- "include/pybind11/stl/filesystem.h",
51
- }
52
-
53
- cmake_files = {
54
- "share/cmake/pybind11/FindPythonLibsNew.cmake",
55
- "share/cmake/pybind11/pybind11Common.cmake",
56
- "share/cmake/pybind11/pybind11Config.cmake",
57
- "share/cmake/pybind11/pybind11ConfigVersion.cmake",
58
- "share/cmake/pybind11/pybind11NewTools.cmake",
59
- "share/cmake/pybind11/pybind11Targets.cmake",
60
- "share/cmake/pybind11/pybind11Tools.cmake",
61
- }
62
-
63
- py_files = {
64
- "__init__.py",
65
- "__main__.py",
66
- "_version.py",
67
- "_version.pyi",
68
- "commands.py",
69
- "py.typed",
70
- "setup_helpers.py",
71
- "setup_helpers.pyi",
72
- }
73
-
74
- headers = main_headers | detail_headers | stl_headers
75
- src_files = headers | cmake_files
76
- all_files = src_files | py_files
77
-
78
-
79
- sdist_files = {
80
- "pybind11",
81
- "pybind11/include",
82
- "pybind11/include/pybind11",
83
- "pybind11/include/pybind11/detail",
84
- "pybind11/include/pybind11/stl",
85
- "pybind11/share",
86
- "pybind11/share/cmake",
87
- "pybind11/share/cmake/pybind11",
88
- "pyproject.toml",
89
- "setup.cfg",
90
- "setup.py",
91
- "LICENSE",
92
- "MANIFEST.in",
93
- "README.rst",
94
- "PKG-INFO",
95
- }
96
-
97
- local_sdist_files = {
98
- ".egg-info",
99
- ".egg-info/PKG-INFO",
100
- ".egg-info/SOURCES.txt",
101
- ".egg-info/dependency_links.txt",
102
- ".egg-info/not-zip-safe",
103
- ".egg-info/top_level.txt",
104
- }
105
-
106
-
107
- def test_build_sdist(monkeypatch, tmpdir):
108
-
109
- monkeypatch.chdir(MAIN_DIR)
110
-
111
- out = subprocess.check_output(
112
- [
113
- sys.executable,
114
- "setup.py",
115
- "sdist",
116
- "--formats=tar",
117
- "--dist-dir",
118
- str(tmpdir),
119
- ]
120
- )
121
- if hasattr(out, "decode"):
122
- out = out.decode()
123
-
124
- (sdist,) = tmpdir.visit("*.tar")
125
-
126
- with tarfile.open(str(sdist)) as tar:
127
- start = tar.getnames()[0] + "/"
128
- version = start[9:-1]
129
- simpler = {n.split("/", 1)[-1] for n in tar.getnames()[1:]}
130
-
131
- with contextlib.closing(
132
- tar.extractfile(tar.getmember(start + "setup.py"))
133
- ) as f:
134
- setup_py = f.read()
135
-
136
- with contextlib.closing(
137
- tar.extractfile(tar.getmember(start + "pyproject.toml"))
138
- ) as f:
139
- pyproject_toml = f.read()
140
-
141
- with contextlib.closing(
142
- tar.extractfile(
143
- tar.getmember(
144
- start + "pybind11/share/cmake/pybind11/pybind11Config.cmake"
145
- )
146
- )
147
- ) as f:
148
- contents = f.read().decode("utf8")
149
- assert 'set(pybind11_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include")' in contents
150
-
151
- files = {"pybind11/{}".format(n) for n in all_files}
152
- files |= sdist_files
153
- files |= {"pybind11{}".format(n) for n in local_sdist_files}
154
- files.add("pybind11.egg-info/entry_points.txt")
155
- files.add("pybind11.egg-info/requires.txt")
156
- assert simpler == files
157
-
158
- with open(os.path.join(MAIN_DIR, "tools", "setup_main.py.in"), "rb") as f:
159
- contents = (
160
- string.Template(f.read().decode())
161
- .substitute(version=version, extra_cmd="")
162
- .encode()
163
- )
164
- assert setup_py == contents
165
-
166
- with open(os.path.join(MAIN_DIR, "tools", "pyproject.toml"), "rb") as f:
167
- contents = f.read()
168
- assert pyproject_toml == contents
169
-
170
-
171
- def test_build_global_dist(monkeypatch, tmpdir):
172
-
173
- monkeypatch.chdir(MAIN_DIR)
174
- monkeypatch.setenv("PYBIND11_GLOBAL_SDIST", "1")
175
-
176
- out = subprocess.check_output(
177
- [
178
- sys.executable,
179
- "setup.py",
180
- "sdist",
181
- "--formats=tar",
182
- "--dist-dir",
183
- str(tmpdir),
184
- ]
185
- )
186
- if hasattr(out, "decode"):
187
- out = out.decode()
188
-
189
- (sdist,) = tmpdir.visit("*.tar")
190
-
191
- with tarfile.open(str(sdist)) as tar:
192
- start = tar.getnames()[0] + "/"
193
- version = start[16:-1]
194
- simpler = {n.split("/", 1)[-1] for n in tar.getnames()[1:]}
195
-
196
- with contextlib.closing(
197
- tar.extractfile(tar.getmember(start + "setup.py"))
198
- ) as f:
199
- setup_py = f.read()
200
-
201
- with contextlib.closing(
202
- tar.extractfile(tar.getmember(start + "pyproject.toml"))
203
- ) as f:
204
- pyproject_toml = f.read()
205
-
206
- files = {"pybind11/{}".format(n) for n in all_files}
207
- files |= sdist_files
208
- files |= {"pybind11_global{}".format(n) for n in local_sdist_files}
209
- assert simpler == files
210
-
211
- with open(os.path.join(MAIN_DIR, "tools", "setup_global.py.in"), "rb") as f:
212
- contents = (
213
- string.Template(f.read().decode())
214
- .substitute(version=version, extra_cmd="")
215
- .encode()
216
- )
217
- assert setup_py == contents
218
-
219
- with open(os.path.join(MAIN_DIR, "tools", "pyproject.toml"), "rb") as f:
220
- contents = f.read()
221
- assert pyproject_toml == contents
222
-
223
-
224
- def tests_build_wheel(monkeypatch, tmpdir):
225
- monkeypatch.chdir(MAIN_DIR)
226
-
227
- subprocess.check_output(
228
- [sys.executable, "-m", "pip", "wheel", ".", "-w", str(tmpdir)]
229
- )
230
-
231
- (wheel,) = tmpdir.visit("*.whl")
232
-
233
- files = {"pybind11/{}".format(n) for n in all_files}
234
- files |= {
235
- "dist-info/LICENSE",
236
- "dist-info/METADATA",
237
- "dist-info/RECORD",
238
- "dist-info/WHEEL",
239
- "dist-info/entry_points.txt",
240
- "dist-info/top_level.txt",
241
- }
242
-
243
- with zipfile.ZipFile(str(wheel)) as z:
244
- names = z.namelist()
245
-
246
- trimmed = {n for n in names if "dist-info" not in n}
247
- trimmed |= {
248
- "dist-info/{}".format(n.split("/", 1)[-1]) for n in names if "dist-info" in n
249
- }
250
- assert files == trimmed
251
-
252
-
253
- def tests_build_global_wheel(monkeypatch, tmpdir):
254
- monkeypatch.chdir(MAIN_DIR)
255
- monkeypatch.setenv("PYBIND11_GLOBAL_SDIST", "1")
256
-
257
- subprocess.check_output(
258
- [sys.executable, "-m", "pip", "wheel", ".", "-w", str(tmpdir)]
259
- )
260
-
261
- (wheel,) = tmpdir.visit("*.whl")
262
-
263
- files = {"data/data/{}".format(n) for n in src_files}
264
- files |= {"data/headers/{}".format(n[8:]) for n in headers}
265
- files |= {
266
- "dist-info/LICENSE",
267
- "dist-info/METADATA",
268
- "dist-info/WHEEL",
269
- "dist-info/top_level.txt",
270
- "dist-info/RECORD",
271
- }
272
-
273
- with zipfile.ZipFile(str(wheel)) as z:
274
- names = z.namelist()
275
-
276
- beginning = names[0].split("/", 1)[0].rsplit(".", 1)[0]
277
- trimmed = {n[len(beginning) + 1 :] for n in names}
278
-
279
- assert files == trimmed