xcoll 0.3.6__py3-none-any.whl → 0.5.0__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.
- xcoll/__init__.py +13 -4
- xcoll/beam_elements/__init__.py +14 -6
- xcoll/beam_elements/absorber.py +41 -7
- xcoll/beam_elements/base.py +1202 -247
- xcoll/beam_elements/blowup.py +198 -0
- xcoll/beam_elements/elements_src/black_absorber.h +136 -0
- xcoll/beam_elements/elements_src/black_crystal.h +129 -0
- xcoll/beam_elements/elements_src/blowup.h +42 -0
- xcoll/beam_elements/elements_src/emittance_monitor.h +109 -0
- xcoll/beam_elements/{collimators_src → elements_src}/everest_block.h +59 -30
- xcoll/beam_elements/elements_src/everest_collimator.h +237 -0
- xcoll/beam_elements/elements_src/everest_crystal.h +280 -0
- xcoll/beam_elements/everest.py +65 -119
- xcoll/beam_elements/monitor.py +428 -0
- xcoll/colldb.py +276 -747
- xcoll/general.py +5 -5
- xcoll/headers/checks.h +1 -1
- xcoll/headers/particle_states.h +2 -2
- xcoll/initial_distribution.py +207 -0
- xcoll/install.py +179 -0
- xcoll/interaction_record/__init__.py +1 -0
- xcoll/interaction_record/interaction_record.py +298 -0
- xcoll/interaction_record/interaction_record_src/interaction_record.h +98 -0
- xcoll/{impacts → interaction_record}/interaction_types.py +11 -4
- xcoll/line_tools.py +82 -0
- xcoll/lossmap.py +219 -0
- xcoll/manager.py +2 -937
- xcoll/rf_sweep.py +1 -1
- xcoll/scattering_routines/everest/amorphous.h +232 -0
- xcoll/scattering_routines/everest/channeling.h +240 -0
- xcoll/scattering_routines/everest/crystal_parameters.h +137 -0
- xcoll/scattering_routines/everest/everest.h +11 -30
- xcoll/scattering_routines/everest/everest.py +13 -10
- xcoll/scattering_routines/everest/jaw.h +28 -197
- xcoll/scattering_routines/everest/materials.py +37 -15
- xcoll/scattering_routines/everest/multiple_coulomb_scattering.h +31 -10
- xcoll/scattering_routines/everest/nuclear_interaction.h +86 -0
- xcoll/scattering_routines/everest/properties.h +6 -1
- xcoll/scattering_routines/fluka/flukaio/lib/libFlukaIO64.a +0 -0
- xcoll/scattering_routines/geant4/collimasim/.git +1 -0
- xcoll/scattering_routines/geant4/collimasim/.gitignore +12 -0
- xcoll/scattering_routines/geant4/collimasim/.gitmodules +3 -0
- xcoll/scattering_routines/geant4/collimasim/CMakeLists.txt +26 -0
- xcoll/scattering_routines/geant4/collimasim/README.md +21 -0
- xcoll/scattering_routines/geant4/collimasim/docs/Makefile +20 -0
- xcoll/scattering_routines/geant4/collimasim/docs/make.bat +35 -0
- xcoll/scattering_routines/geant4/collimasim/docs/source/collimasim.rst +10 -0
- xcoll/scattering_routines/geant4/collimasim/docs/source/conf.py +59 -0
- xcoll/scattering_routines/geant4/collimasim/docs/source/index.rst +26 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.appveyor.yml +37 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-format +19 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-tidy +65 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.cmake-format.yaml +73 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.git +1 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CODEOWNERS +9 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CONTRIBUTING.md +386 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +45 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/config.yml +8 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/dependabot.yml +16 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler.yml +8 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler_merged.yml +3 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/pull_request_template.md +19 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/ci.yml +969 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/configure.yml +84 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/format.yml +48 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/labeler.yml +16 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/pip.yml +103 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.gitignore +45 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.pre-commit-config.yaml +151 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.readthedocs.yml +3 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/CMakeLists.txt +297 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/LICENSE +29 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/MANIFEST.in +6 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/README.rst +180 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Doxyfile +23 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Makefile +192 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/_static/theme_overrides.css +11 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/chrono.rst +81 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/custom.rst +93 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/eigen.rst +310 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/functional.rst +109 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/index.rst +43 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/overview.rst +171 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/stl.rst +251 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/strings.rst +305 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/classes.rst +1297 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/embedding.rst +262 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/exceptions.rst +396 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/functions.rst +568 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/misc.rst +337 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/index.rst +13 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/numpy.rst +463 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/object.rst +286 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/utilities.rst +155 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/smart_ptrs.rst +174 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/basics.rst +308 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.py +91 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.rst +95 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/changelog.rst +2050 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/classes.rst +542 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/cmake/index.rst +8 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/compiling.rst +648 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/conf.py +381 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/faq.rst +343 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/index.rst +48 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/installing.rst +105 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/limitations.rst +72 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11-logo.png +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.svg +427 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.svg +427 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/reference.rst +130 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/release.rst +96 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/requirements.txt +8 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/upgrade.rst +548 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/attr.h +605 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/buffer_info.h +144 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/cast.h +1432 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/chrono.h +213 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/common.h +2 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/complex.h +65 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/class.h +709 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/common.h +1021 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/descr.h +104 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/init.h +346 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/internals.h +467 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/type_caster_base.h +978 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/typeid.h +55 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eigen.h +606 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/embed.h +284 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eval.h +163 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/functional.h +121 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/gil.h +193 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/iostream.h +275 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/numpy.h +1741 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/operators.h +163 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/options.h +65 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pybind11.h +2497 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pytypes.h +1879 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl/filesystem.h +103 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl.h +375 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl_bind.h +747 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/noxfile.py +88 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__init__.py +11 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__main__.py +52 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.py +12 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.pyi +6 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/commands.py +21 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/py.typed +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.py +482 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.pyi +63 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pyproject.toml +41 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.cfg +56 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.py +155 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/CMakeLists.txt +503 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/conftest.py +208 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/constructor_stats.h +275 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/cross_module_gil_utils.cpp +73 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/env.py +33 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/pytest.ini +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/test_files.py +279 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/pytest.ini +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/test_setuphelper.py +143 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/local_bindings.h +85 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/object.h +179 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_cross_module_tests.cpp +151 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.cpp +91 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.h +85 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pytest.ini +19 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/requirements.txt +12 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.cpp +26 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.py +25 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.cpp +216 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.py +163 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.cpp +286 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.py +536 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.cpp +107 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.py +248 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.cpp +227 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.py +202 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.cpp +84 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.py +210 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.cpp +550 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.py +473 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/CMakeLists.txt +84 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/embed.cpp +21 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +28 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +39 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +46 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/main.cpp +6 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +41 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +35 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +41 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/test.py +10 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.cpp +165 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.py +53 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.cpp +238 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.py +126 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.cpp +141 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.py +117 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.cpp +41 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.py +50 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.cpp +69 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.py +42 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.cpp +348 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.py +771 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/CMakeLists.txt +47 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/catch.cpp +22 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/external_module.cpp +23 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.cpp +326 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.py +15 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.cpp +148 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.py +272 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.cpp +119 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.py +51 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval_call.py +5 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.cpp +285 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.h +12 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.py +265 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.cpp +397 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.py +520 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.cpp +49 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.py +94 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.cpp +125 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.py +331 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.cpp +153 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.py +284 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.cpp +107 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.py +257 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.cpp +412 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.py +517 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.cpp +102 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.py +92 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.cpp +233 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.py +360 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.cpp +472 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.py +593 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.cpp +524 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.py +441 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.cpp +103 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.py +267 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.cpp +73 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.py +59 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.cpp +235 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.py +146 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.cpp +189 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.py +82 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.cpp +560 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.py +651 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.cpp +500 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.py +253 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.cpp +452 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.py +318 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.cpp +342 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.py +291 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.cpp +131 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.py +318 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.cpp +144 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.py +29 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.cpp +66 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.py +44 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.cpp +22 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.py +9 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.cpp +510 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.py +408 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-numpy-scipy.supp +140 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-python.supp +117 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindCatch.cmake +70 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindEigen3.cmake +86 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindPythonLibsNew.cmake +257 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/check-style.sh +44 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/cmake_uninstall.cmake.in +23 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/libsize.py +39 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/make_changelog.py +64 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Common.cmake +402 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Config.cmake.in +233 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11NewTools.cmake +276 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Tools.cmake +214 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pyproject.toml +3 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_global.py.in +65 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_main.py.in +41 -0
- xcoll/scattering_routines/geant4/collimasim/pyproject.toml +8 -0
- xcoll/scattering_routines/geant4/collimasim/setup.py +144 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.cpp +403 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.hh +100 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.cpp +763 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.hh +118 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/__init__.py +8 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/bindings.cpp +63 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/pyCollimatorPass.py +142 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/xtrack_collimator.py +556 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/PKG-INFO +6 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/SOURCES.txt +24 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/dependency_links.txt +1 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/not-zip-safe +1 -0
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/top_level.txt +1 -0
- xcoll/scattering_routines/geant4/collimasim/tests/README.md +25 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_forions.dat +25 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_new_example.dat +18 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_old_example.dat +68 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_testing.dat +15 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_yaml_example.yaml +110 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps.dat +7 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps_pyat_test.dat +3 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collonly_twiss_file_example.tfs +54 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/settings.gmad +3 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_black_absorber.gmad +3 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_ions.gmad +5 -0
- xcoll/scattering_routines/geant4/collimasim/tests/resources/twiss_file_testing.tfs +51 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat.py +65 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_passmethod.py +59 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_tracking.py +102 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack.py +75 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_angle.py +74 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_colldb_load.py +84 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction.py +159 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction_ion.py +99 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_ions.py +78 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_lost_energy.py +88 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tilt.py +80 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking.py +97 -0
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking_ions.py +96 -0
- xcoll/scattering_routines/geometry/__init__.py +6 -0
- xcoll/scattering_routines/geometry/collimator_geometry.h +218 -0
- xcoll/scattering_routines/geometry/crystal_geometry.h +153 -0
- xcoll/scattering_routines/geometry/geometry.py +26 -0
- xcoll/scattering_routines/geometry/get_s.h +92 -0
- xcoll/scattering_routines/geometry/methods.h +111 -0
- xcoll/scattering_routines/geometry/objects.h +154 -0
- xcoll/scattering_routines/geometry/rotation.h +23 -0
- xcoll/scattering_routines/geometry/segments.h +226 -0
- xcoll/scattering_routines/geometry/sort.h +184 -0
- {xcoll-0.3.6.dist-info → xcoll-0.5.0.dist-info}/METADATA +1 -1
- xcoll-0.5.0.dist-info/RECORD +413 -0
- xcoll/beam_elements/collimators_src/absorber.h +0 -141
- xcoll/beam_elements/collimators_src/everest_collimator.h +0 -142
- xcoll/beam_elements/collimators_src/everest_crystal.h +0 -115
- xcoll/collimator_settings.py +0 -457
- xcoll/impacts/__init__.py +0 -1
- xcoll/impacts/impacts.py +0 -102
- xcoll/impacts/impacts_src/impacts.h +0 -99
- xcoll/scattering_routines/everest/crystal.h +0 -1302
- xcoll/scattering_routines/everest/scatter.h +0 -169
- xcoll/scattering_routines/everest/scatter_crystal.h +0 -260
- xcoll/scattering_routines/fluka/build_fluka_input.py +0 -58
- xcoll-0.3.6.dist-info/RECORD +0 -111
- {xcoll-0.3.6.dist-info → xcoll-0.5.0.dist-info}/LICENSE +0 -0
- {xcoll-0.3.6.dist-info → xcoll-0.5.0.dist-info}/NOTICE +0 -0
- {xcoll-0.3.6.dist-info → xcoll-0.5.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,276 @@
|
|
|
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()
|
|
@@ -0,0 +1,214 @@
|
|
|
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)
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
)
|