morphio 3.3.9__tar.gz → 3.3.10__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.
Files changed (339) hide show
  1. {morphio-3.3.9 → morphio-3.3.10}/.github/workflows/check-sdist.yml +2 -2
  2. {morphio-3.3.9 → morphio-3.3.10}/.github/workflows/clang_format_check.yaml +1 -1
  3. {morphio-3.3.9 → morphio-3.3.10}/.github/workflows/coverage_test.yaml +1 -1
  4. {morphio-3.3.9 → morphio-3.3.10}/.github/workflows/docstring_check.yaml +1 -1
  5. {morphio-3.3.9 → morphio-3.3.10}/.github/workflows/publish-sdist-wheels.yml +37 -31
  6. {morphio-3.3.9 → morphio-3.3.10}/.github/workflows/run-tests.yml +2 -2
  7. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/CMake/HighFiveConfig.cmake.in +7 -1
  8. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/CMake/HighFiveTargetDeps.cmake +3 -0
  9. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/CMake/HighFiveTargetExport.cmake +0 -1
  10. morphio-3.3.10/3rdparty/HighFive/CMake/HighFiveWarnings.cmake +43 -0
  11. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/CMakeLists.txt +8 -20
  12. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/Doxyfile +3 -0
  13. morphio-3.3.10/3rdparty/HighFive/doc/developer_guide.md +224 -0
  14. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/doxygen-awesome-css/doxygen-awesome.css +209 -62
  15. morphio-3.3.10/3rdparty/HighFive/doc/installation.md +257 -0
  16. morphio-3.3.10/3rdparty/HighFive/doc/migration_guide.md +134 -0
  17. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example3.cpp +1 -1
  18. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example6.cpp +1 -3
  19. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example_boost.cpp +1 -3
  20. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example_boost_ublas.cpp +1 -1
  21. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example_easy_highfive.cpp +1 -0
  22. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example_props.cpp +1 -1
  23. morphio-3.3.10/3rdparty/HighFive/include/highfive/H5Attribute.hpp +276 -0
  24. morphio-3.3.10/3rdparty/HighFive/include/highfive/H5DataSpace.hpp +278 -0
  25. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5DataType.hpp +97 -15
  26. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5File.hpp +11 -0
  27. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5PropertyList.hpp +147 -2
  28. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5Utility.hpp +9 -6
  29. morphio-3.3.10/3rdparty/HighFive/include/highfive/H5Version.hpp +33 -0
  30. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits_misc.hpp +19 -40
  31. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Attribute_misc.hpp +51 -32
  32. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp +421 -0
  33. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5DataSet_misc.hpp +6 -15
  34. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5DataType_misc.hpp +106 -86
  35. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Dataspace_misc.hpp +26 -29
  36. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Exception_misc.hpp +11 -7
  37. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5File_misc.hpp +17 -9
  38. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/H5Inspector_decl.hpp +27 -0
  39. morphio-3.3.9/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp → morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/H5Inspector_misc.hpp +77 -336
  40. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Node_traits.hpp +26 -17
  41. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Node_traits_misc.hpp +107 -144
  42. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Object_misc.hpp +14 -14
  43. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Path_traits_misc.hpp +4 -8
  44. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5PropertyList_misc.hpp +68 -113
  45. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5ReadWrite_misc.hpp +55 -35
  46. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Reference_misc.hpp +8 -13
  47. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits.hpp +180 -26
  48. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits_misc.hpp +76 -57
  49. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Utils.hpp +2 -0
  50. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5_definitions.hpp +10 -1
  51. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5_wrapper.hpp +19 -0
  52. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5a_wrapper.hpp +131 -0
  53. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5d_wrapper.hpp +125 -0
  54. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5e_wrapper.hpp +39 -0
  55. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5f_wrapper.hpp +58 -0
  56. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5g_wrapper.hpp +46 -0
  57. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5i_wrapper.hpp +79 -0
  58. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5l_wrapper.hpp +132 -0
  59. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5o_wrapper.hpp +19 -0
  60. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5p_wrapper.hpp +376 -0
  61. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5r_wrapper.hpp +42 -0
  62. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5s_wrapper.hpp +136 -0
  63. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/h5t_wrapper.hpp +230 -0
  64. morphio-3.3.10/3rdparty/HighFive/include/highfive/bits/string_padding.hpp +14 -0
  65. morphio-3.3.10/3rdparty/HighFive/include/highfive/boost.hpp +164 -0
  66. morphio-3.3.10/3rdparty/HighFive/include/highfive/eigen.hpp +93 -0
  67. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_Eigen.hpp +2 -2
  68. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_opencv.hpp +2 -2
  69. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_xtensor.hpp +2 -2
  70. morphio-3.3.10/3rdparty/HighFive/include/highfive/half_float.hpp +21 -0
  71. morphio-3.3.10/3rdparty/HighFive/include/highfive/highfive.hpp +14 -0
  72. {morphio-3.3.9/morphio.egg-info → morphio-3.3.10}/PKG-INFO +1 -1
  73. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_enums.cpp +1 -3
  74. {morphio-3.3.9 → morphio-3.3.10}/binds/python/generated/docstrings.h +0 -14
  75. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/enums.h +1 -1
  76. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/types.h +0 -1
  77. {morphio-3.3.9 → morphio-3.3.10/morphio.egg-info}/PKG-INFO +1 -1
  78. {morphio-3.3.9 → morphio-3.3.10}/morphio.egg-info/SOURCES.txt +25 -4
  79. {morphio-3.3.9 → morphio-3.3.10}/src/error_message_generation.cpp +2 -1
  80. {morphio-3.3.9 → morphio-3.3.10}/src/warning_handling.cpp +0 -4
  81. morphio-3.3.9/3rdparty/HighFive/CMake/config/CompilerFlagsHelpers.cmake +0 -59
  82. morphio-3.3.9/3rdparty/HighFive/CMake/config/ReleaseDebugAutoFlags.cmake +0 -45
  83. morphio-3.3.9/3rdparty/HighFive/doc/poster/example_eigen.cpp +0 -35
  84. morphio-3.3.9/3rdparty/HighFive/include/highfive/H5Attribute.hpp +0 -134
  85. morphio-3.3.9/3rdparty/HighFive/include/highfive/H5DataSpace.hpp +0 -118
  86. morphio-3.3.9/include/morphio/tools.h +0 -35
  87. {morphio-3.3.9 → morphio-3.3.10}/.clang-format +0 -0
  88. {morphio-3.3.9 → morphio-3.3.10}/.gitignore +0 -0
  89. {morphio-3.3.9 → morphio-3.3.10}/.gitmodules +0 -0
  90. {morphio-3.3.9 → morphio-3.3.10}/.readthedocs.yaml +0 -0
  91. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/CMakeLists.txt +0 -0
  92. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/CMakeLists.txt +0 -0
  93. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/cmake/gsl-lite-config-version.cmake.in +0 -0
  94. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/cmake/gsl-lite-config.cmake.in +0 -0
  95. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/gsl-lite.natvis +0 -0
  96. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/include/gsl/gsl +0 -0
  97. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/include/gsl/gsl-lite-vc6.hpp +0 -0
  98. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/include/gsl/gsl-lite.h +0 -0
  99. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/include/gsl/gsl-lite.hpp +0 -0
  100. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/include/gsl-lite/gsl-lite.hpp +0 -0
  101. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/include/gsl.h +0 -0
  102. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/GSL_LITE/include/gsl.hpp +0 -0
  103. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/CMake/config/TestHelpers.cmake +0 -0
  104. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/CMakeLists.txt +0 -0
  105. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/DoxygenLayout.xml +1 -1
  106. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/doxygen-awesome-css/update_doxygen_awesome.sh +0 -0
  107. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/environment.yaml +0 -0
  108. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example1_hdf5.cpp +0 -0
  109. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example1_highfive.cpp +0 -0
  110. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/example_easy_h5py.py +0 -0
  111. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/examples.js +0 -0
  112. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/godbolt.org.ico +0 -0
  113. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/doc/poster/index.html +0 -0
  114. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5DataSet.hpp +0 -0
  115. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5Easy.hpp +0 -0
  116. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5Exception.hpp +0 -0
  117. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5FileDriver.hpp +0 -0
  118. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5Group.hpp +0 -0
  119. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5Object.hpp +0 -0
  120. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5Reference.hpp +0 -0
  121. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5Selection.hpp +0 -0
  122. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/H5Version.hpp.in +0 -0
  123. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits.hpp +0 -0
  124. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5FileDriver_misc.hpp +0 -0
  125. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Friends.hpp +0 -0
  126. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Iterables_misc.hpp +0 -0
  127. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Path_traits.hpp +0 -0
  128. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/bits/H5Selection_misc.hpp +0 -0
  129. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_misc.hpp +0 -0
  130. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_public.hpp +0 -0
  131. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_scalar.hpp +0 -0
  132. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_vector.hpp +0 -0
  133. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/CMakeLists.txt +0 -0
  134. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/LICENSE +0 -0
  135. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/cmake/GhcHelper.cmake +0 -0
  136. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/cmake/config.cmake.in +0 -0
  137. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/include/ghc/filesystem.hpp +0 -0
  138. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/include/ghc/fs_fwd.hpp +0 -0
  139. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/include/ghc/fs_impl.hpp +0 -0
  140. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/include/ghc/fs_std.hpp +0 -0
  141. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/include/ghc/fs_std_fwd.hpp +0 -0
  142. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/ghc_filesystem/include/ghc/fs_std_impl.hpp +0 -0
  143. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/CMakeLists.txt +0 -0
  144. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/char_traits.hpp +0 -0
  145. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/debug.hpp +0 -0
  146. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/dot.hpp +0 -0
  147. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/enums.hpp +0 -0
  148. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/generate_cpp.hpp +0 -0
  149. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/generator.hpp +0 -0
  150. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/internals.hpp +0 -0
  151. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/iterator.hpp +0 -0
  152. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/licence_1_0.txt +0 -0
  153. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/lookup.hpp +0 -0
  154. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/match_results.hpp +0 -0
  155. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/memory_file.hpp +0 -0
  156. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/narrow.hpp +0 -0
  157. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/observer_ptr.hpp +0 -0
  158. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/parser.hpp +0 -0
  159. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/blocks.hpp +0 -0
  160. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/fold2.inc +0 -0
  161. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/fold4.inc +0 -0
  162. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_token.hpp +0 -0
  163. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser.hpp +0 -0
  164. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser_helper.hpp +0 -0
  165. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser_state.hpp +0 -0
  166. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/scripts.hpp +0 -0
  167. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/table.inc +0 -0
  168. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tokeniser/unicode.hpp +0 -0
  169. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tree/end_node.hpp +0 -0
  170. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tree/iteration_node.hpp +0 -0
  171. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tree/leaf_node.hpp +0 -0
  172. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tree/node.hpp +0 -0
  173. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tree/selection_node.hpp +0 -0
  174. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/parser/tree/sequence_node.hpp +0 -0
  175. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/partition/charset.hpp +0 -0
  176. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/partition/equivset.hpp +0 -0
  177. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/rules.hpp +0 -0
  178. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/runtime_error.hpp +0 -0
  179. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/serialise.hpp +0 -0
  180. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/sm_to_csm.hpp +0 -0
  181. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/sm_traits.hpp +0 -0
  182. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/state_machine.hpp +0 -0
  183. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/stream_shared_iterator.hpp +0 -0
  184. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/string_token.hpp +0 -0
  185. {morphio-3.3.9 → morphio-3.3.10}/3rdparty/lexertl14/include/lexertl/utf_iterators.hpp +0 -0
  186. {morphio-3.3.9 → morphio-3.3.10}/AUTHORS.txt +0 -0
  187. {morphio-3.3.9 → morphio-3.3.10}/CHANGELOG.md +0 -0
  188. {morphio-3.3.9 → morphio-3.3.10}/CMake/CodeCoverage.cmake +0 -0
  189. {morphio-3.3.9 → morphio-3.3.10}/CMake/CompilerFlags.cmake +0 -0
  190. {morphio-3.3.9 → morphio-3.3.10}/CMake/MorphIOConfig.cmake +0 -0
  191. {morphio-3.3.9 → morphio-3.3.10}/CMakeLists.txt +0 -0
  192. {morphio-3.3.9 → morphio-3.3.10}/CONTRIBUTING.md +0 -0
  193. {morphio-3.3.9 → morphio-3.3.10}/LICENSE.txt +0 -0
  194. {morphio-3.3.9 → morphio-3.3.10}/MANIFEST.in +0 -0
  195. {morphio-3.3.9 → morphio-3.3.10}/README.rst +0 -0
  196. {morphio-3.3.9 → morphio-3.3.10}/binds/python/CMakeLists.txt +0 -0
  197. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_enums.h +0 -0
  198. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_immutable.cpp +0 -0
  199. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_immutable.h +0 -0
  200. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_misc.cpp +0 -0
  201. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_misc.h +0 -0
  202. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_mutable.cpp +0 -0
  203. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_mutable.h +0 -0
  204. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_vasculature.cpp +0 -0
  205. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_vasculature.h +0 -0
  206. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_warnings_exceptions.cpp +0 -0
  207. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bind_warnings_exceptions.h +0 -0
  208. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bindings_utils.cpp +0 -0
  209. {morphio-3.3.9 → morphio-3.3.10}/binds/python/bindings_utils.h +0 -0
  210. {morphio-3.3.9 → morphio-3.3.10}/binds/python/generated/.clang-format +0 -0
  211. {morphio-3.3.9 → morphio-3.3.10}/binds/python/morphio.cpp +0 -0
  212. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/CMakeLists.txt +0 -0
  213. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/LICENSE +0 -0
  214. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/attr.h +0 -0
  215. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/buffer_info.h +0 -0
  216. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/cast.h +0 -0
  217. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/chrono.h +0 -0
  218. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/common.h +0 -0
  219. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/complex.h +0 -0
  220. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/detail/class.h +0 -0
  221. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/detail/common.h +0 -0
  222. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/detail/descr.h +0 -0
  223. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/detail/init.h +0 -0
  224. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/detail/internals.h +0 -0
  225. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/detail/type_caster_base.h +0 -0
  226. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/detail/typeid.h +0 -0
  227. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/eigen/common.h +0 -0
  228. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/eigen/matrix.h +0 -0
  229. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/eigen/tensor.h +0 -0
  230. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/eigen.h +0 -0
  231. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/embed.h +0 -0
  232. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/eval.h +0 -0
  233. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/functional.h +0 -0
  234. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/gil.h +0 -0
  235. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/gil_safe_call_once.h +0 -0
  236. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/iostream.h +0 -0
  237. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/numpy.h +0 -0
  238. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/operators.h +0 -0
  239. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/options.h +0 -0
  240. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/pybind11.h +0 -0
  241. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/pytypes.h +0 -0
  242. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/stl/filesystem.h +0 -0
  243. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/stl.h +0 -0
  244. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/stl_bind.h +0 -0
  245. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/type_caster_pyobject_ptr.h +0 -0
  246. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/include/pybind11/typing.h +0 -0
  247. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/tools/FindCatch.cmake +0 -0
  248. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/tools/FindEigen3.cmake +0 -0
  249. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/tools/FindPythonLibsNew.cmake +0 -0
  250. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/tools/JoinPaths.cmake +0 -0
  251. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/tools/pybind11Common.cmake +0 -0
  252. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/tools/pybind11NewTools.cmake +0 -0
  253. {morphio-3.3.9 → morphio-3.3.10}/binds/python/pybind11/tools/pybind11Tools.cmake +0 -0
  254. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/collection.h +0 -0
  255. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/dendritic_spine.h +0 -0
  256. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/endoplasmic_reticulum.h +0 -0
  257. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/errorMessages.h +0 -0
  258. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/exceptions.h +0 -0
  259. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/glial_cell.h +0 -0
  260. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mito_section.h +0 -0
  261. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mitochondria.h +0 -0
  262. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/morphology.h +0 -0
  263. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/dendritic_spine.h +0 -0
  264. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/endoplasmic_reticulum.h +0 -0
  265. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/glial_cell.h +0 -0
  266. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/mito_section.h +0 -0
  267. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/mitochondria.h +0 -0
  268. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/modifiers.h +0 -0
  269. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/morphology.h +0 -0
  270. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/section.h +0 -0
  271. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/soma.h +0 -0
  272. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/mut/writers.h +0 -0
  273. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/properties.h +0 -0
  274. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/section.h +0 -0
  275. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/section_base.h +0 -0
  276. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/section_iterators.hpp +0 -0
  277. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/soma.h +0 -0
  278. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/vasc/iterators.hpp +0 -0
  279. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/vasc/properties.h +0 -0
  280. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/vasc/section.h +0 -0
  281. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/vasc/vasculature.h +0 -0
  282. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/vector_types.h +0 -0
  283. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/version.h +0 -0
  284. {morphio-3.3.9 → morphio-3.3.10}/include/morphio/warning_handling.h +0 -0
  285. {morphio-3.3.9 → morphio-3.3.10}/morphio/__init__.py +0 -0
  286. {morphio-3.3.9 → morphio-3.3.10}/morphio/mut/__init__.py +0 -0
  287. {morphio-3.3.9 → morphio-3.3.10}/morphio/vasculature/__init__.py +0 -0
  288. {morphio-3.3.9 → morphio-3.3.10}/morphio.egg-info/dependency_links.txt +0 -0
  289. {morphio-3.3.9 → morphio-3.3.10}/morphio.egg-info/not-zip-safe +0 -0
  290. {morphio-3.3.9 → morphio-3.3.10}/morphio.egg-info/requires.txt +0 -0
  291. {morphio-3.3.9 → morphio-3.3.10}/morphio.egg-info/top_level.txt +0 -0
  292. {morphio-3.3.9 → morphio-3.3.10}/pyproject.toml +0 -0
  293. {morphio-3.3.9 → morphio-3.3.10}/setup.cfg +0 -0
  294. {morphio-3.3.9 → morphio-3.3.10}/setup.py +0 -0
  295. {morphio-3.3.9 → morphio-3.3.10}/src/CMakeLists.txt +0 -0
  296. {morphio-3.3.9 → morphio-3.3.10}/src/collection.cpp +0 -0
  297. {morphio-3.3.9 → morphio-3.3.10}/src/dendritic_spine.cpp +0 -0
  298. {morphio-3.3.9 → morphio-3.3.10}/src/endoplasmic_reticulum.cpp +0 -0
  299. {morphio-3.3.9 → morphio-3.3.10}/src/enums.cpp +0 -0
  300. {morphio-3.3.9 → morphio-3.3.10}/src/errorMessages.cpp +0 -0
  301. {morphio-3.3.9 → morphio-3.3.10}/src/error_message_generation.h +0 -0
  302. {morphio-3.3.9 → morphio-3.3.10}/src/glial_cell.cpp +0 -0
  303. {morphio-3.3.9 → morphio-3.3.10}/src/mito_section.cpp +0 -0
  304. {morphio-3.3.9 → morphio-3.3.10}/src/mitochondria.cpp +0 -0
  305. {morphio-3.3.9 → morphio-3.3.10}/src/morphology.cpp +0 -0
  306. {morphio-3.3.9 → morphio-3.3.10}/src/mut/dendritic_spine.cpp +0 -0
  307. {morphio-3.3.9 → morphio-3.3.10}/src/mut/endoplasmic_reticulum.cpp +0 -0
  308. {morphio-3.3.9 → morphio-3.3.10}/src/mut/glial_cell.cpp +0 -0
  309. {morphio-3.3.9 → morphio-3.3.10}/src/mut/mito_section.cpp +0 -0
  310. {morphio-3.3.9 → morphio-3.3.10}/src/mut/mitochondria.cpp +0 -0
  311. {morphio-3.3.9 → morphio-3.3.10}/src/mut/modifiers.cpp +0 -0
  312. {morphio-3.3.9 → morphio-3.3.10}/src/mut/morphology.cpp +0 -0
  313. {morphio-3.3.9 → morphio-3.3.10}/src/mut/section.cpp +0 -0
  314. {morphio-3.3.9 → morphio-3.3.10}/src/mut/soma.cpp +0 -0
  315. {morphio-3.3.9 → morphio-3.3.10}/src/mut/writer_asc.cpp +0 -0
  316. {morphio-3.3.9 → morphio-3.3.10}/src/mut/writer_hdf5.cpp +0 -0
  317. {morphio-3.3.9 → morphio-3.3.10}/src/mut/writer_swc.cpp +0 -0
  318. {morphio-3.3.9 → morphio-3.3.10}/src/mut/writer_utils.cpp +0 -0
  319. {morphio-3.3.9 → morphio-3.3.10}/src/mut/writer_utils.h +0 -0
  320. {morphio-3.3.9 → morphio-3.3.10}/src/point_utils.cpp +0 -0
  321. {morphio-3.3.9 → morphio-3.3.10}/src/point_utils.h +0 -0
  322. {morphio-3.3.9 → morphio-3.3.10}/src/properties.cpp +0 -0
  323. {morphio-3.3.9 → morphio-3.3.10}/src/readers/NeurolucidaLexer.inc +0 -0
  324. {morphio-3.3.9 → morphio-3.3.10}/src/readers/morphologyASC.cpp +0 -0
  325. {morphio-3.3.9 → morphio-3.3.10}/src/readers/morphologyASC.h +0 -0
  326. {morphio-3.3.9 → morphio-3.3.10}/src/readers/morphologyHDF5.cpp +0 -0
  327. {morphio-3.3.9 → morphio-3.3.10}/src/readers/morphologyHDF5.h +0 -0
  328. {morphio-3.3.9 → morphio-3.3.10}/src/readers/morphologySWC.cpp +0 -0
  329. {morphio-3.3.9 → morphio-3.3.10}/src/readers/morphologySWC.h +0 -0
  330. {morphio-3.3.9 → morphio-3.3.10}/src/readers/vasculatureHDF5.cpp +0 -0
  331. {morphio-3.3.9 → morphio-3.3.10}/src/readers/vasculatureHDF5.h +0 -0
  332. {morphio-3.3.9 → morphio-3.3.10}/src/section.cpp +0 -0
  333. {morphio-3.3.9 → morphio-3.3.10}/src/shared_utils.cpp +0 -0
  334. {morphio-3.3.9 → morphio-3.3.10}/src/shared_utils.hpp +0 -0
  335. {morphio-3.3.9 → morphio-3.3.10}/src/soma.cpp +0 -0
  336. {morphio-3.3.9 → morphio-3.3.10}/src/vasc/properties.cpp +0 -0
  337. {morphio-3.3.9 → morphio-3.3.10}/src/vasc/section.cpp +0 -0
  338. {morphio-3.3.9 → morphio-3.3.10}/src/vasc/vasculature.cpp +0 -0
  339. {morphio-3.3.9 → morphio-3.3.10}/src/version.cpp.in +0 -0
