nwchemex-pluginplay 1.0.63__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nwchemex_pluginplay-1.0.63/.clang-format +110 -0
- nwchemex_pluginplay-1.0.63/.github/workflows/merge.yaml +79 -0
- nwchemex_pluginplay-1.0.63/.github/workflows/nightly.yaml +33 -0
- nwchemex_pluginplay-1.0.63/.github/workflows/pull_request.yaml +38 -0
- nwchemex_pluginplay-1.0.63/.gitignore +59 -0
- nwchemex_pluginplay-1.0.63/.licenserc.yaml +29 -0
- nwchemex_pluginplay-1.0.63/CMakeLists.txt +162 -0
- nwchemex_pluginplay-1.0.63/LICENSE +177 -0
- nwchemex_pluginplay-1.0.63/PKG-INFO +14 -0
- nwchemex_pluginplay-1.0.63/README.md +72 -0
- nwchemex_pluginplay-1.0.63/cmake/get_nwx_cmake.cmake +79 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/any/any.hpp +105 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/any/any_field.hpp +345 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/any/detail_/any_field_base.hpp +362 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/any/detail_/any_field_base.ipp +147 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/any/detail_/any_field_wrapper.hpp +158 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/any/detail_/any_field_wrapper.ipp +116 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/any/detail_/any_field_wrapper_traits.hpp +66 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/cache/cache.hpp +20 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/cache/module_cache.hpp +194 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/cache/module_manager_cache.hpp +196 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/cache/user_cache.hpp +202 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/cache/user_cache.ipp +69 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/config/config.hpp +51 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/detail_/field_tuple_traits.hpp +74 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/bounds_checking/bounds_checking.hpp +37 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/bounds_checking/compare_to.hpp +148 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/bounds_checking/in_range.hpp +84 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/bounds_checking/print_bounds.hpp +166 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/bounds_checking/type_check.hpp +79 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/fields.hpp +29 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/module_input.hpp +561 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/module_input.ipp +169 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/module_result.hpp +297 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/fields/module_result.ipp +74 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/module/facade_module.hpp +152 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/module/lambda_module.hpp +240 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/module/macros.hpp +76 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/module/module.hpp +23 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/module/module_base.hpp +699 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/module/module_class.hpp +852 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/module_manager/module_manager.hpp +18 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/module_manager/module_manager_class.hpp +301 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/plugin/plugin.hpp +33 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/pluginplay.hpp +38 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/printing/document_module.hpp +25 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/printing/document_modules.hpp +41 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/printing/mermaid.hpp +28 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/printing/printing.hpp +20 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/property_type/detail_/static_assert_convertible_verbose.hpp +61 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/property_type/field_tuple.hpp +459 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/property_type/macros.hpp +182 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/property_type/property_type.hpp +207 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/property_type/property_type_fwd.hpp +31 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/property_type/property_type_impl.hpp +142 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/property_type/python_only_property_type.hpp +139 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/python/py_type_info.hpp +212 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/python/py_wrap_inputs.hpp +86 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/python/py_wrap_results.hpp +85 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/python/python.hpp +27 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/python/python_wrapper.hpp +387 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/submodule_request.hpp +507 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/type_traits/base_property_type.hpp +66 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/type_traits/is_property_type.hpp +56 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/type_traits/type_traits.hpp +19 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/types.hpp +96 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/utility/uuid.hpp +35 -0
- nwchemex_pluginplay-1.0.63/cxx/include/pluginplay/utility.hpp +137 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/any/any_field.cpp +89 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/any/export_any.hpp +37 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/any/export_any_field.cpp +33 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/database_api.hpp +364 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/database_factory.cpp +125 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/database_factory.hpp +193 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/db_value.hpp +144 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/key_injector.hpp +138 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/key_injector.ipp +76 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/key_proxy_mapper.hpp +113 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/key_proxy_mapper.ipp +78 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/make_any.hpp +42 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/native.hpp +137 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/native.ipp +73 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/rocksdb/detail_/rocksdb_pimpl.hpp +242 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/rocksdb/detail_/rocksdb_pimpl.ipp +166 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/rocksdb/detail_/rocksdb_pimpl_stub.hpp +96 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/rocksdb/rocksdb.cpp +95 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/rocksdb/rocksdb.hpp +154 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/serialized.hpp +126 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/serialized.ipp +82 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/transposer.hpp +130 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/transposer.ipp +76 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/type_eraser.hpp +133 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/type_eraser.ipp +65 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/value_proxy_mapper.hpp +115 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/database/value_proxy_mapper.ipp +72 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/export_cache.hpp +29 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/export_module_manager_cache.cpp +29 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/module_cache.cpp +67 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/module_cache_pimpl.hpp +47 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/module_manager_cache.cpp +117 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/proxy_map_maker.hpp +196 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/proxy_map_maker.ipp +72 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/uuid_mapper.hpp +134 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/cache/uuid_mapper.ipp +63 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/config/config.cpp +26 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/config/config_impl.hpp +35 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/detail_/submodule_request_pimpl.hpp +413 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/detail_/submodule_request_pimpl.ipp +118 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/export_pluginplay.cpp +39 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/export_pluginplay.hpp +46 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/export_submodule_request.cpp +72 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/fields/detail_/module_input_pimpl.hpp +400 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/fields/detail_/module_input_pimpl.ipp +117 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/fields/detail_/module_result_pimpl.hpp +271 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/fields/export_fields.hpp +30 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/fields/export_module_input.cpp +68 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/fields/export_module_result.cpp +44 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/fields/module_input.cpp +113 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/fields/module_result.cpp +99 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module/detail_/module_pimpl.hpp +678 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module/detail_/module_pimpl.ipp +270 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module/export_module.hpp +31 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module/export_module_base.cpp +94 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module/export_module_class.cpp +132 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module/module.cpp +196 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module/py_module_base.hpp +43 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module_manager/detail_/module_manager_pimpl.hpp +219 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module_manager/detail_/module_manager_pimpl.ipp +132 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module_manager/export_module_manager.hpp +28 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module_manager/export_module_manager_class.cpp +81 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/module_manager/module_manager_class.cpp +99 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/README.md +27 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/fort_custom_styles.cpp +44 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/fort_custom_styles.hpp +34 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/print_inputs.cpp +144 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/print_inputs.hpp +106 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/print_results.cpp +84 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/print_results.hpp +69 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/print_submodules.cpp +76 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/print_submodules.hpp +77 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/rest_printer.cpp +59 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/detail_/rest_printer.hpp +131 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/document_module.cpp +83 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/document_modules.cpp +69 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/export_document_modules.cpp +29 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/export_printing.hpp +28 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/helpers.cpp +48 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/helpers.hpp +52 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/printing/mermaid.cpp +76 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/property_type/python_only_property_type.cpp +53 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/python/export_py_type_info.cpp +36 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/python/export_python.hpp +32 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/python/export_python_only_property_type.cpp +66 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/python/export_python_wrapper.cpp +30 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/submodule_request.cpp +105 -0
- nwchemex_pluginplay-1.0.63/cxx/src/pluginplay/utility/uuid.cpp +28 -0
- nwchemex_pluginplay-1.0.63/docs/Makefile +20 -0
- nwchemex_pluginplay-1.0.63/docs/README.md +77 -0
- nwchemex_pluginplay-1.0.63/docs/requirements.txt +4 -0
- nwchemex_pluginplay-1.0.63/docs/source/assets/full_logo.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/assets/logo_small.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/alternatives.rst +388 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/architecture.rst +167 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/assets/architecture.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/assets/architecture_simple.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/assets/modules2program.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/index.rst +35 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/overview.rst +124 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/scientific_software.rst +204 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/statement_of_need.rst +87 -0
- nwchemex_pluginplay-1.0.63/docs/source/background/terminology.rst +186 -0
- nwchemex_pluginplay-1.0.63/docs/source/bibliography/background.bib +388 -0
- nwchemex_pluginplay-1.0.63/docs/source/bibliography/bibliography.rst +19 -0
- nwchemex_pluginplay-1.0.63/docs/source/bibliography/design.bib +28 -0
- nwchemex_pluginplay-1.0.63/docs/source/bibliography/pluginplay.bib +32 -0
- nwchemex_pluginplay-1.0.63/docs/source/conf.py +194 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/assets/run_as_call_graph.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/cache_design.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/data_flow.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/database_design.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/db_pimpl_design.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/field_design.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/making_callgraph.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/mm_arch.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/module_design.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/module_pool.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/property_type_design.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/assets/switching_modules.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/cache.rst +340 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/call_graph.rst +369 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/checkpoint_restart.rst +202 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/database.rst +1001 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/field.rst +120 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/index.rst +41 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/memoization.rst +275 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/module.rst +250 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/module_manager.rst +176 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/design/property_type.rst +179 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/how_does_run_as_work.rst +61 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/index.rst +29 -0
- nwchemex_pluginplay-1.0.63/docs/source/developer/overall_design.png +0 -0
- nwchemex_pluginplay-1.0.63/docs/source/faqs.rst +21 -0
- nwchemex_pluginplay-1.0.63/docs/source/features.rst +54 -0
- nwchemex_pluginplay-1.0.63/docs/source/index.rst +47 -0
- nwchemex_pluginplay-1.0.63/docs/source/install.rst +216 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/index.rst +27 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/modules/advanced.rst +105 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/modules/basics.rst +286 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/modules/design.rst +76 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/modules/index.rst +66 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/modules/iterative.rst +54 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/modules/templated.rst +50 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/plugins/document_modules.rst +69 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/plugins/index.rst +36 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/plugins/load_modules.rst +101 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/plugins/overview.rst +61 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/property_types/advanced.rst +29 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/property_types/basics.rst +164 -0
- nwchemex_pluginplay-1.0.63/docs/source/tutorials/property_types/index.rst +37 -0
- nwchemex_pluginplay-1.0.63/pyproject.toml +52 -0
- nwchemex_pluginplay-1.0.63/tests/README.md +39 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/classical_force.cpp +61 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/coulombs_law.cpp +69 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/electric_field.hpp +44 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/force.hpp +40 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/generate_module_documentation.cpp +45 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/load_modules.cpp +32 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/load_modules.hpp +24 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/main.cpp +25 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/module_cache.cpp +87 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/modules.hpp +32 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/point_charge.hpp +46 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/screened_coulombs_law.cpp +79 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/templated_coulombs_law.cpp +81 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/test_modules.cpp +68 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/doc_snippets/test_tutorial_module_documents.cpp +59 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/regression_tests/issue_350.cpp +62 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/regression_tests/main.cpp +25 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/any/any.cpp +83 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/any/any_field.cpp +400 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/any/detail_/any_field_base.cpp +164 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/any/detail_/any_field_wrapper.cpp +179 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/any/detail_/any_field_wrapper_traits.cpp +36 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/any/test_any.hpp +43 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/database_api.cpp +41 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/database_factory.cpp +80 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/db_value.cpp +62 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/key_injector.cpp +122 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/key_proxy_mapper.cpp +144 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/make_any.cpp +232 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/native.cpp +98 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/rocksdb/detail_/rocksdb_pimpl.cpp +113 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/rocksdb/detail_/rocksdb_pimpl_stub.cpp +39 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/rocksdb/rocksdb.cpp +91 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/serialized.cpp +104 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/transposer.cpp +97 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/type_eraser.cpp +112 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/database/value_proxy_mapper.cpp +142 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/lexical_cast.cpp +26 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/lexical_cast.hpp +38 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/module_cache.cpp +108 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/module_manager_cache.cpp +104 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/proxy_map_maker.cpp +89 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/test_cache.hpp +94 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/user_cache.cpp +110 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/cache/uuid_mapper.cpp +209 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/catch.hpp +21 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/detail_/field_tuple_traits.cpp +469 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/detail_/submodule_request_pimpl.cpp +314 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/examples/lambda_module.cpp +164 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/examples/load_modules.hpp +74 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/examples/workflow.cpp +28 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/examples/workflow.hpp +84 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/examples/writing_a_module.cpp +141 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/examples/writing_a_module.hpp +340 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/examples/writing_a_property_type.cpp +184 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/examples/writing_a_property_type.hpp +196 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/fields/bounds_checking/bounds_checking.cpp +90 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/fields/detail_/module_input_pimpl.cpp +327 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/fields/detail_/module_result_pimpl.cpp +230 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/fields/module_input.cpp +467 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/fields/module_result.cpp +235 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/module/detail_/module_pimpl.cpp +529 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/module/facade_module.cpp +40 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/module/lambda_module.cpp +44 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/module/module_base.cpp +191 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/module/module_class.cpp +616 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/module_manager/detail_/module_manager_pimpl.cpp +255 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/module_manager/module_manager_class.cpp +80 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/printing/detail_/print_inputs.cpp +292 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/printing/detail_/print_results.cpp +118 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/printing/detail_/print_submodules.cpp +114 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/printing/detail_/rest_printer.cpp +82 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/printing/document_module.cpp +228 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/printing/document_modules.cpp +53 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/printing/helpers.cpp +89 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/printing/mermaid.cpp +169 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/property_type/field_tuple.cpp +331 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/property_type/property_type.cpp +118 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/property_type/python_only_property_type.cpp +72 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/python/python_wrapper.cpp +93 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/submodule_request.cpp +372 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/test_common.hpp +186 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/test_main.cpp +27 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/type_traits/base_property_type.cpp +40 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/type_traits/is_property_type.cpp +73 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/unit_testing_pts.hpp +91 -0
- nwchemex_pluginplay-1.0.63/tests/cxx/unit_tests/pluginplay/utility.cpp +49 -0
- nwchemex_pluginplay-1.0.63/tests/python/conftest.py +45 -0
- nwchemex_pluginplay-1.0.63/tests/python/doc_snippets/coulombslaw_force.py +96 -0
- nwchemex_pluginplay-1.0.63/tests/python/doc_snippets/export_pluginplay_examples.cpp +39 -0
- nwchemex_pluginplay-1.0.63/tests/python/doc_snippets/test_doc_snippets.py +32 -0
- nwchemex_pluginplay-1.0.63/tests/python/doc_snippets/test_modules.py +71 -0
- nwchemex_pluginplay-1.0.63/tests/python/doc_snippets/test_python_modules.py +53 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/any/__init__.py +13 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/any/export_test_any_field.cpp +30 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/any/test_any.hpp +26 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/any/test_any_field.py +78 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/export_test_module.cpp +25 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/export_test_module_base.cpp +25 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/export_test_pluginplay.cpp +76 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/export_test_submodule_request.cpp +42 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/fields/__init__.py +13 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/fields/export_test_module_input.cpp +56 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/fields/export_test_module_result.cpp +52 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/fields/test_fields.hpp +30 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/fields/test_module_input.py +241 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/fields/test_module_result.py +120 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/module/__init__.py +13 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/module/test_module.py +378 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/module/test_module_base.py +63 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/module_manager/__init__.py +13 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/module_manager/test_module_manager_class.py +235 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/modules.hpp +123 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/printing/__init__.py +13 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/printing/test_document_modules.py +70 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/property_type/__init__.py +13 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/property_type/export_test_property_type.cpp +86 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/property_type/test_property_type.hpp +24 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/property_type/test_property_type.py +140 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/property_type/test_python_only_property_type.py +96 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/property_types.hpp +106 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/python/__init__.py +13 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/python/export_test_py_type_info.cpp +42 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/python/export_test_python_wrapper.cpp +44 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/python/test_py_type_info.py +67 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/python/test_python.hpp +30 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/python/test_python_wrapper.py +58 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/test_pluginplay.hpp +26 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/test_pluginplay.py +33 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/test_submodule_request.py +140 -0
- nwchemex_pluginplay-1.0.63/tests/python/unit_tests/tox.ini +23 -0
- nwchemex_pluginplay-1.0.63/version.txt +1 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Copyright 2022 NWChemEx-Project
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
Language: Cpp
|
|
17
|
+
# BasedOnStyle: Mozilla
|
|
18
|
+
AccessModifierOffset: -4
|
|
19
|
+
AlignAfterOpenBracket: Align
|
|
20
|
+
AlignConsecutiveAssignments: true
|
|
21
|
+
AlignConsecutiveDeclarations: false
|
|
22
|
+
AlignEscapedNewlines: Left
|
|
23
|
+
AlignOperands: true
|
|
24
|
+
AlignTrailingComments: true
|
|
25
|
+
AllowAllParametersOfDeclarationOnNextLine: true
|
|
26
|
+
AllowShortBlocksOnASingleLine: true
|
|
27
|
+
AllowShortCaseLabelsOnASingleLine: true
|
|
28
|
+
AllowShortFunctionsOnASingleLine: All
|
|
29
|
+
AllowShortIfStatementsOnASingleLine: true
|
|
30
|
+
AllowShortLoopsOnASingleLine: true
|
|
31
|
+
AlwaysBreakAfterDefinitionReturnType: false
|
|
32
|
+
AlwaysBreakAfterReturnType: None
|
|
33
|
+
AlwaysBreakBeforeMultilineStrings: false
|
|
34
|
+
AlwaysBreakTemplateDeclarations: true
|
|
35
|
+
BinPackArguments: true
|
|
36
|
+
BinPackParameters: true
|
|
37
|
+
BraceWrapping:
|
|
38
|
+
AfterClass: false
|
|
39
|
+
AfterControlStatement: false
|
|
40
|
+
AfterEnum: false
|
|
41
|
+
AfterFunction: false
|
|
42
|
+
AfterNamespace: false
|
|
43
|
+
AfterObjCDeclaration: false
|
|
44
|
+
AfterStruct: false
|
|
45
|
+
AfterUnion: false
|
|
46
|
+
BeforeCatch: false
|
|
47
|
+
BeforeElse: false
|
|
48
|
+
IndentBraces: false
|
|
49
|
+
BreakAfterJavaFieldAnnotations: false
|
|
50
|
+
BreakBeforeBinaryOperators: None
|
|
51
|
+
BreakBeforeBraces: Custom
|
|
52
|
+
BreakBeforeInheritanceComma: false
|
|
53
|
+
BreakBeforeTernaryOperators: false
|
|
54
|
+
BreakConstructorInitializers: AfterColon
|
|
55
|
+
BreakStringLiterals: true
|
|
56
|
+
ColumnLimit: 80
|
|
57
|
+
CommentPragmas: '^ IWYU pragma:'
|
|
58
|
+
CompactNamespaces: false
|
|
59
|
+
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
|
60
|
+
ConstructorInitializerIndentWidth: 2
|
|
61
|
+
ContinuationIndentWidth: 2
|
|
62
|
+
Cpp11BracedListStyle: true
|
|
63
|
+
DerivePointerAlignment: false
|
|
64
|
+
DisableFormat: false
|
|
65
|
+
ExperimentalAutoDetectBinPacking: false
|
|
66
|
+
FixNamespaceComments: true
|
|
67
|
+
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
|
|
68
|
+
IncludeCategories:
|
|
69
|
+
- Regex: '^"'
|
|
70
|
+
Priority: 1
|
|
71
|
+
- Regex: '^<'
|
|
72
|
+
Priority: 2
|
|
73
|
+
IncludeIsMainRegex: '(Test)$'
|
|
74
|
+
IndentCaseLabels: true
|
|
75
|
+
IndentWidth: 4
|
|
76
|
+
IndentWrappedFunctionNames: false
|
|
77
|
+
JavaScriptQuotes: Leave
|
|
78
|
+
JavaScriptWrapImports: true
|
|
79
|
+
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
80
|
+
MacroBlockBegin: ''
|
|
81
|
+
MacroBlockEnd: ''
|
|
82
|
+
MaxEmptyLinesToKeep: 1
|
|
83
|
+
NamespaceIndentation: None
|
|
84
|
+
ObjCBlockIndentWidth: 4
|
|
85
|
+
ObjCSpaceAfterProperty: true
|
|
86
|
+
ObjCSpaceBeforeProtocolList: false
|
|
87
|
+
PenaltyBreakBeforeFirstCallParameter: 19
|
|
88
|
+
PenaltyBreakComment: 300
|
|
89
|
+
PenaltyBreakFirstLessLess: 120
|
|
90
|
+
PenaltyBreakString: 1000
|
|
91
|
+
PenaltyExcessCharacter: 1000000
|
|
92
|
+
PenaltyReturnTypeOnItsOwnLine: 200
|
|
93
|
+
PointerAlignment: Left
|
|
94
|
+
ReflowComments: true
|
|
95
|
+
SortIncludes: true
|
|
96
|
+
SpaceAfterCStyleCast: false
|
|
97
|
+
SpaceAfterTemplateKeyword: false
|
|
98
|
+
SpaceBeforeAssignmentOperators: true
|
|
99
|
+
SpaceBeforeParens: Never
|
|
100
|
+
SpaceInEmptyParentheses: false
|
|
101
|
+
SpacesBeforeTrailingComments: 1
|
|
102
|
+
SpacesInAngles: false
|
|
103
|
+
SpacesInCStyleCastParentheses: false
|
|
104
|
+
SpacesInContainerLiterals: false
|
|
105
|
+
SpacesInParentheses: false
|
|
106
|
+
SpacesInSquareBrackets: false
|
|
107
|
+
Standard: Cpp11
|
|
108
|
+
TabWidth: 8
|
|
109
|
+
UseTab: Never
|
|
110
|
+
...
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Copyright 2023 NWChemEx-Project
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
name: Merge Workflow
|
|
17
|
+
|
|
18
|
+
on:
|
|
19
|
+
push:
|
|
20
|
+
branches:
|
|
21
|
+
- master
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
tag-commit:
|
|
25
|
+
uses: NWChemEx/.github/.github/workflows/tag.yaml@master
|
|
26
|
+
secrets: inherit
|
|
27
|
+
|
|
28
|
+
deploy_nwx_docs:
|
|
29
|
+
uses: NWChemEx/.github/.github/workflows/deploy_nwx_docs.yaml@master
|
|
30
|
+
with:
|
|
31
|
+
doc_target: "pluginplay_cxx_api"
|
|
32
|
+
secrets: inherit
|
|
33
|
+
|
|
34
|
+
platform_matrix:
|
|
35
|
+
uses: NWChemEx/.github/.github/workflows/platform_matrix.yaml@master
|
|
36
|
+
|
|
37
|
+
build_pypi_dist:
|
|
38
|
+
needs: [tag-commit, platform_matrix]
|
|
39
|
+
strategy:
|
|
40
|
+
fail-fast: false
|
|
41
|
+
matrix:
|
|
42
|
+
include: ${{ fromJSON(needs.platform_matrix.outputs.release_matrix) }}
|
|
43
|
+
runs-on: ${{ matrix.os }}
|
|
44
|
+
steps:
|
|
45
|
+
- name: Build PyPI Distribution
|
|
46
|
+
uses: NWChemEx/.github/.github/actions/build_pypi_dist@master
|
|
47
|
+
with:
|
|
48
|
+
cibw_build: ${{ matrix.cibw_build }}
|
|
49
|
+
build_sdist: ${{ matrix.os == 'ubuntu-latest' && 'true' || 'false' }}
|
|
50
|
+
needs_mpi: "true"
|
|
51
|
+
needs_boost: "true"
|
|
52
|
+
|
|
53
|
+
- name: Upload Distribution Artifact
|
|
54
|
+
uses: actions/upload-artifact@v4
|
|
55
|
+
with:
|
|
56
|
+
name: dist-${{ matrix.os }}
|
|
57
|
+
path: dist/
|
|
58
|
+
|
|
59
|
+
# A separate, ubuntu-only publish job (rather than a publish step per
|
|
60
|
+
# build_pypi_dist leg) because pypa/gh-action-pypi-publish only runs on
|
|
61
|
+
# Linux, and because PyPI trusted publishing does not support reusable
|
|
62
|
+
# workflows (this job must be defined directly here, not delegated).
|
|
63
|
+
deploy_to_pypi:
|
|
64
|
+
needs: build_pypi_dist
|
|
65
|
+
runs-on: ubuntu-latest
|
|
66
|
+
permissions:
|
|
67
|
+
id-token: write
|
|
68
|
+
steps:
|
|
69
|
+
- name: Download All Distributions
|
|
70
|
+
uses: actions/download-artifact@v4
|
|
71
|
+
with:
|
|
72
|
+
pattern: dist-*
|
|
73
|
+
path: dist
|
|
74
|
+
merge-multiple: true
|
|
75
|
+
|
|
76
|
+
- name: Publish to PyPI
|
|
77
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
78
|
+
with:
|
|
79
|
+
packages-dir: dist/
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Copyright 2025 NWChemEx-Project
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
name: Nightly Workflow
|
|
17
|
+
# Re-runs the same build/test jobs pull_request.yaml runs, on a schedule, to
|
|
18
|
+
# catch breakage that originates outside the repo (upstream dependency
|
|
19
|
+
# releases, refreshed GitHub runner images) rather than from a code change.
|
|
20
|
+
# Keep the job list below in sync with pull_request.yaml.
|
|
21
|
+
|
|
22
|
+
on:
|
|
23
|
+
schedule:
|
|
24
|
+
- cron: "0 6 * * *" # Every day at 06:00 UTC (00:00 CST)
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
test_cmake_build:
|
|
28
|
+
uses: NWChemEx/.github/.github/workflows/test_nwx_cmake_build.yaml@master
|
|
29
|
+
with:
|
|
30
|
+
run_python_tests: "true"
|
|
31
|
+
|
|
32
|
+
test_pip_build:
|
|
33
|
+
uses: NWChemEx/.github/.github/workflows/test_nwx_pip_build.yaml@master
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Copyright 2023 NWChemEx-Project
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
name: Pull Request Workflow
|
|
17
|
+
|
|
18
|
+
on:
|
|
19
|
+
pull_request:
|
|
20
|
+
branches:
|
|
21
|
+
- master
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
check_formatting:
|
|
25
|
+
uses: NWChemEx/.github/.github/workflows/check_formatting.yaml@master
|
|
26
|
+
|
|
27
|
+
test_nwx_docs:
|
|
28
|
+
uses: NWChemEx/.github/.github/workflows/test_nwx_docs.yaml@master
|
|
29
|
+
with:
|
|
30
|
+
doc_target: "pluginplay_cxx_api"
|
|
31
|
+
|
|
32
|
+
test_cmake_build:
|
|
33
|
+
uses: NWChemEx/.github/.github/workflows/test_nwx_cmake_build.yaml@master
|
|
34
|
+
with:
|
|
35
|
+
run_python_tests: "true"
|
|
36
|
+
|
|
37
|
+
test_pip_build:
|
|
38
|
+
uses: NWChemEx/.github/.github/workflows/test_nwx_pip_build.yaml@master
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Copyright 2022 NWChemEx-Project
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
# These are extensions commonly used to denote temporary files
|
|
16
|
+
*.tmp
|
|
17
|
+
*.autosave
|
|
18
|
+
*.bak
|
|
19
|
+
|
|
20
|
+
# These are directories used by IDEs for storing settings
|
|
21
|
+
.idea/
|
|
22
|
+
.vscode/
|
|
23
|
+
.cache
|
|
24
|
+
|
|
25
|
+
# These are common Python virtual enviornment directory names
|
|
26
|
+
venv/
|
|
27
|
+
docs/venv/
|
|
28
|
+
|
|
29
|
+
# This is where Jupyter/IPython store backup files
|
|
30
|
+
.ipynb_checkpoints/
|
|
31
|
+
|
|
32
|
+
# Byte-compiled Python
|
|
33
|
+
__pycache__/
|
|
34
|
+
|
|
35
|
+
# These are common build directory names
|
|
36
|
+
build*/
|
|
37
|
+
docs/build
|
|
38
|
+
docs/source/_build
|
|
39
|
+
docs/doxyoutput
|
|
40
|
+
docs/source/api
|
|
41
|
+
*-build-*/
|
|
42
|
+
_build/
|
|
43
|
+
Debug/
|
|
44
|
+
Release/
|
|
45
|
+
|
|
46
|
+
# Users commonly store their specific CMake settings in a toolchain file
|
|
47
|
+
toolchain.cmake
|
|
48
|
+
|
|
49
|
+
# These are the default names for the components of the cache
|
|
50
|
+
cache.db
|
|
51
|
+
uuid.db
|
|
52
|
+
|
|
53
|
+
install/
|
|
54
|
+
|
|
55
|
+
# These are MacOS files
|
|
56
|
+
.DS_Store
|
|
57
|
+
|
|
58
|
+
# Automatically installed in dev mode
|
|
59
|
+
.pre-commit-config.yaml
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Copyright 2021 NWChemEx-Project
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
header:
|
|
16
|
+
license:
|
|
17
|
+
spdx-id: Apache-2.0
|
|
18
|
+
copyright-owner: NWChemEx-Project
|
|
19
|
+
|
|
20
|
+
paths-ignore:
|
|
21
|
+
- .github/
|
|
22
|
+
- docs/Makefile
|
|
23
|
+
- docs/requirements.txt
|
|
24
|
+
- cmake/generate_module_docs.cpp.in
|
|
25
|
+
- LICENSE
|
|
26
|
+
- version.txt
|
|
27
|
+
- build/
|
|
28
|
+
|
|
29
|
+
comment: never
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# Copyright 2026 NWChemEx-Project
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
cmake_minimum_required(VERSION 3.14)
|
|
16
|
+
|
|
17
|
+
# Downloads common CMake modules used throughout NWChemEx. Included before
|
|
18
|
+
# project() so nwx_set_version() is available to compute the version.
|
|
19
|
+
include(cmake/get_nwx_cmake.cmake)
|
|
20
|
+
|
|
21
|
+
# Version from scikit-build-core (wheels/sdists) or the latest git tag.
|
|
22
|
+
include(nwx_set_version)
|
|
23
|
+
nwx_set_version(pp_version "${CMAKE_CURRENT_LIST_DIR}")
|
|
24
|
+
project(pluginplay VERSION "${pp_version}" LANGUAGES CXX)
|
|
25
|
+
|
|
26
|
+
include(disable_in_source_builds)
|
|
27
|
+
include(set_default_nwx_options)
|
|
28
|
+
option(BUILD_ROCKSDB "Enable RocksDB backend of the cache" OFF)
|
|
29
|
+
|
|
30
|
+
# Documentation target
|
|
31
|
+
include(nwx_cxx_api_docs)
|
|
32
|
+
nwx_cxx_api_docs("cxx/include" "cxx/src")
|
|
33
|
+
|
|
34
|
+
# Dependencies
|
|
35
|
+
include(get_dependencies)
|
|
36
|
+
get_dependencies(utilities parallelzone libfort boost)
|
|
37
|
+
|
|
38
|
+
# pybind11 must be fetched before nwx_library because python_wrapper.hpp is a
|
|
39
|
+
# public PluginPlay header that conditionally includes pybind11/pybind11.h when
|
|
40
|
+
# BUILD_PYBIND11 is defined. Without pybind11 on the include path the library
|
|
41
|
+
# sources themselves fail to compile.
|
|
42
|
+
if(BUILD_PYBIND11_BINDINGS)
|
|
43
|
+
get_dependencies(pybind11)
|
|
44
|
+
# Development.Module is enough for the .so extension (built via
|
|
45
|
+
# pybind11_add_module, which intentionally avoids linking libpython so
|
|
46
|
+
# the module can be loaded by any Python that provides the symbols at
|
|
47
|
+
# runtime). Development.Embed additionally provides the Python::Python
|
|
48
|
+
# target (see below), needed so any C++-only executable that transitively
|
|
49
|
+
# links this library (e.g. a Catch2 test binary, here or in a downstream
|
|
50
|
+
# ecosystem project) gets those symbols resolved at link time instead --
|
|
51
|
+
# an executable can't defer resolution to runtime the way a shared
|
|
52
|
+
# library/extension can. This used to be gated on BUILD_TESTING, but
|
|
53
|
+
# get_dependencies() force-sets BUILD_TESTING=OFF while FetchContent'ing
|
|
54
|
+
# this project as someone else's dependency, which left downstream test
|
|
55
|
+
# executables (e.g. simde's unit_test_simde) linking a libpluginplay.dylib
|
|
56
|
+
# with no libpython and unresolved CPython symbols, aborting at load time.
|
|
57
|
+
# Probing for Development.Embed instead of requiring it keeps manylinux
|
|
58
|
+
# wheel-build containers (which deliberately don't ship libpython.so, and
|
|
59
|
+
# never link a C++ executable against this library anyway) working: the
|
|
60
|
+
# component there just won't be found, and Python::Python is skipped
|
|
61
|
+
# below.
|
|
62
|
+
find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)
|
|
63
|
+
find_package(Python QUIET COMPONENTS Development.Embed)
|
|
64
|
+
endif()
|
|
65
|
+
|
|
66
|
+
# TODO: add RocksDB handling when BUILD_ROCKSDB=ON
|
|
67
|
+
|
|
68
|
+
# Build the library
|
|
69
|
+
include(nwx_library)
|
|
70
|
+
nwx_library(${PROJECT_NAME} "cxx/include" "cxx/src"
|
|
71
|
+
utilities parallelzone
|
|
72
|
+
PUBLIC boost
|
|
73
|
+
PRIVATE libfort)
|
|
74
|
+
|
|
75
|
+
# PluginPlay exposes a compile-time flag so its source can #ifdef pybind11 paths.
|
|
76
|
+
# pybind11::pybind11 is added PUBLIC so downstream consumers that include
|
|
77
|
+
# python_wrapper.hpp (a public header) also get the pybind11 include dirs.
|
|
78
|
+
if(BUILD_PYBIND11_BINDINGS)
|
|
79
|
+
target_compile_definitions(${PROJECT_NAME} PUBLIC BUILD_PYBIND11)
|
|
80
|
+
# pybind11::pybind11 provides pybind11 headers. python_wrapper.hpp (a
|
|
81
|
+
# public header, compiled into this library whenever BUILD_PYBIND11 is
|
|
82
|
+
# set) calls the CPython C API directly. As a *shared* library,
|
|
83
|
+
# ${PROJECT_NAME} itself tolerates those symbols staying undefined until
|
|
84
|
+
# runtime (same as the pybind11 extension module); it's only the Catch2
|
|
85
|
+
# test *executables* below that need them fully resolved at link time,
|
|
86
|
+
# so only link libpython (Python::Python, from Development.Embed above)
|
|
87
|
+
# when those executables are actually built.
|
|
88
|
+
# Python::Module (Development.Module) provides the Python.h include path
|
|
89
|
+
# python_wrapper.hpp needs to even compile; it's always available (see
|
|
90
|
+
# find_package above) and, unlike Python::Python, doesn't link libpython.
|
|
91
|
+
target_link_libraries(${PROJECT_NAME} PUBLIC pybind11::pybind11 Python::Module)
|
|
92
|
+
if(TARGET Python::Python)
|
|
93
|
+
target_link_libraries(${PROJECT_NAME} PUBLIC Python::Python)
|
|
94
|
+
endif()
|
|
95
|
+
endif()
|
|
96
|
+
|
|
97
|
+
# Python module
|
|
98
|
+
include(nwx_python_module)
|
|
99
|
+
nwx_python_module(${PROJECT_NAME} "cxx/src")
|
|
100
|
+
|
|
101
|
+
# C++ tests
|
|
102
|
+
include(catch2_tests_from_dir)
|
|
103
|
+
catch2_tests_from_dir(
|
|
104
|
+
"unit_test_${PROJECT_NAME}"
|
|
105
|
+
"tests/cxx/unit_tests/${PROJECT_NAME}"
|
|
106
|
+
${PROJECT_NAME}
|
|
107
|
+
PRIVATE_INCLUDES cxx/src
|
|
108
|
+
)
|
|
109
|
+
catch2_tests_from_dir(
|
|
110
|
+
"test_regression_${PROJECT_NAME}"
|
|
111
|
+
"tests/cxx/regression_tests"
|
|
112
|
+
${PROJECT_NAME}
|
|
113
|
+
PRIVATE_INCLUDES cxx/src
|
|
114
|
+
)
|
|
115
|
+
catch2_tests_from_dir(
|
|
116
|
+
"test_${PROJECT_NAME}_docs"
|
|
117
|
+
"tests/cxx/doc_snippets"
|
|
118
|
+
${PROJECT_NAME}
|
|
119
|
+
PRIVATE_INCLUDES cxx/src
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
# py_test_pluginplay: a pybind11 module exposing C++ test fixtures (BaseClass,
|
|
123
|
+
# property types, etc.) to tests/python/unit_tests/*.py. Not part of the
|
|
124
|
+
# installed package -- test-only, built in place alongside the other test
|
|
125
|
+
# binaries. The old build system built this via nwx_add_pybind11_module(...);
|
|
126
|
+
# reuses nwx_python_module (its NO_INSTALL keeps this out of the wheel). Its
|
|
127
|
+
# sources are prefixed export_ so they match the macro's source filter.
|
|
128
|
+
if(BUILD_PYBIND11_BINDINGS AND BUILD_TESTING)
|
|
129
|
+
nwx_python_module(py_test_pluginplay "tests/python/unit_tests" NO_INSTALL)
|
|
130
|
+
endif()
|
|
131
|
+
|
|
132
|
+
# pluginplay_examples: a pybind11 module (EXPORT_PLUGIN, in
|
|
133
|
+
# tests/python/doc_snippets/export_pluginplay_examples.cpp) exposing the
|
|
134
|
+
# tutorial "Classical Force"/"Coulomb's Law" example modules to
|
|
135
|
+
# tests/python/doc_snippets/*.py. Depends on a small library built from the
|
|
136
|
+
# (non-test) implementation files under tests/cxx/doc_snippets -- listed
|
|
137
|
+
# explicitly rather than globbed, since that directory also holds Catch2
|
|
138
|
+
# TEST_CASE files and a custom main() (used by test_pluginplay_docs above)
|
|
139
|
+
# that aren't part of the example modules themselves. The pybind11 module
|
|
140
|
+
# itself reuses nwx_python_module (DEPENDS for the extra link libraries,
|
|
141
|
+
# NO_INSTALL to keep it out of the wheel); the supporting library is plain
|
|
142
|
+
# C++, not a pybind11 module, so it's built via nwx_library(... SOURCES ...
|
|
143
|
+
# NO_INSTALL) instead.
|
|
144
|
+
if(BUILD_PYBIND11_BINDINGS AND BUILD_TESTING)
|
|
145
|
+
set(_pluginplay_examples_dir "${CMAKE_CURRENT_SOURCE_DIR}/tests/cxx/doc_snippets")
|
|
146
|
+
nwx_library(pluginplay_examples_impl
|
|
147
|
+
"tests/cxx/doc_snippets" "tests/cxx/doc_snippets"
|
|
148
|
+
${PROJECT_NAME}
|
|
149
|
+
SOURCES
|
|
150
|
+
"${_pluginplay_examples_dir}/classical_force.cpp"
|
|
151
|
+
"${_pluginplay_examples_dir}/coulombs_law.cpp"
|
|
152
|
+
"${_pluginplay_examples_dir}/load_modules.cpp"
|
|
153
|
+
"${_pluginplay_examples_dir}/screened_coulombs_law.cpp"
|
|
154
|
+
"${_pluginplay_examples_dir}/templated_coulombs_law.cpp"
|
|
155
|
+
TYPE STATIC
|
|
156
|
+
NO_INSTALL
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
nwx_python_module(pluginplay_examples "tests/python/doc_snippets" NO_INSTALL
|
|
160
|
+
DEPENDS parallelzone pluginplay_examples_impl
|
|
161
|
+
)
|
|
162
|
+
endif()
|