xcoll 0.5.12__py3-none-any.whl → 0.6.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of xcoll might be problematic. Click here for more details.
- xcoll/__init__.py +5 -18
- xcoll/__init__.py.orig +26 -0
- xcoll/beam_elements/__init__.py +1 -0
- xcoll/beam_elements/absorber.py +12 -2
- xcoll/beam_elements/base.py +162 -62
- xcoll/beam_elements/blowup.py +1 -0
- xcoll/beam_elements/elements_src/black_absorber.h +57 -58
- xcoll/beam_elements/elements_src/black_crystal.h +49 -50
- xcoll/beam_elements/elements_src/everest_block.h +21 -11
- xcoll/beam_elements/elements_src/everest_collimator.h +100 -91
- xcoll/beam_elements/elements_src/everest_crystal.h +145 -140
- xcoll/beam_elements/elements_src/transparent_collimator.h +126 -0
- xcoll/beam_elements/elements_src/transparent_crystal.h +118 -0
- xcoll/beam_elements/everest.py +16 -5
- xcoll/beam_elements/monitor.py +1 -0
- xcoll/beam_elements/transparent.py +83 -0
- xcoll/colldb.py +15 -6
- xcoll/general.py +1 -1
- xcoll/general.py.orig +20 -0
- xcoll/headers/particle_states.py +51 -0
- xcoll/initial_distribution.py +121 -91
- xcoll/initial_distribution.py.orig +256 -0
- xcoll/interaction_record/interaction_record.py +2 -1
- xcoll/interaction_record/interaction_types.py +2 -2
- xcoll/line_tools.py +163 -73
- xcoll/lossmap.py +519 -127
- xcoll/plot.py +109 -0
- xcoll/rf_sweep.py +6 -0
- xcoll/scattering_routines/engine.py +414 -217
- xcoll/scattering_routines/environment.py +297 -0
- xcoll/scattering_routines/everest/amorphous.h +95 -71
- xcoll/scattering_routines/everest/{channeling.h → channelling.h} +121 -112
- xcoll/scattering_routines/everest/constants.h +1 -1
- xcoll/scattering_routines/everest/crystal_parameters.h +9 -9
- xcoll/scattering_routines/everest/everest.h +8 -3
- xcoll/scattering_routines/everest/everest.py +2 -1
- xcoll/scattering_routines/everest/ionisation_loss.h +141 -0
- xcoll/scattering_routines/everest/jaw.h +19 -24
- xcoll/scattering_routines/everest/materials.py +2 -0
- xcoll/scattering_routines/everest/multiple_coulomb_scattering.h +2 -2
- xcoll/scattering_routines/everest/nuclear_interaction.h +35 -19
- xcoll/scattering_routines/everest/properties.h +3 -72
- xcoll/xaux.py +65 -109
- {xcoll-0.5.12.dist-info → xcoll-0.6.1.dist-info}/METADATA +5 -5
- xcoll-0.6.1.dist-info/RECORD +138 -0
- xcoll/_manager.py +0 -22
- xcoll/headers/particle_states.h +0 -25
- xcoll/install.py +0 -35
- xcoll/scattering_routines/geant4/collimasim/.git +0 -1
- xcoll/scattering_routines/geant4/collimasim/.gitignore +0 -12
- xcoll/scattering_routines/geant4/collimasim/.gitmodules +0 -3
- xcoll/scattering_routines/geant4/collimasim/CMakeLists.txt +0 -26
- xcoll/scattering_routines/geant4/collimasim/README.md +0 -21
- xcoll/scattering_routines/geant4/collimasim/docs/Makefile +0 -20
- xcoll/scattering_routines/geant4/collimasim/docs/make.bat +0 -35
- xcoll/scattering_routines/geant4/collimasim/docs/source/collimasim.rst +0 -10
- xcoll/scattering_routines/geant4/collimasim/docs/source/conf.py +0 -59
- xcoll/scattering_routines/geant4/collimasim/docs/source/index.rst +0 -26
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.appveyor.yml +0 -37
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-format +0 -19
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-tidy +0 -65
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.cmake-format.yaml +0 -73
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.git +0 -1
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CODEOWNERS +0 -9
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CONTRIBUTING.md +0 -386
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -45
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -8
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/dependabot.yml +0 -16
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler.yml +0 -8
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler_merged.yml +0 -3
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/pull_request_template.md +0 -19
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/ci.yml +0 -969
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/configure.yml +0 -84
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/format.yml +0 -48
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/labeler.yml +0 -16
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/pip.yml +0 -103
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.gitignore +0 -45
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.pre-commit-config.yaml +0 -151
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.readthedocs.yml +0 -3
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/CMakeLists.txt +0 -297
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/LICENSE +0 -29
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/MANIFEST.in +0 -6
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/README.rst +0 -180
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Doxyfile +0 -23
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Makefile +0 -192
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/_static/theme_overrides.css +0 -11
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/chrono.rst +0 -81
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/custom.rst +0 -93
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/eigen.rst +0 -310
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/functional.rst +0 -109
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/index.rst +0 -43
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/overview.rst +0 -171
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/stl.rst +0 -251
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/strings.rst +0 -305
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/classes.rst +0 -1297
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/embedding.rst +0 -262
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/exceptions.rst +0 -396
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/functions.rst +0 -568
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/misc.rst +0 -337
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/index.rst +0 -13
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/numpy.rst +0 -463
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/object.rst +0 -286
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/utilities.rst +0 -155
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/smart_ptrs.rst +0 -174
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/basics.rst +0 -308
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.py +0 -91
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.rst +0 -95
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/changelog.rst +0 -2050
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/classes.rst +0 -542
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/cmake/index.rst +0 -8
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/compiling.rst +0 -648
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/conf.py +0 -381
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/faq.rst +0 -343
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/index.rst +0 -48
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/installing.rst +0 -105
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/limitations.rst +0 -72
- 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 +0 -427
- 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 +0 -427
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/reference.rst +0 -130
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/release.rst +0 -96
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/requirements.txt +0 -8
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/upgrade.rst +0 -548
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/attr.h +0 -605
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/buffer_info.h +0 -144
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/cast.h +0 -1432
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/chrono.h +0 -213
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/common.h +0 -2
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/complex.h +0 -65
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/class.h +0 -709
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/common.h +0 -1021
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/descr.h +0 -104
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/init.h +0 -346
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/internals.h +0 -467
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/type_caster_base.h +0 -978
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/typeid.h +0 -55
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eigen.h +0 -606
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/embed.h +0 -284
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eval.h +0 -163
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/functional.h +0 -121
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/gil.h +0 -193
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/iostream.h +0 -275
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/numpy.h +0 -1741
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/operators.h +0 -163
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/options.h +0 -65
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pybind11.h +0 -2497
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pytypes.h +0 -1879
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl/filesystem.h +0 -103
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl.h +0 -375
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl_bind.h +0 -747
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/noxfile.py +0 -88
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__init__.py +0 -11
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__main__.py +0 -52
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.py +0 -12
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.pyi +0 -6
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/commands.py +0 -21
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/py.typed +0 -0
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.py +0 -482
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.pyi +0 -63
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pyproject.toml +0 -41
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.cfg +0 -56
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.py +0 -155
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/CMakeLists.txt +0 -503
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/conftest.py +0 -208
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/constructor_stats.h +0 -275
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/cross_module_gil_utils.cpp +0 -73
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/env.py +0 -33
- 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 +0 -279
- 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 +0 -143
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/local_bindings.h +0 -85
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/object.h +0 -179
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_cross_module_tests.cpp +0 -151
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.cpp +0 -91
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.h +0 -85
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pytest.ini +0 -19
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/requirements.txt +0 -12
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.cpp +0 -26
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.py +0 -25
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.cpp +0 -216
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.py +0 -163
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.cpp +0 -286
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.py +0 -536
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.cpp +0 -107
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.py +0 -248
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.cpp +0 -227
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.py +0 -202
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.cpp +0 -84
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.py +0 -210
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.cpp +0 -550
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.py +0 -473
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -84
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/embed.cpp +0 -21
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -28
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -39
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -46
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/main.cpp +0 -6
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -41
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -35
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -41
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/test.py +0 -10
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.cpp +0 -165
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.py +0 -53
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.cpp +0 -238
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.py +0 -126
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.cpp +0 -141
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.py +0 -117
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.cpp +0 -41
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.py +0 -50
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.cpp +0 -69
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.py +0 -42
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.cpp +0 -348
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.py +0 -771
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/CMakeLists.txt +0 -47
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/catch.cpp +0 -22
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/external_module.cpp +0 -23
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.cpp +0 -326
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.py +0 -15
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.cpp +0 -148
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.py +0 -272
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.cpp +0 -119
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.py +0 -51
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval_call.py +0 -5
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.cpp +0 -285
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.h +0 -12
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.py +0 -265
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.cpp +0 -397
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.py +0 -520
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.cpp +0 -49
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.py +0 -94
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.cpp +0 -125
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.py +0 -331
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.cpp +0 -153
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.py +0 -284
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.cpp +0 -107
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.py +0 -257
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.cpp +0 -412
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.py +0 -517
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.cpp +0 -102
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.py +0 -92
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.cpp +0 -233
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.py +0 -360
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.cpp +0 -472
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.py +0 -593
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.cpp +0 -524
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.py +0 -441
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.cpp +0 -103
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.py +0 -267
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.cpp +0 -73
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.py +0 -59
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.cpp +0 -235
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.py +0 -146
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.cpp +0 -189
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.py +0 -82
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.cpp +0 -560
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.py +0 -651
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.cpp +0 -500
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.py +0 -253
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.cpp +0 -452
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.py +0 -318
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.cpp +0 -342
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.py +0 -291
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.cpp +0 -131
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.py +0 -318
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.cpp +0 -144
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.py +0 -29
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.cpp +0 -66
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.py +0 -44
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.cpp +0 -22
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.py +0 -9
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.cpp +0 -510
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.py +0 -408
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-numpy-scipy.supp +0 -140
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-python.supp +0 -117
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindCatch.cmake +0 -70
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindEigen3.cmake +0 -86
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindPythonLibsNew.cmake +0 -257
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/check-style.sh +0 -44
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/cmake_uninstall.cmake.in +0 -23
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/libsize.py +0 -39
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/make_changelog.py +0 -64
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Common.cmake +0 -402
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Config.cmake.in +0 -233
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11NewTools.cmake +0 -276
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Tools.cmake +0 -214
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pyproject.toml +0 -3
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_global.py.in +0 -65
- xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_main.py.in +0 -41
- xcoll/scattering_routines/geant4/collimasim/pyproject.toml +0 -8
- xcoll/scattering_routines/geant4/collimasim/setup.py +0 -144
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.cpp +0 -403
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.hh +0 -100
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.cpp +0 -763
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.hh +0 -118
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/__init__.py +0 -8
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/bindings.cpp +0 -63
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/pyCollimatorPass.py +0 -142
- xcoll/scattering_routines/geant4/collimasim/src/collimasim/xtrack_collimator.py +0 -556
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/PKG-INFO +0 -6
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/SOURCES.txt +0 -24
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/dependency_links.txt +0 -1
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/not-zip-safe +0 -1
- xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/top_level.txt +0 -1
- xcoll/scattering_routines/geant4/collimasim/tests/README.md +0 -25
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_forions.dat +0 -25
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_new_example.dat +0 -18
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_old_example.dat +0 -68
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_testing.dat +0 -15
- xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_yaml_example.yaml +0 -110
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps.dat +0 -7
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps_pyat_test.dat +0 -3
- xcoll/scattering_routines/geant4/collimasim/tests/resources/collonly_twiss_file_example.tfs +0 -54
- xcoll/scattering_routines/geant4/collimasim/tests/resources/settings.gmad +0 -3
- xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_black_absorber.gmad +0 -3
- xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_ions.gmad +0 -5
- xcoll/scattering_routines/geant4/collimasim/tests/resources/twiss_file_testing.tfs +0 -51
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat.py +0 -65
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_passmethod.py +0 -59
- xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_tracking.py +0 -102
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack.py +0 -75
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_angle.py +0 -74
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_colldb_load.py +0 -84
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction.py +0 -159
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction_ion.py +0 -99
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_ions.py +0 -78
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_lost_energy.py +0 -88
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tilt.py +0 -80
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking.py +0 -97
- xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking_ions.py +0 -96
- xcoll-0.5.12.dist-info/RECORD +0 -415
- {xcoll-0.5.12.dist-info → xcoll-0.6.1.dist-info}/LICENSE +0 -0
- {xcoll-0.5.12.dist-info → xcoll-0.6.1.dist-info}/NOTICE +0 -0
- {xcoll-0.5.12.dist-info → xcoll-0.6.1.dist-info}/WHEEL +0 -0
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
# CMakeLists.txt -- Build system for the pybind11 modules
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2015 Wenzel Jakob <wenzel@inf.ethz.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
|
-
cmake_minimum_required(VERSION 3.4)
|
|
9
|
-
|
|
10
|
-
# The `cmake_minimum_required(VERSION 3.4...3.21)` syntax does not work with
|
|
11
|
-
# some versions of VS that have a patched CMake 3.11. This forces us to emulate
|
|
12
|
-
# the behavior using the following workaround:
|
|
13
|
-
if(${CMAKE_VERSION} VERSION_LESS 3.21)
|
|
14
|
-
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
|
15
|
-
else()
|
|
16
|
-
cmake_policy(VERSION 3.21)
|
|
17
|
-
endif()
|
|
18
|
-
|
|
19
|
-
# Extract project version from source
|
|
20
|
-
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/include/pybind11/detail/common.h"
|
|
21
|
-
pybind11_version_defines REGEX "#define PYBIND11_VERSION_(MAJOR|MINOR|PATCH) ")
|
|
22
|
-
|
|
23
|
-
foreach(ver ${pybind11_version_defines})
|
|
24
|
-
if(ver MATCHES [[#define PYBIND11_VERSION_(MAJOR|MINOR|PATCH) +([^ ]+)$]])
|
|
25
|
-
set(PYBIND11_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}")
|
|
26
|
-
endif()
|
|
27
|
-
endforeach()
|
|
28
|
-
|
|
29
|
-
if(PYBIND11_VERSION_PATCH MATCHES [[\.([a-zA-Z0-9]+)$]])
|
|
30
|
-
set(pybind11_VERSION_TYPE "${CMAKE_MATCH_1}")
|
|
31
|
-
endif()
|
|
32
|
-
string(REGEX MATCH "^[0-9]+" PYBIND11_VERSION_PATCH "${PYBIND11_VERSION_PATCH}")
|
|
33
|
-
|
|
34
|
-
project(
|
|
35
|
-
pybind11
|
|
36
|
-
LANGUAGES CXX
|
|
37
|
-
VERSION "${PYBIND11_VERSION_MAJOR}.${PYBIND11_VERSION_MINOR}.${PYBIND11_VERSION_PATCH}")
|
|
38
|
-
|
|
39
|
-
# Standard includes
|
|
40
|
-
include(GNUInstallDirs)
|
|
41
|
-
include(CMakePackageConfigHelpers)
|
|
42
|
-
include(CMakeDependentOption)
|
|
43
|
-
|
|
44
|
-
if(NOT pybind11_FIND_QUIETLY)
|
|
45
|
-
message(STATUS "pybind11 v${pybind11_VERSION} ${pybind11_VERSION_TYPE}")
|
|
46
|
-
endif()
|
|
47
|
-
|
|
48
|
-
# Avoid infinite recursion if tests include this as a subdirectory
|
|
49
|
-
if(DEFINED PYBIND11_MASTER_PROJECT)
|
|
50
|
-
set(PYBIND11_TEST OFF)
|
|
51
|
-
endif()
|
|
52
|
-
|
|
53
|
-
# Check if pybind11 is being used directly or via add_subdirectory
|
|
54
|
-
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR AND NOT DEFINED PYBIND11_MASTER_PROJECT)
|
|
55
|
-
### Warn if not an out-of-source builds
|
|
56
|
-
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
|
|
57
|
-
set(lines
|
|
58
|
-
"You are building in-place. If that is not what you intended to "
|
|
59
|
-
"do, you can clean the source directory with:\n"
|
|
60
|
-
"rm -r CMakeCache.txt CMakeFiles/ cmake_uninstall.cmake pybind11Config.cmake "
|
|
61
|
-
"pybind11ConfigVersion.cmake tests/CMakeFiles/\n")
|
|
62
|
-
message(AUTHOR_WARNING ${lines})
|
|
63
|
-
endif()
|
|
64
|
-
|
|
65
|
-
set(PYBIND11_MASTER_PROJECT ON)
|
|
66
|
-
|
|
67
|
-
if(OSX AND CMAKE_VERSION VERSION_LESS 3.7)
|
|
68
|
-
# Bug in macOS CMake < 3.7 is unable to download catch
|
|
69
|
-
message(WARNING "CMAKE 3.7+ needed on macOS to download catch, and newer HIGHLY recommended")
|
|
70
|
-
elseif(WINDOWS AND CMAKE_VERSION VERSION_LESS 3.8)
|
|
71
|
-
# Only tested with 3.8+ in CI.
|
|
72
|
-
message(WARNING "CMAKE 3.8+ tested on Windows, previous versions untested")
|
|
73
|
-
endif()
|
|
74
|
-
|
|
75
|
-
message(STATUS "CMake ${CMAKE_VERSION}")
|
|
76
|
-
|
|
77
|
-
if(CMAKE_CXX_STANDARD)
|
|
78
|
-
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
79
|
-
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
80
|
-
endif()
|
|
81
|
-
|
|
82
|
-
set(pybind11_system "")
|
|
83
|
-
else()
|
|
84
|
-
set(PYBIND11_MASTER_PROJECT OFF)
|
|
85
|
-
set(pybind11_system SYSTEM)
|
|
86
|
-
endif()
|
|
87
|
-
|
|
88
|
-
# Options
|
|
89
|
-
option(PYBIND11_INSTALL "Install pybind11 header files?" ${PYBIND11_MASTER_PROJECT})
|
|
90
|
-
option(PYBIND11_TEST "Build pybind11 test suite?" ${PYBIND11_MASTER_PROJECT})
|
|
91
|
-
option(PYBIND11_NOPYTHON "Disable search for Python" OFF)
|
|
92
|
-
set(PYBIND11_INTERNALS_VERSION
|
|
93
|
-
""
|
|
94
|
-
CACHE STRING "Override the ABI version, may be used to enable the unstable ABI.")
|
|
95
|
-
|
|
96
|
-
cmake_dependent_option(
|
|
97
|
-
USE_PYTHON_INCLUDE_DIR
|
|
98
|
-
"Install pybind11 headers in Python include directory instead of default installation prefix"
|
|
99
|
-
OFF "PYBIND11_INSTALL" OFF)
|
|
100
|
-
|
|
101
|
-
cmake_dependent_option(PYBIND11_FINDPYTHON "Force new FindPython" OFF
|
|
102
|
-
"NOT CMAKE_VERSION VERSION_LESS 3.12" OFF)
|
|
103
|
-
|
|
104
|
-
# NB: when adding a header don't forget to also add it to setup.py
|
|
105
|
-
set(PYBIND11_HEADERS
|
|
106
|
-
include/pybind11/detail/class.h
|
|
107
|
-
include/pybind11/detail/common.h
|
|
108
|
-
include/pybind11/detail/descr.h
|
|
109
|
-
include/pybind11/detail/init.h
|
|
110
|
-
include/pybind11/detail/internals.h
|
|
111
|
-
include/pybind11/detail/type_caster_base.h
|
|
112
|
-
include/pybind11/detail/typeid.h
|
|
113
|
-
include/pybind11/attr.h
|
|
114
|
-
include/pybind11/buffer_info.h
|
|
115
|
-
include/pybind11/cast.h
|
|
116
|
-
include/pybind11/chrono.h
|
|
117
|
-
include/pybind11/common.h
|
|
118
|
-
include/pybind11/complex.h
|
|
119
|
-
include/pybind11/options.h
|
|
120
|
-
include/pybind11/eigen.h
|
|
121
|
-
include/pybind11/embed.h
|
|
122
|
-
include/pybind11/eval.h
|
|
123
|
-
include/pybind11/gil.h
|
|
124
|
-
include/pybind11/iostream.h
|
|
125
|
-
include/pybind11/functional.h
|
|
126
|
-
include/pybind11/numpy.h
|
|
127
|
-
include/pybind11/operators.h
|
|
128
|
-
include/pybind11/pybind11.h
|
|
129
|
-
include/pybind11/pytypes.h
|
|
130
|
-
include/pybind11/stl.h
|
|
131
|
-
include/pybind11/stl_bind.h
|
|
132
|
-
include/pybind11/stl/filesystem.h)
|
|
133
|
-
|
|
134
|
-
# Compare with grep and warn if mismatched
|
|
135
|
-
if(PYBIND11_MASTER_PROJECT AND NOT CMAKE_VERSION VERSION_LESS 3.12)
|
|
136
|
-
file(
|
|
137
|
-
GLOB_RECURSE _pybind11_header_check
|
|
138
|
-
LIST_DIRECTORIES false
|
|
139
|
-
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
|
|
140
|
-
CONFIGURE_DEPENDS "include/pybind11/*.h")
|
|
141
|
-
set(_pybind11_here_only ${PYBIND11_HEADERS})
|
|
142
|
-
set(_pybind11_disk_only ${_pybind11_header_check})
|
|
143
|
-
list(REMOVE_ITEM _pybind11_here_only ${_pybind11_header_check})
|
|
144
|
-
list(REMOVE_ITEM _pybind11_disk_only ${PYBIND11_HEADERS})
|
|
145
|
-
if(_pybind11_here_only)
|
|
146
|
-
message(AUTHOR_WARNING "PYBIND11_HEADERS has extra files:" ${_pybind11_here_only})
|
|
147
|
-
endif()
|
|
148
|
-
if(_pybind11_disk_only)
|
|
149
|
-
message(AUTHOR_WARNING "PYBIND11_HEADERS is missing files:" ${_pybind11_disk_only})
|
|
150
|
-
endif()
|
|
151
|
-
endif()
|
|
152
|
-
|
|
153
|
-
# CMake 3.12 added list(TRANSFORM <list> PREPEND
|
|
154
|
-
# But we can't use it yet
|
|
155
|
-
string(REPLACE "include/" "${CMAKE_CURRENT_SOURCE_DIR}/include/" PYBIND11_HEADERS
|
|
156
|
-
"${PYBIND11_HEADERS}")
|
|
157
|
-
|
|
158
|
-
# Cache variable so this can be used in parent projects
|
|
159
|
-
set(pybind11_INCLUDE_DIR
|
|
160
|
-
"${CMAKE_CURRENT_LIST_DIR}/include"
|
|
161
|
-
CACHE INTERNAL "Directory where pybind11 headers are located")
|
|
162
|
-
|
|
163
|
-
# Backward compatible variable for add_subdirectory mode
|
|
164
|
-
if(NOT PYBIND11_MASTER_PROJECT)
|
|
165
|
-
set(PYBIND11_INCLUDE_DIR
|
|
166
|
-
"${pybind11_INCLUDE_DIR}"
|
|
167
|
-
CACHE INTERNAL "")
|
|
168
|
-
endif()
|
|
169
|
-
|
|
170
|
-
# Note: when creating targets, you cannot use if statements at configure time -
|
|
171
|
-
# you need generator expressions, because those will be placed in the target file.
|
|
172
|
-
# You can also place ifs *in* the Config.in, but not here.
|
|
173
|
-
|
|
174
|
-
# This section builds targets, but does *not* touch Python
|
|
175
|
-
# Non-IMPORT targets cannot be defined twice
|
|
176
|
-
if(NOT TARGET pybind11_headers)
|
|
177
|
-
# Build the headers-only target (no Python included):
|
|
178
|
-
# (long name used here to keep this from clashing in subdirectory mode)
|
|
179
|
-
add_library(pybind11_headers INTERFACE)
|
|
180
|
-
add_library(pybind11::pybind11_headers ALIAS pybind11_headers) # to match exported target
|
|
181
|
-
add_library(pybind11::headers ALIAS pybind11_headers) # easier to use/remember
|
|
182
|
-
|
|
183
|
-
target_include_directories(
|
|
184
|
-
pybind11_headers ${pybind11_system} INTERFACE $<BUILD_INTERFACE:${pybind11_INCLUDE_DIR}>
|
|
185
|
-
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
|
186
|
-
|
|
187
|
-
target_compile_features(pybind11_headers INTERFACE cxx_inheriting_constructors cxx_user_literals
|
|
188
|
-
cxx_right_angle_brackets)
|
|
189
|
-
if(NOT "${PYBIND11_INTERNALS_VERSION}" STREQUAL "")
|
|
190
|
-
target_compile_definitions(
|
|
191
|
-
pybind11_headers INTERFACE "PYBIND11_INTERNALS_VERSION=${PYBIND11_INTERNALS_VERSION}")
|
|
192
|
-
endif()
|
|
193
|
-
else()
|
|
194
|
-
# It is invalid to install a target twice, too.
|
|
195
|
-
set(PYBIND11_INSTALL OFF)
|
|
196
|
-
endif()
|
|
197
|
-
|
|
198
|
-
include("${CMAKE_CURRENT_SOURCE_DIR}/tools/pybind11Common.cmake")
|
|
199
|
-
|
|
200
|
-
# Relative directory setting
|
|
201
|
-
if(USE_PYTHON_INCLUDE_DIR AND DEFINED Python_INCLUDE_DIRS)
|
|
202
|
-
file(RELATIVE_PATH CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX} ${Python_INCLUDE_DIRS})
|
|
203
|
-
elseif(USE_PYTHON_INCLUDE_DIR AND DEFINED PYTHON_INCLUDE_DIR)
|
|
204
|
-
file(RELATIVE_PATH CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX} ${PYTHON_INCLUDE_DIRS})
|
|
205
|
-
endif()
|
|
206
|
-
|
|
207
|
-
if(PYBIND11_INSTALL)
|
|
208
|
-
install(DIRECTORY ${pybind11_INCLUDE_DIR}/pybind11 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
209
|
-
set(PYBIND11_CMAKECONFIG_INSTALL_DIR
|
|
210
|
-
"${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}"
|
|
211
|
-
CACHE STRING "install path for pybind11Config.cmake")
|
|
212
|
-
|
|
213
|
-
if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
214
|
-
set(pybind11_INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
|
215
|
-
else()
|
|
216
|
-
set(pybind11_INCLUDEDIR "\$\{PACKAGE_PREFIX_DIR\}/${CMAKE_INSTALL_INCLUDEDIR}")
|
|
217
|
-
endif()
|
|
218
|
-
|
|
219
|
-
configure_package_config_file(
|
|
220
|
-
tools/${PROJECT_NAME}Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
|
221
|
-
INSTALL_DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
|
222
|
-
|
|
223
|
-
if(CMAKE_VERSION VERSION_LESS 3.14)
|
|
224
|
-
# Remove CMAKE_SIZEOF_VOID_P from ConfigVersion.cmake since the library does
|
|
225
|
-
# not depend on architecture specific settings or libraries.
|
|
226
|
-
set(_PYBIND11_CMAKE_SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P})
|
|
227
|
-
unset(CMAKE_SIZEOF_VOID_P)
|
|
228
|
-
|
|
229
|
-
write_basic_package_version_file(
|
|
230
|
-
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
|
231
|
-
VERSION ${PROJECT_VERSION}
|
|
232
|
-
COMPATIBILITY AnyNewerVersion)
|
|
233
|
-
|
|
234
|
-
set(CMAKE_SIZEOF_VOID_P ${_PYBIND11_CMAKE_SIZEOF_VOID_P})
|
|
235
|
-
else()
|
|
236
|
-
# CMake 3.14+ natively supports header-only libraries
|
|
237
|
-
write_basic_package_version_file(
|
|
238
|
-
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
|
239
|
-
VERSION ${PROJECT_VERSION}
|
|
240
|
-
COMPATIBILITY AnyNewerVersion ARCH_INDEPENDENT)
|
|
241
|
-
endif()
|
|
242
|
-
|
|
243
|
-
install(
|
|
244
|
-
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
|
245
|
-
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
|
246
|
-
tools/FindPythonLibsNew.cmake
|
|
247
|
-
tools/pybind11Common.cmake
|
|
248
|
-
tools/pybind11Tools.cmake
|
|
249
|
-
tools/pybind11NewTools.cmake
|
|
250
|
-
DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
|
251
|
-
|
|
252
|
-
if(NOT PYBIND11_EXPORT_NAME)
|
|
253
|
-
set(PYBIND11_EXPORT_NAME "${PROJECT_NAME}Targets")
|
|
254
|
-
endif()
|
|
255
|
-
|
|
256
|
-
install(TARGETS pybind11_headers EXPORT "${PYBIND11_EXPORT_NAME}")
|
|
257
|
-
|
|
258
|
-
install(
|
|
259
|
-
EXPORT "${PYBIND11_EXPORT_NAME}"
|
|
260
|
-
NAMESPACE "pybind11::"
|
|
261
|
-
DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
|
262
|
-
|
|
263
|
-
# Uninstall target
|
|
264
|
-
if(PYBIND11_MASTER_PROJECT)
|
|
265
|
-
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake_uninstall.cmake.in"
|
|
266
|
-
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
|
|
267
|
-
|
|
268
|
-
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P
|
|
269
|
-
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
|
270
|
-
endif()
|
|
271
|
-
endif()
|
|
272
|
-
|
|
273
|
-
# BUILD_TESTING takes priority, but only if this is the master project
|
|
274
|
-
if(PYBIND11_MASTER_PROJECT AND DEFINED BUILD_TESTING)
|
|
275
|
-
if(BUILD_TESTING)
|
|
276
|
-
if(_pybind11_nopython)
|
|
277
|
-
message(FATAL_ERROR "Cannot activate tests in NOPYTHON mode")
|
|
278
|
-
else()
|
|
279
|
-
add_subdirectory(tests)
|
|
280
|
-
endif()
|
|
281
|
-
endif()
|
|
282
|
-
else()
|
|
283
|
-
if(PYBIND11_TEST)
|
|
284
|
-
if(_pybind11_nopython)
|
|
285
|
-
message(FATAL_ERROR "Cannot activate tests in NOPYTHON mode")
|
|
286
|
-
else()
|
|
287
|
-
add_subdirectory(tests)
|
|
288
|
-
endif()
|
|
289
|
-
endif()
|
|
290
|
-
endif()
|
|
291
|
-
|
|
292
|
-
# Better symmetry with find_package(pybind11 CONFIG) mode.
|
|
293
|
-
if(NOT PYBIND11_MASTER_PROJECT)
|
|
294
|
-
set(pybind11_FOUND
|
|
295
|
-
TRUE
|
|
296
|
-
CACHE INTERNAL "True if pybind11 and all required components found on the system")
|
|
297
|
-
endif()
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
Copyright (c) 2016 Wenzel Jakob <wenzel.jakob@epfl.ch>, All rights reserved.
|
|
2
|
-
|
|
3
|
-
Redistribution and use in source and binary forms, with or without
|
|
4
|
-
modification, are permitted provided that the following conditions are met:
|
|
5
|
-
|
|
6
|
-
1. Redistributions of source code must retain the above copyright notice, this
|
|
7
|
-
list of conditions and the following disclaimer.
|
|
8
|
-
|
|
9
|
-
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
10
|
-
this list of conditions and the following disclaimer in the documentation
|
|
11
|
-
and/or other materials provided with the distribution.
|
|
12
|
-
|
|
13
|
-
3. Neither the name of the copyright holder nor the names of its contributors
|
|
14
|
-
may be used to endorse or promote products derived from this software
|
|
15
|
-
without specific prior written permission.
|
|
16
|
-
|
|
17
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
18
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
19
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
20
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
21
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
22
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
23
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
24
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
25
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
26
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
-
|
|
28
|
-
Please also refer to the file .github/CONTRIBUTING.md, which clarifies licensing of
|
|
29
|
-
external contributions to this project including patches, pull requests, etc.
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
.. figure:: https://github.com/pybind/pybind11/raw/master/docs/pybind11-logo.png
|
|
2
|
-
:alt: pybind11 logo
|
|
3
|
-
|
|
4
|
-
**pybind11 — Seamless operability between C++11 and Python**
|
|
5
|
-
|
|
6
|
-
|Latest Documentation Status| |Stable Documentation Status| |Gitter chat| |GitHub Discussions| |CI| |Build status|
|
|
7
|
-
|
|
8
|
-
|Repology| |PyPI package| |Conda-forge| |Python Versions|
|
|
9
|
-
|
|
10
|
-
`Setuptools example <https://github.com/pybind/python_example>`_
|
|
11
|
-
• `Scikit-build example <https://github.com/pybind/scikit_build_example>`_
|
|
12
|
-
• `CMake example <https://github.com/pybind/cmake_example>`_
|
|
13
|
-
|
|
14
|
-
.. start
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
**pybind11** is a lightweight header-only library that exposes C++ types
|
|
18
|
-
in Python and vice versa, mainly to create Python bindings of existing
|
|
19
|
-
C++ code. Its goals and syntax are similar to the excellent
|
|
20
|
-
`Boost.Python <http://www.boost.org/doc/libs/1_58_0/libs/python/doc/>`_
|
|
21
|
-
library by David Abrahams: to minimize boilerplate code in traditional
|
|
22
|
-
extension modules by inferring type information using compile-time
|
|
23
|
-
introspection.
|
|
24
|
-
|
|
25
|
-
The main issue with Boost.Python—and the reason for creating such a
|
|
26
|
-
similar project—is Boost. Boost is an enormously large and complex suite
|
|
27
|
-
of utility libraries that works with almost every C++ compiler in
|
|
28
|
-
existence. This compatibility has its cost: arcane template tricks and
|
|
29
|
-
workarounds are necessary to support the oldest and buggiest of compiler
|
|
30
|
-
specimens. Now that C++11-compatible compilers are widely available,
|
|
31
|
-
this heavy machinery has become an excessively large and unnecessary
|
|
32
|
-
dependency.
|
|
33
|
-
|
|
34
|
-
Think of this library as a tiny self-contained version of Boost.Python
|
|
35
|
-
with everything stripped away that isn’t relevant for binding
|
|
36
|
-
generation. Without comments, the core header files only require ~4K
|
|
37
|
-
lines of code and depend on Python (2.7 or 3.5+, or PyPy) and the C++
|
|
38
|
-
standard library. This compact implementation was possible thanks to
|
|
39
|
-
some of the new C++11 language features (specifically: tuples, lambda
|
|
40
|
-
functions and variadic templates). Since its creation, this library has
|
|
41
|
-
grown beyond Boost.Python in many ways, leading to dramatically simpler
|
|
42
|
-
binding code in many common situations.
|
|
43
|
-
|
|
44
|
-
Tutorial and reference documentation is provided at
|
|
45
|
-
`pybind11.readthedocs.io <https://pybind11.readthedocs.io/en/latest>`_.
|
|
46
|
-
A PDF version of the manual is available
|
|
47
|
-
`here <https://pybind11.readthedocs.io/_/downloads/en/latest/pdf/>`_.
|
|
48
|
-
And the source code is always available at
|
|
49
|
-
`github.com/pybind/pybind11 <https://github.com/pybind/pybind11>`_.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
Core features
|
|
53
|
-
-------------
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
pybind11 can map the following core C++ features to Python:
|
|
57
|
-
|
|
58
|
-
- Functions accepting and returning custom data structures per value,
|
|
59
|
-
reference, or pointer
|
|
60
|
-
- Instance methods and static methods
|
|
61
|
-
- Overloaded functions
|
|
62
|
-
- Instance attributes and static attributes
|
|
63
|
-
- Arbitrary exception types
|
|
64
|
-
- Enumerations
|
|
65
|
-
- Callbacks
|
|
66
|
-
- Iterators and ranges
|
|
67
|
-
- Custom operators
|
|
68
|
-
- Single and multiple inheritance
|
|
69
|
-
- STL data structures
|
|
70
|
-
- Smart pointers with reference counting like ``std::shared_ptr``
|
|
71
|
-
- Internal references with correct reference counting
|
|
72
|
-
- C++ classes with virtual (and pure virtual) methods can be extended
|
|
73
|
-
in Python
|
|
74
|
-
|
|
75
|
-
Goodies
|
|
76
|
-
-------
|
|
77
|
-
|
|
78
|
-
In addition to the core functionality, pybind11 provides some extra
|
|
79
|
-
goodies:
|
|
80
|
-
|
|
81
|
-
- Python 2.7, 3.5+, and PyPy/PyPy3 7.3 are supported with an
|
|
82
|
-
implementation-agnostic interface.
|
|
83
|
-
|
|
84
|
-
- It is possible to bind C++11 lambda functions with captured
|
|
85
|
-
variables. The lambda capture data is stored inside the resulting
|
|
86
|
-
Python function object.
|
|
87
|
-
|
|
88
|
-
- pybind11 uses C++11 move constructors and move assignment operators
|
|
89
|
-
whenever possible to efficiently transfer custom data types.
|
|
90
|
-
|
|
91
|
-
- It’s easy to expose the internal storage of custom data types through
|
|
92
|
-
Pythons’ buffer protocols. This is handy e.g. for fast conversion
|
|
93
|
-
between C++ matrix classes like Eigen and NumPy without expensive
|
|
94
|
-
copy operations.
|
|
95
|
-
|
|
96
|
-
- pybind11 can automatically vectorize functions so that they are
|
|
97
|
-
transparently applied to all entries of one or more NumPy array
|
|
98
|
-
arguments.
|
|
99
|
-
|
|
100
|
-
- Python's slice-based access and assignment operations can be
|
|
101
|
-
supported with just a few lines of code.
|
|
102
|
-
|
|
103
|
-
- Everything is contained in just a few header files; there is no need
|
|
104
|
-
to link against any additional libraries.
|
|
105
|
-
|
|
106
|
-
- Binaries are generally smaller by a factor of at least 2 compared to
|
|
107
|
-
equivalent bindings generated by Boost.Python. A recent pybind11
|
|
108
|
-
conversion of PyRosetta, an enormous Boost.Python binding project,
|
|
109
|
-
`reported <http://graylab.jhu.edu/RosettaCon2016/PyRosetta-4.pdf>`_
|
|
110
|
-
a binary size reduction of **5.4x** and compile time reduction by
|
|
111
|
-
**5.8x**.
|
|
112
|
-
|
|
113
|
-
- Function signatures are precomputed at compile time (using
|
|
114
|
-
``constexpr``), leading to smaller binaries.
|
|
115
|
-
|
|
116
|
-
- With little extra effort, C++ types can be pickled and unpickled
|
|
117
|
-
similar to regular Python objects.
|
|
118
|
-
|
|
119
|
-
Supported compilers
|
|
120
|
-
-------------------
|
|
121
|
-
|
|
122
|
-
1. Clang/LLVM 3.3 or newer (for Apple Xcode’s clang, this is 5.0.0 or
|
|
123
|
-
newer)
|
|
124
|
-
2. GCC 4.8 or newer
|
|
125
|
-
3. Microsoft Visual Studio 2015 Update 3 or newer
|
|
126
|
-
4. Intel classic C++ compiler 18 or newer (ICC 20.2 tested in CI)
|
|
127
|
-
5. Cygwin/GCC (previously tested on 2.5.1)
|
|
128
|
-
6. NVCC (CUDA 11.0 tested in CI)
|
|
129
|
-
7. NVIDIA PGI (20.9 tested in CI)
|
|
130
|
-
|
|
131
|
-
About
|
|
132
|
-
-----
|
|
133
|
-
|
|
134
|
-
This project was created by `Wenzel
|
|
135
|
-
Jakob <http://rgl.epfl.ch/people/wjakob>`_. Significant features and/or
|
|
136
|
-
improvements to the code were contributed by Jonas Adler, Lori A. Burns,
|
|
137
|
-
Sylvain Corlay, Eric Cousineau, Aaron Gokaslan, Ralf Grosse-Kunstleve, Trent Houliston, Axel
|
|
138
|
-
Huebl, @hulucc, Yannick Jadoul, Sergey Lyskov Johan Mabille, Tomasz Miąsko,
|
|
139
|
-
Dean Moldovan, Ben Pritchard, Jason Rhinelander, Boris Schäling, Pim
|
|
140
|
-
Schellart, Henry Schreiner, Ivan Smirnov, Boris Staletic, and Patrick Stewart.
|
|
141
|
-
|
|
142
|
-
We thank Google for a generous financial contribution to the continuous
|
|
143
|
-
integration infrastructure used by this project.
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
Contributing
|
|
147
|
-
~~~~~~~~~~~~
|
|
148
|
-
|
|
149
|
-
See the `contributing
|
|
150
|
-
guide <https://github.com/pybind/pybind11/blob/master/.github/CONTRIBUTING.md>`_
|
|
151
|
-
for information on building and contributing to pybind11.
|
|
152
|
-
|
|
153
|
-
License
|
|
154
|
-
~~~~~~~
|
|
155
|
-
|
|
156
|
-
pybind11 is provided under a BSD-style license that can be found in the
|
|
157
|
-
`LICENSE <https://github.com/pybind/pybind11/blob/master/LICENSE>`_
|
|
158
|
-
file. By using, distributing, or contributing to this project, you agree
|
|
159
|
-
to the terms and conditions of this license.
|
|
160
|
-
|
|
161
|
-
.. |Latest Documentation Status| image:: https://readthedocs.org/projects/pybind11/badge?version=latest
|
|
162
|
-
:target: http://pybind11.readthedocs.org/en/latest
|
|
163
|
-
.. |Stable Documentation Status| image:: https://img.shields.io/badge/docs-stable-blue.svg
|
|
164
|
-
:target: http://pybind11.readthedocs.org/en/stable
|
|
165
|
-
.. |Gitter chat| image:: https://img.shields.io/gitter/room/gitterHQ/gitter.svg
|
|
166
|
-
:target: https://gitter.im/pybind/Lobby
|
|
167
|
-
.. |CI| image:: https://github.com/pybind/pybind11/workflows/CI/badge.svg
|
|
168
|
-
:target: https://github.com/pybind/pybind11/actions
|
|
169
|
-
.. |Build status| image:: https://ci.appveyor.com/api/projects/status/riaj54pn4h08xy40?svg=true
|
|
170
|
-
:target: https://ci.appveyor.com/project/wjakob/pybind11
|
|
171
|
-
.. |PyPI package| image:: https://img.shields.io/pypi/v/pybind11.svg
|
|
172
|
-
:target: https://pypi.org/project/pybind11/
|
|
173
|
-
.. |Conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pybind11.svg
|
|
174
|
-
:target: https://github.com/conda-forge/pybind11-feedstock
|
|
175
|
-
.. |Repology| image:: https://repology.org/badge/latest-versions/python:pybind11.svg
|
|
176
|
-
:target: https://repology.org/project/python:pybind11/versions
|
|
177
|
-
.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/pybind11.svg
|
|
178
|
-
:target: https://pypi.org/project/pybind11/
|
|
179
|
-
.. |GitHub Discussions| image:: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
|
|
180
|
-
:target: https://github.com/pybind/pybind11/discussions
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
PROJECT_NAME = pybind11
|
|
2
|
-
INPUT = ../include/pybind11/
|
|
3
|
-
RECURSIVE = YES
|
|
4
|
-
|
|
5
|
-
GENERATE_HTML = NO
|
|
6
|
-
GENERATE_LATEX = NO
|
|
7
|
-
GENERATE_XML = YES
|
|
8
|
-
XML_OUTPUT = .build/doxygenxml
|
|
9
|
-
XML_PROGRAMLISTING = YES
|
|
10
|
-
|
|
11
|
-
MACRO_EXPANSION = YES
|
|
12
|
-
EXPAND_ONLY_PREDEF = YES
|
|
13
|
-
EXPAND_AS_DEFINED = PYBIND11_RUNTIME_EXCEPTION
|
|
14
|
-
|
|
15
|
-
ALIASES = "rst=\verbatim embed:rst"
|
|
16
|
-
ALIASES += "endrst=\endverbatim"
|
|
17
|
-
|
|
18
|
-
QUIET = YES
|
|
19
|
-
WARNINGS = YES
|
|
20
|
-
WARN_IF_UNDOCUMENTED = NO
|
|
21
|
-
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS \
|
|
22
|
-
PY_MAJOR_VERSION=3 \
|
|
23
|
-
PYBIND11_NOINLINE
|