@@ -13,12 +13,12 @@ jobs:
13
13
  if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
14
14
 
15
15
  steps:
16
- - uses: actions/checkout@v3
16
+ - uses: actions/checkout@v4
17
17
  with:
18
18
  submodules: 'true'
19
19
 
20
20
  - name: Set up Python 3.10
21
- uses: actions/setup-python@v4
21
+ uses: actions/setup-python@v5
22
22
  with:
23
23
  python-version: '3.10'
24
24
 
@@ -14,7 +14,7 @@ jobs:
14
14
 
15
15
  steps:
16
16
  - name: Fetch repository
17
- uses: actions/checkout@v3
17
+ uses: actions/checkout@v4
18
18
  with:
19
19
  fetch-depth: 2
20
20
  - name: Install packages
@@ -16,7 +16,7 @@ jobs:
16
16
 
17
17
  steps:
18
18
  - name: Checkout repository
19
- uses: actions/checkout@v3
19
+ uses: actions/checkout@v4
20
20
  - name: Fetch repository
21
21
  run: git fetch --prune --unshallow
22
22
  - name: Get submodules
@@ -14,7 +14,7 @@ jobs:
14
14
 
15
15
  steps:
16
16
  - name: Fetch repository
17
- uses: actions/checkout@v3
17
+ uses: actions/checkout@v4
18
18
  with:
19
19
  submodules: recursive
20
20
  - name: Install packages
@@ -4,9 +4,9 @@ on: [pull_request, push]
4
4
  env:
5
5
  apt_options: -o Acquire::Retries=3
6
6
 
7
- CIBW_BUILD_VERBOSITY: 3
7
+ CIBW_BUILD_VERBOSITY: 1
8
8
  CIBW_BUILD: 'cp*'
9
- CIBW_SKIP: 'cp35-* cp36-* cp37-* *-manylinux_i686 *-musllinux_* *-win32'
9
+ CIBW_SKIP: 'cp35-* cp36-* cp37-* cp38-* *-manylinux_i686 *-musllinux_* *-win32'
10
10
  CIBW_BEFORE_TEST: pip install -r {project}/tests/requirement_tests.txt
11
11
  CIBW_TEST_COMMAND: pytest -s -v {project}/tests
12
12
  UNIXY_HDF5_VERSION: 1.14.3
@@ -21,15 +21,16 @@ jobs:
21
21
  runs-on: ${{ matrix.os }}
22
22
  strategy:
23
23
  matrix:
24
- os: [ubuntu-20.04, macos-11, windows-2022]
24
+ # macos-13 is an intel runner, macos-14 is apple silicon
25
+ os: [ubuntu-20.04, windows-2022, macos-13, macos-14]
25
26
 
26
27
  steps:
27
- - uses: actions/checkout@v3
28
+ - uses: actions/checkout@v4
28
29
  with:
29
30
  submodules: 'true'
30
31
 
31
32
  - name: Install Python
32
- uses: actions/setup-python@v4
33
+ uses: actions/setup-python@v5
33
34
  with:
34
35
  python-version: '3.11'
35
36
 
@@ -39,7 +40,7 @@ jobs:
39
40
 
40
41
  - name: Cache HDF5 On Linux/macOS
41
42
  if: runner.os == 'Linux' || runner.os == 'macOS'
42
- uses: actions/cache@v3
43
+ uses: actions/cache@v4
43
44
  id: cache-hdf5-posix
44
45
  env:
45
46
  cache-name: cache-hdf5-posix
@@ -61,7 +62,7 @@ jobs:
61
62
  run: |
62
63
  # used by setup.py to decide if to set `FindHDF5` to use static hdf5 libraries
63
64
  export STATIC_HDF5=True
64
- export CMAKE_PREFIX_PATH=/opt/hdf5-static/install-/install/
65
+ export CMAKE_PREFIX_PATH=/opt/hdf5-static/install-x86_64/install/
65
66
 
66
67
  CIBW_MANYLINUX_X86_64_IMAGE=manylinux2014 python -m cibuildwheel --output-dir dist
67
68
  CIBW_MANYLINUX_X86_64_IMAGE=manylinux_2_28 python -m cibuildwheel --output-dir dist
@@ -69,7 +70,7 @@ jobs:
69
70
  - name: Build wheels Mac OS
70
71
  if: runner.os == 'macOS'
71
72
  env:
72
- CIBW_ENVIRONMENT_PASS: "STATIC_HDF5 CMAKE_PREFIX_PATH CMAKE_OSX_ARCHITECTURES MACOSX_DEPLOYMENT_TARGET"
73
+ CIBW_ENVIRONMENT_PASS: "STATIC_HDF5 CMAKE_PREFIX_PATH"
73
74
  CIBW_BEFORE_BUILD: |
74
75
  # CMake complains if the dependencies come from within the same tree
75
76
  # as the source, so we'll just pretend they are elsewhere
@@ -80,25 +81,13 @@ jobs:
80
81
  # used by setup.py to decide if to set `FindHDF5` to use static hdf5 libraries
81
82
  export STATIC_HDF5=True
82
83
 
83
- # x86_64 macOS allows for cross compilation; first we do arm64,
84
- # only for the 11.0 target; and store in the cache the compiled code...
85
- export CIBW_ARCHS_MACOS="arm64"
86
- export CMAKE_OSX_ARCHITECTURES="arm64"
87
- export MACOSX_DEPLOYMENT_TARGET="11.0"
88
- export CMAKE_PREFIX_PATH=/Users/runner/work/src-cache/install-$CIBW_ARCHS_MACOS/install
89
- python -m cibuildwheel --output-dir dist
90
-
91
- # ...and now we do both targets for x86_64
92
- export CIBW_ARCHS_MACOS="x86_64"
93
- export CMAKE_OSX_ARCHITECTURES="x86_64"
94
- unset MACOSX_DEPLOYMENT_TARGET
95
- export CMAKE_PREFIX_PATH=/Users/runner/work/src-cache/install-$CIBW_ARCHS_MACOS/install
84
+ export CMAKE_PREFIX_PATH=/Users/runner/work/src-cache/install-`uname -m`/install
96
85
  python -m cibuildwheel --output-dir dist
97
86
 
98
87
  - name: Cache HDF5 On Windows
99
88
  if: runner.os == 'Windows'
100
89
  id: cache-hdf5-windows
101
- uses: actions/cache@v3
90
+ uses: actions/cache@v4
102
91
  env:
103
92
  cache-name: cache-hdf5-windows
104
93
  with:
@@ -115,13 +104,29 @@ jobs:
115
104
 
116
105
  - name: Build wheels Windows
117
106
  if: runner.os == 'Windows'
118
- shell: cmd
119
107
  # the v140 toolchain is used, so that fewer vc_redist installs are required
120
108
  # some of the information is available here:
121
109
  # https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line
122
110
  # but tracking down the 14.0 magic number (and especially newer ones isn't always easy)
123
111
  # this has a partial table:
124
112
  # https://devblogs.microsoft.com/cppblog/side-by-side-minor-version-msvc-toolsets-in-visual-studio-2017/
113
+ run: |
114
+ # vc141 was removed, add it back here: https://github.com/actions/runner-images/issues/9701
115
+ Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
116
+ $InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
117
+ $componentsToAdd= @(
118
+ "Microsoft.VisualStudio.Component.VC.v141.x86.x64"
119
+ "Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre"
120
+ )
121
+ [string]$workloadArgs = $componentsToAdd | ForEach-Object {" --add " + $_}
122
+ $Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"",$workloadArgs, '--quiet', '--norestart', '--nocache')
123
+ # should be run twice
124
+ $process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
125
+ $process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
126
+
127
+ - name: Build wheels Windows
128
+ if: runner.os == 'Windows'
129
+ shell: cmd
125
130
  run: |
126
131
  C:\windows\system32\tar.exe xf C:\cache\hdf5\${{ env.WINDOWS_HDF5 }}\hdf5.zip
127
132
  start /wait msiexec /a "%cd%\hdf\HDF5-${{ env.WINDOWS_HDF5 }}-win64.msi" /qn TARGETDIR="c:\hdf5\"
@@ -133,9 +138,9 @@ jobs:
133
138
  python -m cibuildwheel --output-dir dist
134
139
 
135
140
  - name: Store wheel as artifact
136
- uses: actions/upload-artifact@v3
141
+ uses: actions/upload-artifact@v4
137
142
  with:
138
- name: dist
143
+ name: dist-wheels-${{ matrix.os }}
139
144
  path: dist/*.whl
140
145
 
141
146
  build_sdist:
@@ -144,12 +149,12 @@ jobs:
144
149
 
145
150
  runs-on: ubuntu-latest
146
151
  steps:
147
- - uses: actions/checkout@v3
152
+ - uses: actions/checkout@v4
148
153
  with:
149
154
  submodules: 'true'
150
155
 
151
156
  - name: Set up Python
152
- uses: actions/setup-python@v4
157
+ uses: actions/setup-python@v5
153
158
  with:
154
159
  python-version: '3.10'
155
160
 
@@ -166,9 +171,9 @@ jobs:
166
171
  pytest -s -v tests
167
172
 
168
173
  - name: Store sdist as artifact
169
- uses: actions/upload-artifact@v3
174
+ uses: actions/upload-artifact@v4
170
175
  with:
171
- name: dist
176
+ name: dist-sdist
172
177
  path: dist/*.tar.gz
173
178
 
174
179
  upload_artifacts:
@@ -180,10 +185,11 @@ jobs:
180
185
 
181
186
  steps:
182
187
  - name: Download artifacts produced during the build_wheels and build_sdist jobs
183
- uses: actions/download-artifact@v3
188
+ uses: actions/download-artifact@v4
184
189
  with:
185
- name: dist
190
+ pattern: dist-*
186
191
  path: dist/
192
+ merge-multiple: true
187
193
 
188
194
  - name: Display structure of downloaded files
189
195
  run: ls -R
@@ -24,12 +24,12 @@ jobs:
24
24
 
25
25
  steps:
26
26
  - name: Checkout repository
27
- uses: actions/checkout@v3
27
+ uses: actions/checkout@v4
28
28
  with:
29
29
  submodules: 'true'
30
30
 
31
31
  - name: Setup python
32
- uses: actions/setup-python@v4
32
+ uses: actions/setup-python@v5
33
33
  with:
34
34
  python-version: '3.10'
35
35
 
@@ -15,6 +15,8 @@ if(TARGET HighFive)
15
15
  return()
16
16
  endif()
17
17
 
18
+ @PACKAGE_INIT@
19
+
18
20
  # Get HighFive targets
19
21
  include("${CMAKE_CURRENT_LIST_DIR}/HighFiveTargets.cmake")
20
22
 
@@ -61,8 +63,12 @@ if(HIGHFIVE_USE_XTENSOR AND NOT CMAKE_VERSION VERSION_LESS 3.8)
61
63
  set_property(TARGET HighFive APPEND PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_14)
62
64
  endif()
63
65
 
64
- message(STATUS "HIGHFIVE @PROJECT_VERSION@: (Re)Detecting Highfive dependencies (HIGHFIVE_USE_INSTALL_DEPS=NO)")
66
+ if(NOT HighFive_FIND_QUIETLY)
67
+ message(STATUS "HIGHFIVE @PROJECT_VERSION@: (Re)Detecting Highfive dependencies (HIGHFIVE_USE_INSTALL_DEPS=NO)")
68
+ endif()
65
69
  include("${CMAKE_CURRENT_LIST_DIR}/HighFiveTargetDeps.cmake")
66
70
  foreach(dependency HighFive_libheaders libdeps)
67
71
  copy_interface_properties(HighFive ${dependency})
68
72
  endforeach()
73
+
74
+ check_required_components(HighFive)
@@ -26,6 +26,7 @@ if(NOT TARGET libdeps)
26
26
  # HDF5
27
27
  if(NOT DEFINED HDF5_C_LIBRARIES)
28
28
  set(HDF5_PREFER_PARALLEL ${HIGHFIVE_PARALLEL_HDF5})
29
+ set(HDF5_USE_STATIC_LIBRARIES ${HIGHFIVE_STATIC_HDF5})
29
30
  find_package(HDF5 REQUIRED)
30
31
  endif()
31
32
 
@@ -36,6 +37,8 @@ if(NOT TARGET libdeps)
36
37
  target_include_directories(libdeps SYSTEM INTERFACE ${HDF5_INCLUDE_DIRS})
37
38
  target_link_libraries(libdeps INTERFACE ${HDF5_LIBRARIES})
38
39
  target_compile_definitions(libdeps INTERFACE ${HDF5_DEFINITIONS})
40
+ target_compile_definitions(libdeps INTERFACE HIGHFIVE_HAS_CONCEPTS=$<BOOL:${HIGHFIVE_HAS_CONCEPTS}>)
41
+
39
42
 
40
43
  # Boost
41
44
  if(HIGHFIVE_USE_BOOST)
@@ -4,7 +4,6 @@ add_library(libheaders INTERFACE)
4
4
 
5
5
  target_include_directories(libheaders INTERFACE
6
6
  "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
7
- "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>"
8
7
  "$<INSTALL_INTERFACE:include>")
9
8
 
10
9
  # Combined HighFive
@@ -0,0 +1,43 @@
1
+ if(TARGET HighFiveWarnings)
2
+ # Allow multiple `include(HighFiveWarnings)`, which would
3
+ # attempt to redefine `HighFiveWarnings` and fail without
4
+ # this check.
5
+ return()
6
+ endif()
7
+
8
+ add_library(HighFiveWarnings INTERFACE)
9
+
10
+ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang"
11
+ OR CMAKE_CXX_COMPILER_ID MATCHES "GNU"
12
+ OR CMAKE_CXX_COMPILER_ID MATCHES "Intel")
13
+
14
+ target_compile_options(HighFiveWarnings
15
+ INTERFACE
16
+ -Wall
17
+ -Wextra
18
+ -Wshadow
19
+ -Wnon-virtual-dtor
20
+ -Wunused
21
+ -Woverloaded-virtual
22
+ -Wformat=2
23
+ -Wconversion
24
+ -Wsign-conversion
25
+ )
26
+
27
+ if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Intel")
28
+ target_compile_options(HighFiveWarnings
29
+ INTERFACE
30
+ -Wpedantic
31
+ -Wcast-align
32
+ -Wdouble-promotion
33
+ )
34
+ endif()
35
+
36
+ if(HIGHFIVE_HAS_WERROR)
37
+ target_compile_options(HighFiveWarnings
38
+ INTERFACE
39
+ -Werror
40
+ -Wno-error=deprecated-declarations
41
+ )
42
+ endif()
43
+ endif()
@@ -5,15 +5,14 @@ else()
5
5
  cmake_policy(VERSION 3.13)
6
6
  endif()
7
7
 
8
- project(HighFive VERSION 2.7.1)
8
+ project(HighFive VERSION 2.10.0)
9
9
 
10
10
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/highfive/H5Version.hpp.in
11
- ${CMAKE_CURRENT_BINARY_DIR}/include/highfive/H5Version.hpp)
11
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/highfive/H5Version.hpp)
12
12
  # INCLUDES
13
13
  list(APPEND CMAKE_MODULE_PATH
14
- ${PROJECT_SOURCE_DIR}/CMake
15
- ${PROJECT_SOURCE_DIR}/CMake/portability
16
- ${PROJECT_SOURCE_DIR}/CMake/config)
14
+ ${CMAKE_CURRENT_SOURCE_DIR}/CMake
15
+ ${CMAKE_CURRENT_SOURCE_DIR}/CMake/config)
17
16
 
18
17
  # OPTIONS
19
18
  # Compatibility within Highfive 2.x series
@@ -33,9 +32,12 @@ option(HIGHFIVE_USE_OPENCV "Enable OpenCV testing" ${USE_OPENCV})
33
32
  option(HIGHFIVE_USE_XTENSOR "Enable xtensor testing" ${USE_XTENSOR})
34
33
  option(HIGHFIVE_EXAMPLES "Compile examples" ON)
35
34
  option(HIGHFIVE_PARALLEL_HDF5 "Enable Parallel HDF5 support" OFF)
35
+ option(HIGHFIVE_STATIC_HDF5 "Staticly link to HDF5 library" OFF)
36
36
  option(HIGHFIVE_BUILD_DOCS "Enable documentation building" ON)
37
37
  option(HIGHFIVE_VERBOSE "Set logging level to verbose." OFF)
38
38
  option(HIGHFIVE_GLIBCXX_ASSERTIONS "Enable bounds check for STL." OFF)
39
+ option(HIGHFIVE_HAS_CONCEPTS "Print readable compiler errors w/ C++20 concepts" ON)
40
+ option(HIGHFIVE_HAS_WERROR "Convert warnings to errors." OFF)
39
41
 
40
42
  # Controls if HighFive classes are friends of each other.
41
43
  #
@@ -103,17 +105,12 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
103
105
  DESTINATION "include"
104
106
  PATTERN "*.in" EXCLUDE)
105
107
 
106
- # Installation of configured headers
107
- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
108
- DESTINATION "include")
109
-
110
-
111
108
  # Preparing local building (tests, examples)
112
109
  # ------------------------------------------
113
110
 
114
111
  # Disable test if Boost was expressly disabled, or if HighFive is a sub-project
115
112
  if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
116
- if(HIGHFIVE_UNIT_TESTS)
113
+ if(HIGHFIVE_UNIT_TESTS AND NOT HighFive_FIND_QUIETLY)
117
114
  message(WARNING "Unit tests have been DISABLED.")
118
115
  endif()
119
116
  set(HIGHFIVE_UNIT_TESTS FALSE)
@@ -134,15 +131,6 @@ if(HIGHFIVE_UNIT_TESTS)
134
131
  endif()
135
132
  endif()
136
133
 
137
-
138
- if(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
139
- # ICC gets mad if we shorten "int"s
140
- add_definitions("-wd1682")
141
- endif()
142
-
143
- # Set compile time flags _after_ including required dependencies
144
- include(ReleaseDebugAutoFlags)
145
-
146
134
  if(HIGHFIVE_EXAMPLES)
147
135
  add_subdirectory(src/examples)
148
136
  endif()
@@ -865,6 +865,9 @@ WARN_LOGFILE =
865
865
  # Note: If this tag is empty the current directory is searched.
866
866
 
867
867
  INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../include \
868
+ @CMAKE_CURRENT_SOURCE_DIR@/installation.md \
869
+ @CMAKE_CURRENT_SOURCE_DIR@/migration_guide.md \
870
+ @CMAKE_CURRENT_SOURCE_DIR@/developer_guide.md \
868
871
  @CMAKE_CURRENT_SOURCE_DIR@/../CHANGELOG.md \
869
872
  @CMAKE_CURRENT_SOURCE_DIR@/../README.md
870
873
 
@@ -0,0 +1,224 @@
1
+ # Developer Guide
2
+ First clone the repository and remember the `--recursive`:
3
+ ```bash
4
+ git clone --recursive git@github.com:BlueBrain/HighFive.git
5
+ ```
6
+ The instructions to recover if you forgot are:
7
+ ```bash
8
+ git submodule update --init --recursive
9
+ ```
10
+
11
+ One remark on submodules: each HighFive commit expects that the submodules are
12
+ at a particular commit. The catch is that performing `git checkout` will not
13
+ update the submodules automatically. Hence, sometimes a `git submodule update
14
+ --recursive` might be needed to checkout the expected version of the
15
+ submodules.
16
+
17
+ ## Compiling and Running the Tests
18
+ The instructions for compiling with examples and unit-tests are:
19
+
20
+ ```bash
21
+ cmake -B build -DCMAKE_BUILD_TYPE={Debug,Release} .
22
+ cmake --build build --parallel
23
+ ctest --test-dir build
24
+ ```
25
+
26
+ You might want to turn off Boost `-DHIGHFIVE_USE_BOOST=Off` or turn on other
27
+ optional dependencies.
28
+
29
+ ## Contributing
30
+ There's numerous HDF5 features that haven't been wrapped yet. HighFive is a
31
+ collaborative effort to slowly cover ever larger parts of the HDF5 library.
32
+ The process of contributing is to fork the repository and then create a PR.
33
+ Please ensure that any new API is appropriately documented and covered with
34
+ tests.
35
+
36
+ ### Code formatting
37
+ The project is formatted using clang-format version 12.0.1 and CI will complain
38
+ if a commit isn't formatted accordingly. The `.clang-format` is at the root of
39
+ the git repository. Conveniently, `clang-format` is available via `pip`:
40
+
41
+ ```bash
42
+ python -m venv venv
43
+ source venv/bin/activate
44
+
45
+ pip install clang-format==12.0.1
46
+ ```
47
+
48
+ The changed lines can be formatted with `git-clang-format`, e.g. to format all lines changed compared to master:
49
+
50
+ ```bash
51
+ git-clang-format master
52
+ ```
53
+ (add `-f` to allow formatting unstaged changes if you trust it to not destroy
54
+ your changes.)
55
+
56
+ ## Releasing HighFive
57
+ Before releasing a new version perform the following:
58
+
59
+ * Update `CHANGELOG.md` and `AUTHORS.txt` as required.
60
+ * Update `CMakeLists.txt` and `include/highfive/H5Version.hpp`.
61
+ * Follow semantic versioning when deciding the next version number.
62
+ * Check that
63
+ [HighFive-testing](https://github.com/BlueBrain/HighFive-testing/actions) ran
64
+ recently.
65
+
66
+ At this point there should be a commit on master which will be the release
67
+ candidate. Don't tag it yet.
68
+
69
+ Next step is to update the [HighFive/spack](https://github.com/BlueBrain/spack)
70
+ recipe such that the proposed version points to the release candidate using the
71
+ SHA of that commit. The recipe will look something like this:
72
+
73
+ ```python
74
+ # ...
75
+
76
+ version("2.8.0", commit="094400f22145bcdcd2726ce72888d9d1c21e7068")
77
+ version("2.7.1", sha256="25b4c51a94d1e670dc93b9b73f51e79b65d8ff49bcd6e5d5582d5ecd2789a249")
78
+ version("2.7.0", sha256="8e05672ddf81a59ce014b1d065bd9a8c5034dbd91a5c2578e805ef880afa5907")
79
+ # ...
80
+ ```
81
+
82
+ Push the changes to the BlueBrain spack repository. This will trigger building
83
+ all BBP dependencies of HighFive, i.e. another integration test. Don't actually
84
+ merge this commit yet.
85
+
86
+ Now that we know that the integration test ran, and all BBP software can be
87
+ built with the proposed version of HighFive, we can proceed and create the
88
+ release. Once this is done perform a final round of updates:
89
+
90
+ * Download the archive (`*.tar.gz`) and compute its SHA256.
91
+ * Update BlueBrain Spack recipe to use the archive and not the Git commit.
92
+ * Update the upstream Spack recipe.
93
+
94
+ ## Writing Tests
95
+ ### Generate Multi-Dimensional Test Data
96
+ Input array of any dimension and type can be generated using the template class
97
+ `DataGenerator`. For example:
98
+ ```
99
+ auto dims = std::vector<size_t>{4, 2};
100
+ auto values = testing::DataGenerator<std::vector<std::array<double, 2>>::create(dims);
101
+ ```
102
+ Generates an `std::vector<std::array<double, 2>>` initialized with suitable
103
+ values.
104
+
105
+ If "suitable" isn't specific enough, one can specify a callback:
106
+ ```
107
+ auto callback = [](const std::vector<size_t>& indices) {
108
+ return 42.0;
109
+ }
110
+
111
+ auto values = testing::DataGenerator<std::vector<double>>::create(dims, callback);
112
+ ```
113
+
114
+ The `dims` can be generated via `testing::DataGenerator::default_dims` or by
115
+ using `testing::DataGenerator::sanitize_dims`. Remember, that certain
116
+ containers are fixed size and that we often compute the number of elements by
117
+ multiplying the dims.
118
+
119
+ ### Generate Scalar Test Data
120
+ To generate a single "suitable" element use template class `DefaultValues`, e.g.
121
+ ```
122
+ auto default_values = testing::DefaultValues<double>();
123
+ auto x = testing::DefaultValues<double>(indices);
124
+ ```
125
+
126
+ ### Accessing Elements
127
+ To access a particular element from an unknown container use the following trait:
128
+ ```
129
+ using trait = testing::ContainerTraits<std::vector<std::array<int, 2>>;
130
+ // auto x = values[1][0];
131
+ auto x = trait::get(values, {1, 0});
132
+
133
+ // values[1][0] = 42.0;
134
+ trait::set(values, {1, 0}, 42.0);
135
+ ```
136
+
137
+ ### Utilities For Multi-Dimensional Arrays
138
+ Use `testing::DataGenerator::allocate` to allocate an array (without filling
139
+ it) and `testing::copy` to copy an array from one type to another. There's
140
+ `testing::ravel`, `testing::unravel` and `testing::flat_size` to compute the
141
+ position in a flat array from a multi-dimensional index, the reverse and the
142
+ number of element in the multi-dimensional array.
143
+
144
+ ### Deduplicating DataSet and Attribute
145
+ Due to how HighFive is written testing `DataSet` and `Attribute` often requires
146
+ duplicating the entire test code because somewhere a `createDataSet` must be
147
+ replaced with `createAttribute`. Use `testing::AttributeCreateTraits` and
148
+ `testing::DataSetCreateTraits`. For example,
149
+ ```
150
+ template<class CreateTraits>
151
+ void check_write(...) {
152
+ // Same as one of:
153
+ // file.createDataSet(name, values);
154
+ // file.createAttribute(name, values);
155
+ CreateTraits::create(file, name, values);
156
+ }
157
+ ```
158
+
159
+ ### Test Organization
160
+ #### Multi-Dimensional Arrays
161
+ All tests for reading/writing whole multi-dimensional arrays to datasets or
162
+ attributes belong in `tests/unit/tests_high_five_multi_dimensional.cpp`. This
163
+ includes write/read cycles; checking all the generic edges cases, e.g. empty
164
+ arrays and mismatching sizes; and checking non-reallocation.
165
+
166
+ Read/Write cycles are implemented in two distinct checks. One for writing and
167
+ another for reading. When checking writing we read with a "trusted"
168
+ multi-dimensional array (a nested `std::vector`), and vice-versa when checking
169
+ reading. This matters because certain bugs, like writing a column major array
170
+ as if it were row-major can't be caught if one reads it back into a
171
+ column-major array.
172
+
173
+ Remember, `std::vector<bool>` is very different from all other `std::vector`s.
174
+
175
+ Every container `template<class T> C;` should at least be checked with all of
176
+ the following `T`s that are supported by the container: `bool`, `double`,
177
+ `std::string`, `std::vector`, `std::array`. The reason is `bool` and
178
+ `std::string` are special, `double` is just a POD, `std::vector` requires
179
+ dynamic memory allocation and `std::array` is statically allocated.
180
+
181
+ Similarly, each container should be put inside an `std::vector` and an
182
+ `std::array`.
183
+
184
+ #### Scalar Data Set
185
+ Write-read cycles for scalar values should be implemented in
186
+ `tests/unit/tests_high_five_scalar.cpp`.
187
+
188
+ #### Data Types
189
+ Unit-tests related to checking that `DataType` API, go in
190
+ `tests/unit/tests_high_data_type.cpp`.
191
+
192
+ #### Selections
193
+ Anything selection related goes in `tests/unit/test_high_five_selection.cpp`.
194
+ This includes things like `ElementSet` and `HyperSlab`.
195
+
196
+ #### Strings
197
+ Regular write-read cycles for strings are performed along with the other types,
198
+ see above. This should cover compatibility of `std::string` with all
199
+ containers. However, additional testing is required, e.g. character set,
200
+ padding, fixed vs. variable length. These all go in
201
+ `tests/unit/test_high_five_string.cpp`.
202
+
203
+ #### Specific Tests For Optional Containers
204
+ If containers, e.g. `Eigen::Matrix` require special checks those go in files
205
+ called `tests/unit/test_high_five_*.cpp` where `*` is `eigen` for Eigen.
206
+
207
+ #### Memory Layout Assumptions
208
+ In HighFive we make assumptions about the memory layout of certain types. For
209
+ example, we assume that
210
+ ```
211
+ auto array = std::vector<std::array<double, 2>>(n);
212
+ doube * ptr = (double*) array.data();
213
+ ```
214
+ is a sensible thing to do. We assume similar about `bool` and
215
+ `details::Boolean`. These types of tests go into
216
+ `tests/unit/tests_high_five_memory_layout.cpp`.
217
+
218
+ #### H5Easy
219
+ Anything `H5Easy` related goes in files with the appropriate name.
220
+
221
+ #### Everything Else
222
+ What's left goes in `tests/unit/test_high_five_base.cpp`. This covers opening
223
+ files, groups, dataset or attributes; checking certain pathological edge cases;
224
+ etc.