morphio 3.3.8__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 (312) hide show
  1. morphio-3.3.8/.clang-format +91 -0
  2. morphio-3.3.8/.github/workflows/check-sdist.yml +35 -0
  3. morphio-3.3.8/.github/workflows/clang_format_check.yaml +25 -0
  4. morphio-3.3.8/.github/workflows/coverage_test.yaml +34 -0
  5. morphio-3.3.8/.github/workflows/docstring_check.yaml +27 -0
  6. morphio-3.3.8/.github/workflows/publish-sdist-wheels.yml +197 -0
  7. morphio-3.3.8/.github/workflows/run-tests.yml +60 -0
  8. morphio-3.3.8/.gitignore +50 -0
  9. morphio-3.3.8/.gitmodules +18 -0
  10. morphio-3.3.8/.readthedocs.yaml +31 -0
  11. morphio-3.3.8/3rdparty/CMakeLists.txt +19 -0
  12. morphio-3.3.8/3rdparty/GSL_LITE/CMakeLists.txt +197 -0
  13. morphio-3.3.8/3rdparty/GSL_LITE/cmake/gsl-lite-config-version.cmake.in +24 -0
  14. morphio-3.3.8/3rdparty/GSL_LITE/cmake/gsl-lite-config.cmake.in +7 -0
  15. morphio-3.3.8/3rdparty/GSL_LITE/gsl-lite.natvis +49 -0
  16. morphio-3.3.8/3rdparty/GSL_LITE/include/gsl/gsl +29 -0
  17. morphio-3.3.8/3rdparty/GSL_LITE/include/gsl/gsl-lite-vc6.hpp +697 -0
  18. morphio-3.3.8/3rdparty/GSL_LITE/include/gsl/gsl-lite.h +27 -0
  19. morphio-3.3.8/3rdparty/GSL_LITE/include/gsl/gsl-lite.hpp +5418 -0
  20. morphio-3.3.8/3rdparty/GSL_LITE/include/gsl-lite/gsl-lite.hpp +30 -0
  21. morphio-3.3.8/3rdparty/GSL_LITE/include/gsl.h +27 -0
  22. morphio-3.3.8/3rdparty/GSL_LITE/include/gsl.hpp +27 -0
  23. morphio-3.3.8/3rdparty/HighFive/CMake/HighFiveConfig.cmake.in +68 -0
  24. morphio-3.3.8/3rdparty/HighFive/CMake/HighFiveTargetDeps.cmake +119 -0
  25. morphio-3.3.8/3rdparty/HighFive/CMake/HighFiveTargetExport.cmake +49 -0
  26. morphio-3.3.8/3rdparty/HighFive/CMake/config/CompilerFlagsHelpers.cmake +59 -0
  27. morphio-3.3.8/3rdparty/HighFive/CMake/config/ReleaseDebugAutoFlags.cmake +45 -0
  28. morphio-3.3.8/3rdparty/HighFive/CMake/config/TestHelpers.cmake +113 -0
  29. morphio-3.3.8/3rdparty/HighFive/CMakeLists.txt +157 -0
  30. morphio-3.3.8/3rdparty/HighFive/doc/CMakeLists.txt +7 -0
  31. morphio-3.3.8/3rdparty/HighFive/doc/Doxyfile +2619 -0
  32. morphio-3.3.8/3rdparty/HighFive/doc/DoxygenLayout.xml +241 -0
  33. morphio-3.3.8/3rdparty/HighFive/doc/doxygen-awesome-css/doxygen-awesome.css +2522 -0
  34. morphio-3.3.8/3rdparty/HighFive/doc/doxygen-awesome-css/update_doxygen_awesome.sh +47 -0
  35. morphio-3.3.8/3rdparty/HighFive/doc/environment.yaml +12 -0
  36. morphio-3.3.8/3rdparty/HighFive/doc/poster/example1_hdf5.cpp +53 -0
  37. morphio-3.3.8/3rdparty/HighFive/doc/poster/example1_highfive.cpp +17 -0
  38. morphio-3.3.8/3rdparty/HighFive/doc/poster/example3.cpp +29 -0
  39. morphio-3.3.8/3rdparty/HighFive/doc/poster/example6.cpp +51 -0
  40. morphio-3.3.8/3rdparty/HighFive/doc/poster/example_boost.cpp +23 -0
  41. morphio-3.3.8/3rdparty/HighFive/doc/poster/example_boost_ublas.cpp +47 -0
  42. morphio-3.3.8/3rdparty/HighFive/doc/poster/example_easy_h5py.py +26 -0
  43. morphio-3.3.8/3rdparty/HighFive/doc/poster/example_easy_highfive.cpp +28 -0
  44. morphio-3.3.8/3rdparty/HighFive/doc/poster/example_eigen.cpp +35 -0
  45. morphio-3.3.8/3rdparty/HighFive/doc/poster/example_props.cpp +24 -0
  46. morphio-3.3.8/3rdparty/HighFive/doc/poster/examples.js +37 -0
  47. morphio-3.3.8/3rdparty/HighFive/doc/poster/godbolt.org.ico +0 -0
  48. morphio-3.3.8/3rdparty/HighFive/doc/poster/index.html +264 -0
  49. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Attribute.hpp +134 -0
  50. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5DataSet.hpp +116 -0
  51. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5DataSpace.hpp +118 -0
  52. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5DataType.hpp +412 -0
  53. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Easy.hpp +400 -0
  54. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Exception.hpp +164 -0
  55. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5File.hpp +130 -0
  56. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5FileDriver.hpp +32 -0
  57. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Group.hpp +88 -0
  58. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Object.hpp +155 -0
  59. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5PropertyList.hpp +604 -0
  60. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Reference.hpp +81 -0
  61. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Selection.hpp +68 -0
  62. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Utility.hpp +215 -0
  63. morphio-3.3.8/3rdparty/HighFive/include/highfive/H5Version.hpp.in +33 -0
  64. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits.hpp +81 -0
  65. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits_misc.hpp +118 -0
  66. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Attribute_misc.hpp +149 -0
  67. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp +909 -0
  68. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5DataSet_misc.hpp +67 -0
  69. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5DataType_misc.hpp +506 -0
  70. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Dataspace_misc.hpp +149 -0
  71. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Exception_misc.hpp +62 -0
  72. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5FileDriver_misc.hpp +20 -0
  73. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5File_misc.hpp +130 -0
  74. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Friends.hpp +10 -0
  75. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Iterables_misc.hpp +54 -0
  76. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Node_traits.hpp +236 -0
  77. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Node_traits_misc.hpp +376 -0
  78. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Object_misc.hpp +123 -0
  79. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Path_traits.hpp +35 -0
  80. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Path_traits_misc.hpp +46 -0
  81. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5PropertyList_misc.hpp +546 -0
  82. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5ReadWrite_misc.hpp +142 -0
  83. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Reference_misc.hpp +67 -0
  84. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Selection_misc.hpp +49 -0
  85. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Slice_traits.hpp +343 -0
  86. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Slice_traits_misc.hpp +286 -0
  87. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5Utils.hpp +82 -0
  88. morphio-3.3.8/3rdparty/HighFive/include/highfive/bits/H5_definitions.hpp +50 -0
  89. morphio-3.3.8/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_Eigen.hpp +145 -0
  90. morphio-3.3.8/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_misc.hpp +153 -0
  91. morphio-3.3.8/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_opencv.hpp +100 -0
  92. morphio-3.3.8/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_public.hpp +170 -0
  93. morphio-3.3.8/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_scalar.hpp +132 -0
  94. morphio-3.3.8/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_vector.hpp +80 -0
  95. morphio-3.3.8/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_xtensor.hpp +84 -0
  96. morphio-3.3.8/3rdparty/ghc_filesystem/CMakeLists.txt +88 -0
  97. morphio-3.3.8/3rdparty/ghc_filesystem/LICENSE +19 -0
  98. morphio-3.3.8/3rdparty/ghc_filesystem/cmake/GhcHelper.cmake +81 -0
  99. morphio-3.3.8/3rdparty/ghc_filesystem/cmake/config.cmake.in +6 -0
  100. morphio-3.3.8/3rdparty/ghc_filesystem/include/ghc/filesystem.hpp +6083 -0
  101. morphio-3.3.8/3rdparty/ghc_filesystem/include/ghc/fs_fwd.hpp +38 -0
  102. morphio-3.3.8/3rdparty/ghc_filesystem/include/ghc/fs_impl.hpp +35 -0
  103. morphio-3.3.8/3rdparty/ghc_filesystem/include/ghc/fs_std.hpp +60 -0
  104. morphio-3.3.8/3rdparty/ghc_filesystem/include/ghc/fs_std_fwd.hpp +63 -0
  105. morphio-3.3.8/3rdparty/ghc_filesystem/include/ghc/fs_std_impl.hpp +46 -0
  106. morphio-3.3.8/3rdparty/lexertl14/CMakeLists.txt +50 -0
  107. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/char_traits.hpp +45 -0
  108. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/debug.hpp +316 -0
  109. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/dot.hpp +297 -0
  110. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/enums.hpp +34 -0
  111. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/generate_cpp.hpp +1132 -0
  112. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/generator.hpp +794 -0
  113. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/internals.hpp +75 -0
  114. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/iterator.hpp +138 -0
  115. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/licence_1_0.txt +24 -0
  116. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/lookup.hpp +501 -0
  117. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/match_results.hpp +179 -0
  118. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/memory_file.hpp +151 -0
  119. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/narrow.hpp +25 -0
  120. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/observer_ptr.hpp +16 -0
  121. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/parser.hpp +976 -0
  122. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/blocks.hpp +1635 -0
  123. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/fold2.inc +773 -0
  124. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/fold4.inc +20 -0
  125. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_token.hpp +111 -0
  126. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser.hpp +785 -0
  127. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser_helper.hpp +1489 -0
  128. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/re_tokeniser_state.hpp +139 -0
  129. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/scripts.hpp +971 -0
  130. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/table.inc +528 -0
  131. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tokeniser/unicode.hpp +754 -0
  132. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tree/end_node.hpp +118 -0
  133. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tree/iteration_node.hpp +96 -0
  134. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tree/leaf_node.hpp +111 -0
  135. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tree/node.hpp +243 -0
  136. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tree/selection_node.hpp +105 -0
  137. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/parser/tree/sequence_node.hpp +123 -0
  138. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/partition/charset.hpp +72 -0
  139. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/partition/equivset.hpp +136 -0
  140. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/rules.hpp +1065 -0
  141. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/runtime_error.hpp +23 -0
  142. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/serialise.hpp +28 -0
  143. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/sm_to_csm.hpp +53 -0
  144. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/sm_traits.hpp +50 -0
  145. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/state_machine.hpp +527 -0
  146. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/stream_shared_iterator.hpp +353 -0
  147. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/string_token.hpp +444 -0
  148. morphio-3.3.8/3rdparty/lexertl14/include/lexertl/utf_iterators.hpp +592 -0
  149. morphio-3.3.8/AUTHORS.txt +28 -0
  150. morphio-3.3.8/CHANGELOG.md +127 -0
  151. morphio-3.3.8/CMake/CodeCoverage.cmake +742 -0
  152. morphio-3.3.8/CMake/CompilerFlags.cmake +85 -0
  153. morphio-3.3.8/CMake/MorphIOConfig.cmake +6 -0
  154. morphio-3.3.8/CMakeLists.txt +85 -0
  155. morphio-3.3.8/CONTRIBUTING.md +140 -0
  156. morphio-3.3.8/LICENSE.txt +201 -0
  157. morphio-3.3.8/MANIFEST.in +39 -0
  158. morphio-3.3.8/PKG-INFO +104 -0
  159. morphio-3.3.8/README.rst +86 -0
  160. morphio-3.3.8/binds/python/CMakeLists.txt +20 -0
  161. morphio-3.3.8/binds/python/bind_enums.cpp +109 -0
  162. morphio-3.3.8/binds/python/bind_enums.h +11 -0
  163. morphio-3.3.8/binds/python/bind_immutable.cpp +436 -0
  164. morphio-3.3.8/binds/python/bind_immutable.h +9 -0
  165. morphio-3.3.8/binds/python/bind_misc.cpp +287 -0
  166. morphio-3.3.8/binds/python/bind_misc.h +9 -0
  167. morphio-3.3.8/binds/python/bind_mutable.cpp +550 -0
  168. morphio-3.3.8/binds/python/bind_mutable.h +21 -0
  169. morphio-3.3.8/binds/python/bind_vasculature.cpp +163 -0
  170. morphio-3.3.8/binds/python/bind_vasculature.h +9 -0
  171. morphio-3.3.8/binds/python/bind_warnings_exceptions.cpp +110 -0
  172. morphio-3.3.8/binds/python/bind_warnings_exceptions.h +9 -0
  173. morphio-3.3.8/binds/python/bindings_utils.cpp +66 -0
  174. morphio-3.3.8/binds/python/bindings_utils.h +68 -0
  175. morphio-3.3.8/binds/python/generated/.clang-format +4 -0
  176. morphio-3.3.8/binds/python/generated/docstrings.h +2024 -0
  177. morphio-3.3.8/binds/python/morphio.cpp +39 -0
  178. morphio-3.3.8/binds/python/pybind11/CMakeLists.txt +373 -0
  179. morphio-3.3.8/binds/python/pybind11/LICENSE +29 -0
  180. morphio-3.3.8/binds/python/pybind11/include/pybind11/attr.h +690 -0
  181. morphio-3.3.8/binds/python/pybind11/include/pybind11/buffer_info.h +208 -0
  182. morphio-3.3.8/binds/python/pybind11/include/pybind11/cast.h +1837 -0
  183. morphio-3.3.8/binds/python/pybind11/include/pybind11/chrono.h +225 -0
  184. morphio-3.3.8/binds/python/pybind11/include/pybind11/common.h +2 -0
  185. morphio-3.3.8/binds/python/pybind11/include/pybind11/complex.h +74 -0
  186. morphio-3.3.8/binds/python/pybind11/include/pybind11/detail/class.h +748 -0
  187. morphio-3.3.8/binds/python/pybind11/include/pybind11/detail/common.h +1267 -0
  188. morphio-3.3.8/binds/python/pybind11/include/pybind11/detail/descr.h +171 -0
  189. morphio-3.3.8/binds/python/pybind11/include/pybind11/detail/init.h +434 -0
  190. morphio-3.3.8/binds/python/pybind11/include/pybind11/detail/internals.h +667 -0
  191. morphio-3.3.8/binds/python/pybind11/include/pybind11/detail/type_caster_base.h +1218 -0
  192. morphio-3.3.8/binds/python/pybind11/include/pybind11/detail/typeid.h +65 -0
  193. morphio-3.3.8/binds/python/pybind11/include/pybind11/eigen/common.h +9 -0
  194. morphio-3.3.8/binds/python/pybind11/include/pybind11/eigen/matrix.h +714 -0
  195. morphio-3.3.8/binds/python/pybind11/include/pybind11/eigen/tensor.h +517 -0
  196. morphio-3.3.8/binds/python/pybind11/include/pybind11/eigen.h +12 -0
  197. morphio-3.3.8/binds/python/pybind11/include/pybind11/embed.h +316 -0
  198. morphio-3.3.8/binds/python/pybind11/include/pybind11/eval.h +156 -0
  199. morphio-3.3.8/binds/python/pybind11/include/pybind11/functional.h +138 -0
  200. morphio-3.3.8/binds/python/pybind11/include/pybind11/gil.h +247 -0
  201. morphio-3.3.8/binds/python/pybind11/include/pybind11/gil_safe_call_once.h +91 -0
  202. morphio-3.3.8/binds/python/pybind11/include/pybind11/iostream.h +265 -0
  203. morphio-3.3.8/binds/python/pybind11/include/pybind11/numpy.h +2133 -0
  204. morphio-3.3.8/binds/python/pybind11/include/pybind11/operators.h +202 -0
  205. morphio-3.3.8/binds/python/pybind11/include/pybind11/options.h +92 -0
  206. morphio-3.3.8/binds/python/pybind11/include/pybind11/pybind11.h +2963 -0
  207. morphio-3.3.8/binds/python/pybind11/include/pybind11/pytypes.h +2574 -0
  208. morphio-3.3.8/binds/python/pybind11/include/pybind11/stl/filesystem.h +116 -0
  209. morphio-3.3.8/binds/python/pybind11/include/pybind11/stl.h +448 -0
  210. morphio-3.3.8/binds/python/pybind11/include/pybind11/stl_bind.h +823 -0
  211. morphio-3.3.8/binds/python/pybind11/include/pybind11/type_caster_pyobject_ptr.h +61 -0
  212. morphio-3.3.8/binds/python/pybind11/include/pybind11/typing.h +125 -0
  213. morphio-3.3.8/binds/python/pybind11/tools/FindCatch.cmake +76 -0
  214. morphio-3.3.8/binds/python/pybind11/tools/FindEigen3.cmake +86 -0
  215. morphio-3.3.8/binds/python/pybind11/tools/FindPythonLibsNew.cmake +310 -0
  216. morphio-3.3.8/binds/python/pybind11/tools/JoinPaths.cmake +23 -0
  217. morphio-3.3.8/binds/python/pybind11/tools/pybind11Common.cmake +419 -0
  218. morphio-3.3.8/binds/python/pybind11/tools/pybind11NewTools.cmake +311 -0
  219. morphio-3.3.8/binds/python/pybind11/tools/pybind11Tools.cmake +239 -0
  220. morphio-3.3.8/include/morphio/collection.h +211 -0
  221. morphio-3.3.8/include/morphio/dendritic_spine.h +38 -0
  222. morphio-3.3.8/include/morphio/endoplasmic_reticulum.h +53 -0
  223. morphio-3.3.8/include/morphio/enums.h +134 -0
  224. morphio-3.3.8/include/morphio/errorMessages.h +26 -0
  225. morphio-3.3.8/include/morphio/exceptions.h +80 -0
  226. morphio-3.3.8/include/morphio/glial_cell.h +23 -0
  227. morphio-3.3.8/include/morphio/mito_section.h +77 -0
  228. morphio-3.3.8/include/morphio/mitochondria.h +45 -0
  229. morphio-3.3.8/include/morphio/morphology.h +175 -0
  230. morphio-3.3.8/include/morphio/mut/dendritic_spine.h +33 -0
  231. morphio-3.3.8/include/morphio/mut/endoplasmic_reticulum.h +62 -0
  232. morphio-3.3.8/include/morphio/mut/glial_cell.h +23 -0
  233. morphio-3.3.8/include/morphio/mut/mito_section.h +123 -0
  234. morphio-3.3.8/include/morphio/mut/mitochondria.h +133 -0
  235. morphio-3.3.8/include/morphio/mut/modifiers.h +37 -0
  236. morphio-3.3.8/include/morphio/mut/morphology.h +261 -0
  237. morphio-3.3.8/include/morphio/mut/section.h +191 -0
  238. morphio-3.3.8/include/morphio/mut/soma.h +80 -0
  239. morphio-3.3.8/include/morphio/mut/writers.h +31 -0
  240. morphio-3.3.8/include/morphio/properties.h +280 -0
  241. morphio-3.3.8/include/morphio/section.h +118 -0
  242. morphio-3.3.8/include/morphio/section_base.h +148 -0
  243. morphio-3.3.8/include/morphio/section_iterators.hpp +340 -0
  244. morphio-3.3.8/include/morphio/soma.h +79 -0
  245. morphio-3.3.8/include/morphio/tools.h +35 -0
  246. morphio-3.3.8/include/morphio/types.h +58 -0
  247. morphio-3.3.8/include/morphio/vasc/iterators.hpp +97 -0
  248. morphio-3.3.8/include/morphio/vasc/properties.h +118 -0
  249. morphio-3.3.8/include/morphio/vasc/section.h +91 -0
  250. morphio-3.3.8/include/morphio/vasc/vasculature.h +118 -0
  251. morphio-3.3.8/include/morphio/vector_types.h +34 -0
  252. morphio-3.3.8/include/morphio/version.h +15 -0
  253. morphio-3.3.8/include/morphio/warning_handling.h +327 -0
  254. morphio-3.3.8/morphio/__init__.py +58 -0
  255. morphio-3.3.8/morphio/mut/__init__.py +9 -0
  256. morphio-3.3.8/morphio/vasculature/__init__.py +1 -0
  257. morphio-3.3.8/morphio.egg-info/PKG-INFO +104 -0
  258. morphio-3.3.8/morphio.egg-info/SOURCES.txt +310 -0
  259. morphio-3.3.8/morphio.egg-info/dependency_links.txt +1 -0
  260. morphio-3.3.8/morphio.egg-info/not-zip-safe +1 -0
  261. morphio-3.3.8/morphio.egg-info/requires.txt +4 -0
  262. morphio-3.3.8/morphio.egg-info/top_level.txt +1 -0
  263. morphio-3.3.8/pyproject.toml +5 -0
  264. morphio-3.3.8/setup.cfg +4 -0
  265. morphio-3.3.8/setup.py +107 -0
  266. morphio-3.3.8/src/CMakeLists.txt +128 -0
  267. morphio-3.3.8/src/collection.cpp +462 -0
  268. morphio-3.3.8/src/dendritic_spine.cpp +25 -0
  269. morphio-3.3.8/src/endoplasmic_reticulum.cpp +24 -0
  270. morphio-3.3.8/src/enums.cpp +29 -0
  271. morphio-3.3.8/src/errorMessages.cpp +48 -0
  272. morphio-3.3.8/src/error_message_generation.cpp +210 -0
  273. morphio-3.3.8/src/error_message_generation.h +144 -0
  274. morphio-3.3.8/src/glial_cell.cpp +18 -0
  275. morphio-3.3.8/src/mito_section.cpp +49 -0
  276. morphio-3.3.8/src/mitochondria.cpp +36 -0
  277. morphio-3.3.8/src/morphology.cpp +274 -0
  278. morphio-3.3.8/src/mut/dendritic_spine.cpp +36 -0
  279. morphio-3.3.8/src/mut/endoplasmic_reticulum.cpp +61 -0
  280. morphio-3.3.8/src/mut/glial_cell.cpp +24 -0
  281. morphio-3.3.8/src/mut/mito_section.cpp +108 -0
  282. morphio-3.3.8/src/mut/mitochondria.cpp +149 -0
  283. morphio-3.3.8/src/mut/modifiers.cpp +93 -0
  284. morphio-3.3.8/src/mut/morphology.cpp +421 -0
  285. morphio-3.3.8/src/mut/section.cpp +242 -0
  286. morphio-3.3.8/src/mut/soma.cpp +33 -0
  287. morphio-3.3.8/src/mut/writer_asc.cpp +93 -0
  288. morphio-3.3.8/src/mut/writer_hdf5.cpp +244 -0
  289. morphio-3.3.8/src/mut/writer_swc.cpp +193 -0
  290. morphio-3.3.8/src/mut/writer_utils.cpp +77 -0
  291. morphio-3.3.8/src/mut/writer_utils.h +29 -0
  292. morphio-3.3.8/src/point_utils.cpp +79 -0
  293. morphio-3.3.8/src/point_utils.h +28 -0
  294. morphio-3.3.8/src/properties.cpp +193 -0
  295. morphio-3.3.8/src/readers/NeurolucidaLexer.inc +352 -0
  296. morphio-3.3.8/src/readers/morphologyASC.cpp +412 -0
  297. morphio-3.3.8/src/readers/morphologyASC.h +19 -0
  298. morphio-3.3.8/src/readers/morphologyHDF5.cpp +434 -0
  299. morphio-3.3.8/src/readers/morphologyHDF5.h +56 -0
  300. morphio-3.3.8/src/readers/morphologySWC.cpp +455 -0
  301. morphio-3.3.8/src/readers/morphologySWC.h +21 -0
  302. morphio-3.3.8/src/readers/vasculatureHDF5.cpp +119 -0
  303. morphio-3.3.8/src/readers/vasculatureHDF5.h +57 -0
  304. morphio-3.3.8/src/section.cpp +37 -0
  305. morphio-3.3.8/src/shared_utils.cpp +162 -0
  306. morphio-3.3.8/src/shared_utils.hpp +77 -0
  307. morphio-3.3.8/src/soma.cpp +45 -0
  308. morphio-3.3.8/src/vasc/properties.cpp +91 -0
  309. morphio-3.3.8/src/vasc/section.cpp +146 -0
  310. morphio-3.3.8/src/vasc/vasculature.cpp +104 -0
  311. morphio-3.3.8/src/version.cpp.in +10 -0
  312. morphio-3.3.8/src/warning_handling.cpp +162 -0
@@ -0,0 +1,91 @@
1
+ ---
2
+ AccessModifierOffset: -2
3
+ AlignAfterOpenBracket: Align
4
+ AlignConsecutiveAssignments: false
5
+ AlignConsecutiveDeclarations: false
6
+ AlignEscapedNewlinesLeft: true
7
+ AlignOperands: true
8
+ AlignTrailingComments: true
9
+ AllowAllParametersOfDeclarationOnNextLine: true
10
+ AllowShortBlocksOnASingleLine: false
11
+ AllowShortCaseLabelsOnASingleLine: false
12
+ AllowShortFunctionsOnASingleLine: Empty
13
+ AllowShortIfStatementsOnASingleLine: false
14
+ AllowShortLoopsOnASingleLine: false
15
+ AlwaysBreakBeforeMultilineStrings: true
16
+ AlwaysBreakTemplateDeclarations: true
17
+ BasedOnStyle: WebKit
18
+ BinPackArguments: false
19
+ BinPackParameters: false
20
+ BraceWrapping:
21
+ AfterClass: true
22
+ AfterControlStatement: false
23
+ AfterEnum: false
24
+ AfterExternBlock: false
25
+ AfterFunction: false
26
+ AfterNamespace: false
27
+ AfterStruct: false
28
+ AfterUnion: false
29
+ BeforeCatch: false
30
+ BeforeElse: false
31
+ BreakBeforeBraces: Custom
32
+ BreakBeforeBinaryOperators: false
33
+ BreakBeforeTernaryOperators: true
34
+ BreakConstructorInitializersBeforeComma: true
35
+ BreakStringLiterals: true
36
+ ColumnLimit: 100
37
+ CommentPragmas: '^ IWYU pragma:'
38
+ ConstructorInitializerAllOnOneLineOrOnePerLine: false
39
+ ConstructorInitializerIndentWidth: 4
40
+ ContinuationIndentWidth: 4
41
+ Cpp11BracedListStyle: true
42
+ DerivePointerAlignment: false
43
+ DerivePointerBinding: true
44
+ ExperimentalAutoDetectBinPacking: false
45
+ FixNamespaceComments: true
46
+ ForEachMacros: [ foreach, ]
47
+ IncludeCategories:
48
+ - Regex: '^"(llvm|llvm-c|clang|clang-c)/'
49
+ Priority: 2
50
+ - Regex: '^(<|"(gtest|isl|json)/)'
51
+ Priority: 3
52
+ - Regex: '.*'
53
+ Priority: 1
54
+ IncludeIsMainRegex: '$'
55
+ IndentCaseLabels: false
56
+ IndentWidth: 4
57
+ IndentWrappedFunctionNames: false
58
+ KeepEmptyLinesAtTheStartOfBlocks: false
59
+ Language: Cpp
60
+ MaxEmptyLinesToKeep: 2
61
+ NamespaceIndentation: None
62
+ PenaltyBreakAssignment: 40
63
+ PenaltyBreakBeforeFirstCallParameter: 100
64
+ PenaltyBreakComment: 60
65
+ PenaltyBreakFirstLessLess: 120
66
+ PenaltyBreakString: 1000
67
+ PenaltyExcessCharacter: 1000000
68
+ PenaltyReturnTypeOnItsOwnLine: 200
69
+ PointerAlignment: Left
70
+ PointerBindsToType: true
71
+ ReflowComments: true
72
+ SortIncludes: true
73
+ SpaceAfterCStyleCast: true
74
+ SpaceAfterTemplateKeyword: true
75
+ SpaceBeforeAssignmentOperators: true
76
+ SpaceBeforeCpp11BracedList: false
77
+ SpaceBeforeCtorInitializerColon: false
78
+ SpaceBeforeInheritanceColon: false
79
+ SpaceBeforeParens: ControlStatements
80
+ SpaceBeforeRangeBasedForLoopColon: true
81
+ SpaceInEmptyParentheses: false
82
+ SpacesBeforeTrailingComments: 2
83
+ SpacesInAngles: false # '< ' style
84
+ SpacesInContainerLiterals: false
85
+ SpacesInCStyleCastParentheses: false
86
+ SpacesInParentheses: false # '(' style
87
+ SpacesInSquareBrackets: false
88
+ Standard: Cpp11
89
+ TabWidth: 4
90
+ UseTab: Never
91
+ ...
@@ -0,0 +1,35 @@
1
+ name: Check that `sdist` builds and installs
2
+ on: [pull_request, push]
3
+
4
+ env:
5
+ apt_options: -o Acquire::Retries=3
6
+
7
+ jobs:
8
+ build_sdist:
9
+ name: Build sdist
10
+ runs-on: ubuntu-latest
11
+
12
+ # Run on external PRs, but not internal PRs as they'll be run by the push
13
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
14
+
15
+ steps:
16
+ - uses: actions/checkout@v3
17
+ with:
18
+ submodules: 'true'
19
+
20
+ - name: Set up Python 3.10
21
+ uses: actions/setup-python@v4
22
+ with:
23
+ python-version: '3.10'
24
+
25
+ - name: Build a source tarball
26
+ run:
27
+ python setup.py sdist
28
+
29
+ - name: Test tarball
30
+ run: |
31
+ sudo apt-get ${{env.apt_options}} update -y
32
+ sudo apt-get ${{env.apt_options}} install -y libhdf5-dev
33
+ pip install -r tests/requirement_tests.txt
34
+ pip install dist/*
35
+ pytest -s -v tests
@@ -0,0 +1,25 @@
1
+ name: clang-format-check
2
+ on: [pull_request, push]
3
+
4
+ env:
5
+ apt_options: -o Acquire::Retries=3
6
+
7
+ jobs:
8
+ build:
9
+ name: clang-format-check
10
+ runs-on: ubuntu-22.04
11
+
12
+ # Run on external PRs, but not internal PRs as they'll be run by the push
13
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
14
+
15
+ steps:
16
+ - name: Fetch repository
17
+ uses: actions/checkout@v3
18
+ with:
19
+ fetch-depth: 2
20
+ - name: Install packages
21
+ run: |
22
+ sudo apt-get ${{env.apt_options}} update -y
23
+ sudo apt-get ${{env.apt_options}} install -y python3-venv
24
+ - name: check_clang_format
25
+ run: ci/check_clang_format.sh
@@ -0,0 +1,34 @@
1
+ name: coverage-test
2
+ on: [pull_request, push]
3
+
4
+ env:
5
+ CC: gcc-9
6
+ CXX: g++-9
7
+ apt_options: -o Acquire::Retries=3
8
+
9
+ jobs:
10
+ build:
11
+ name: coverage-test
12
+ runs-on: ubuntu-20.04
13
+
14
+ # Run on external PRs, but not internal PRs as they'll be run by the push
15
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
16
+
17
+ steps:
18
+ - name: Checkout repository
19
+ uses: actions/checkout@v3
20
+ - name: Fetch repository
21
+ run: git fetch --prune --unshallow
22
+ - name: Get submodules
23
+ run: git submodule update --init --force --recursive
24
+ - name: Install packages
25
+ run: |
26
+ sudo apt-get ${{env.apt_options}} update -y
27
+ sudo apt-get ${{env.apt_options}} install -y build-essential libhdf5-dev lcov
28
+ - name: Build and run unittests
29
+ run: ci/coverage_test.sh
30
+ - name: Upload Coverage to Coveralls
31
+ uses: coverallsapp/github-action@master
32
+ with:
33
+ github-token: ${{ secrets.GITHUB_TOKEN }}
34
+ path-to-lcov: build/build-coverage/coverage.info
@@ -0,0 +1,27 @@
1
+ name: docstring-check
2
+ on: [pull_request, push]
3
+
4
+ env:
5
+ apt_options: -o Acquire::Retries=3
6
+
7
+ jobs:
8
+ build:
9
+ name: docstring-check
10
+ runs-on: ubuntu-20.04
11
+
12
+ # Run on external PRs, but not internal PRs as they'll be run by the push
13
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
14
+
15
+ steps:
16
+ - name: Fetch repository
17
+ uses: actions/checkout@v3
18
+ with:
19
+ submodules: recursive
20
+ - name: Install packages
21
+ run: |
22
+ sudo apt-get ${{env.apt_options}} update -y
23
+ sudo apt-get ${{env.apt_options}} install -y build-essential libhdf5-dev python3-venv libclang1-12
24
+ - name: Check docstrings
25
+ run: |
26
+ export LIBCLANG_PATH=/usr/lib/x86_64-linux-gnu/libclang-12.so
27
+ ci/check_generated_docstrings.sh || true
@@ -0,0 +1,197 @@
1
+ name: Publish sdist and wheels for macos, manylinux, and windows, publish to pypi if a release
2
+ on: [pull_request, push]
3
+
4
+ env:
5
+ apt_options: -o Acquire::Retries=3
6
+
7
+ CIBW_BUILD_VERBOSITY: 3
8
+ CIBW_BUILD: 'cp*'
9
+ CIBW_SKIP: 'cp35-* cp36-* cp37-* *-manylinux_i686 *-musllinux_* *-win32'
10
+ CIBW_BEFORE_TEST: pip install -r {project}/tests/requirement_tests.txt
11
+ CIBW_TEST_COMMAND: pytest -s -v {project}/tests
12
+ UNIXY_HDF5_VERSION: 1.14.3
13
+ WINDOWS_HDF5: 1.14.2
14
+
15
+ jobs:
16
+ build_wheels:
17
+ name: Build wheels on ${{ matrix.os }}
18
+
19
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
20
+
21
+ runs-on: ${{ matrix.os }}
22
+ strategy:
23
+ matrix:
24
+ os: [ubuntu-20.04, macos-11, windows-2022]
25
+
26
+ steps:
27
+ - uses: actions/checkout@v3
28
+ with:
29
+ submodules: 'true'
30
+
31
+ - name: Install Python
32
+ uses: actions/setup-python@v4
33
+ with:
34
+ python-version: '3.11'
35
+
36
+ - name: Install cibuildwheel
37
+ run: |
38
+ python -m pip install cibuildwheel
39
+
40
+ - name: Cache HDF5 On Linux/macOS
41
+ if: runner.os == 'Linux' || runner.os == 'macOS'
42
+ uses: actions/cache@v3
43
+ id: cache-hdf5-posix
44
+ env:
45
+ cache-name: cache-hdf5-posix
46
+ with:
47
+ path: src-cache/
48
+ key: ${{ runner.os }}-build-${{ env.cache-name }}
49
+
50
+ - name: Build wheels on Linux
51
+ if: runner.os == 'Linux'
52
+ env:
53
+ CIBW_ENVIRONMENT_PASS: "STATIC_HDF5 CMAKE_PREFIX_PATH"
54
+ CIBW_BEFORE_BUILD: |
55
+ # CMake complains if the dependencies come from within the same tree
56
+ # as the source, so we'll just pretend they are elsewhere
57
+ mkdir -p /host/home/runner/work/src-cache
58
+ ln -s /host/home/runner/work/src-cache /opt/hdf5-static
59
+ bash ci/hdf5-build.sh /opt/hdf5-static
60
+
61
+ run: |
62
+ # used by setup.py to decide if to set `FindHDF5` to use static hdf5 libraries
63
+ export STATIC_HDF5=True
64
+ export CMAKE_PREFIX_PATH=/opt/hdf5-static/install-/install/
65
+
66
+ CIBW_MANYLINUX_X86_64_IMAGE=manylinux2014 python -m cibuildwheel --output-dir dist
67
+ CIBW_MANYLINUX_X86_64_IMAGE=manylinux_2_28 python -m cibuildwheel --output-dir dist
68
+
69
+ - name: Build wheels Mac OS
70
+ if: runner.os == 'macOS'
71
+ env:
72
+ CIBW_ENVIRONMENT_PASS: "STATIC_HDF5 CMAKE_PREFIX_PATH CMAKE_OSX_ARCHITECTURES MACOSX_DEPLOYMENT_TARGET"
73
+ CIBW_BEFORE_BUILD: |
74
+ # CMake complains if the dependencies come from within the same tree
75
+ # as the source, so we'll just pretend they are elsewhere
76
+ mkdir -p $PWD/src-cache
77
+ ln -s $PWD/src-cache /Users/runner/work/src-cache
78
+ bash ci/hdf5-build.sh /Users/runner/work/src-cache
79
+ run: |
80
+ # used by setup.py to decide if to set `FindHDF5` to use static hdf5 libraries
81
+ export STATIC_HDF5=True
82
+
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
96
+ python -m cibuildwheel --output-dir dist
97
+
98
+ - name: Cache HDF5 On Windows
99
+ if: runner.os == 'Windows'
100
+ id: cache-hdf5-windows
101
+ uses: actions/cache@v3
102
+ env:
103
+ cache-name: cache-hdf5-windows
104
+ with:
105
+ path: C:\cache\hdf5\${{ env.WINDOWS_HDF5 }}
106
+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.WINDOWS_HDF5 }}
107
+
108
+ - name: Fill Windows Cache
109
+ if: runner.os == 'Windows' && steps.cache-hdf5-windows.outputs.cache-hit != 'true'
110
+ continue-on-error: false
111
+ shell: cmd
112
+ run: |
113
+ mkdir C:\cache\hdf5\${{ env.WINDOWS_HDF5 }}
114
+ curl -L -o C:\cache\hdf5\${{ env.WINDOWS_HDF5 }}\hdf5.zip https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.14/hdf5-1.14.2/bin/windows/hdf5-1.14.2-Std-win10_64-vs16.zip
115
+
116
+ - name: Build wheels Windows
117
+ if: runner.os == 'Windows'
118
+ shell: cmd
119
+ # the v140 toolchain is used, so that fewer vc_redist installs are required
120
+ # some of the information is available here:
121
+ # https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line
122
+ # but tracking down the 14.0 magic number (and especially newer ones isn't always easy)
123
+ # this has a partial table:
124
+ # https://devblogs.microsoft.com/cppblog/side-by-side-minor-version-msvc-toolsets-in-visual-studio-2017/
125
+ run: |
126
+ C:\windows\system32\tar.exe xf C:\cache\hdf5\${{ env.WINDOWS_HDF5 }}\hdf5.zip
127
+ start /wait msiexec /a "%cd%\hdf\HDF5-${{ env.WINDOWS_HDF5 }}-win64.msi" /qn TARGETDIR="c:\hdf5\"
128
+
129
+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.1
130
+
131
+ set HDF5_DIR=C:\hdf5\HDF_Group\HDF5\${{ env.WINDOWS_HDF5 }}\cmake
132
+
133
+ python -m cibuildwheel --output-dir dist
134
+
135
+ - name: Store wheel as artifact
136
+ uses: actions/upload-artifact@v3
137
+ with:
138
+ name: dist
139
+ path: dist/*.whl
140
+
141
+ build_sdist:
142
+ name: Build sdist
143
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
144
+
145
+ runs-on: ubuntu-latest
146
+ steps:
147
+ - uses: actions/checkout@v3
148
+ with:
149
+ submodules: 'true'
150
+
151
+ - name: Set up Python
152
+ uses: actions/setup-python@v4
153
+ with:
154
+ python-version: '3.10'
155
+
156
+ - name: Build a source tarball
157
+ run:
158
+ python setup.py sdist
159
+
160
+ - name: Test tarball
161
+ run: |
162
+ sudo apt-get ${{env.apt_options}} update -y
163
+ sudo apt-get ${{env.apt_options}} install -y libhdf5-dev
164
+ pip install -r tests/requirement_tests.txt
165
+ pip install dist/*
166
+ pytest -s -v tests
167
+
168
+ - name: Store sdist as artifact
169
+ uses: actions/upload-artifact@v3
170
+ with:
171
+ name: dist
172
+ path: dist/*.tar.gz
173
+
174
+ upload_artifacts:
175
+ name: Upload wheels to PyPI
176
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
177
+
178
+ runs-on: ubuntu-latest
179
+ needs: [build_wheels, build_sdist]
180
+
181
+ steps:
182
+ - name: Download artifacts produced during the build_wheels and build_sdist jobs
183
+ uses: actions/download-artifact@v3
184
+ with:
185
+ name: dist
186
+ path: dist/
187
+
188
+ - name: Display structure of downloaded files
189
+ run: ls -R
190
+ working-directory: dist
191
+
192
+ - name: Publish package to PyPI
193
+ uses: pypa/gh-action-pypi-publish@release/v1
194
+ with:
195
+ user: __token__
196
+ password: ${{ secrets.PYPI_PASSWORD }}
197
+ packages_dir: dist/
@@ -0,0 +1,60 @@
1
+ name: Run tests
2
+ on: [pull_request, push]
3
+
4
+ env:
5
+ apt_options: -o Acquire::Retries=3
6
+
7
+ jobs:
8
+ build:
9
+ name: Run tests on ${{ matrix.os }}.${{ matrix.compiler.CC }}
10
+ runs-on: ${{ matrix.os }}
11
+
12
+ # Run on external PRs, but not internal PRs as they'll be run by the push
13
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
14
+
15
+ strategy:
16
+ matrix:
17
+ os: [ubuntu-latest, macos-latest]
18
+ compiler:
19
+ - {CC: clang, CXX: clang++}
20
+ - {CC: gcc, CXX: g++}
21
+ exclude:
22
+ - os: macos-latest
23
+ compiler: {CC: gcc, CXX: g++}
24
+
25
+ steps:
26
+ - name: Checkout repository
27
+ uses: actions/checkout@v3
28
+ with:
29
+ submodules: 'true'
30
+
31
+ - name: Setup python
32
+ uses: actions/setup-python@v4
33
+ with:
34
+ python-version: '3.10'
35
+
36
+ - name: Install packages on Linux
37
+ if: runner.os == 'Linux'
38
+ run: |
39
+ sudo apt-get ${{env.apt_options}} update -y
40
+ sudo apt-get ${{env.apt_options}} install -y build-essential libhdf5-dev
41
+
42
+ - name: Install packages on MacOS
43
+ if: runner.os == 'macOS'
44
+ run: |
45
+ # { work around https://github.com/actions/setup-python/issues/577
46
+ #brew update
47
+ #brew --version
48
+ export HOMEBREW_NO_AUTO_UPDATE=1
49
+ # }
50
+ brew install cmake || true # macos image has cmake installed, but a new version may exist; ignore it if so
51
+ brew install hdf5
52
+
53
+ - name: Build and run unittests
54
+ env:
55
+ CC: ${{ matrix.compiler.CC }}
56
+ CXX: ${{ matrix.compiler.CXX }}
57
+ run: |
58
+ ./ci/python_test.sh
59
+ ./ci/cpp_test.sh
60
+ ./ci/cpp_test.sh "-DMORPHIO_USE_DOUBLE=ON"
@@ -0,0 +1,50 @@
1
+ # Python wheels
2
+ *.whl
3
+
4
+ .eggs/
5
+ bin/
6
+ src/version.cpp
7
+ morphio.egg-info/
8
+ MorphIO.egg-info/
9
+ .venv
10
+
11
+ *.pyc
12
+
13
+ # Compiled Object files
14
+ *.slo
15
+ *.lo
16
+ *.o
17
+ *.obj
18
+
19
+ # Precompiled Headers
20
+ *.gch
21
+ *.pch
22
+
23
+ # Compiled Dynamic libraries
24
+ *.so
25
+ *.dylib
26
+ *.dll
27
+
28
+ # Fortran module files
29
+ *.mod
30
+
31
+ # Compiled Static libraries
32
+ *.lai
33
+ *.la
34
+ *.a
35
+ *.lib
36
+
37
+ # Executables
38
+ *.exe
39
+ *.out
40
+ *.app
41
+
42
+ # Custom
43
+ .tags
44
+ build/
45
+ .*.swp
46
+ *.idea
47
+ ci/venv*
48
+ cmake-build*
49
+ env*
50
+ venv-clang-format/
@@ -0,0 +1,18 @@
1
+ [submodule "3rdparty/HighFive"]
2
+ path = 3rdparty/HighFive
3
+ url = https://github.com/BlueBrain/HighFive.git
4
+ [submodule "3rdparty/pybind11"]
5
+ path = binds/python/pybind11
6
+ url = https://github.com/pybind/pybind11.git
7
+ [submodule "3rdparty/GSL_LITE"]
8
+ path = 3rdparty/GSL_LITE
9
+ url = https://github.com/martinmoene/gsl-lite.git
10
+ [submodule "3rdparty/lexertl14"]
11
+ path = 3rdparty/lexertl14
12
+ url = https://github.com/BenHanson/lexertl14
13
+ [submodule "3rdparty/Catch2"]
14
+ path = 3rdparty/Catch2
15
+ url = https://github.com/catchorg/Catch2.git
16
+ [submodule "3rdparty/ghc_filesystem"]
17
+ path = 3rdparty/ghc_filesystem
18
+ url = https://github.com/gulrak/filesystem.git
@@ -0,0 +1,31 @@
1
+ # .readthedocs.yml
2
+ # Read the Docs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
+
5
+ # Required
6
+ version: 2
7
+
8
+ submodules:
9
+ include: all
10
+ recursive: true
11
+
12
+ # it appears that the conda `cmake` finds `conda` installed packages
13
+ # fine, but if cmake is installed through `pyproject.toml`, that CMake
14
+ # doesn't find HDF5, if the hdf5 headers are available by the system, then
15
+ # it works
16
+ build:
17
+ os: "ubuntu-20.04"
18
+ apt_packages:
19
+ - libhdf5-dev
20
+ tools:
21
+ python: "3.9"
22
+
23
+ sphinx:
24
+ configuration: doc/source/conf.py
25
+
26
+ python:
27
+ install:
28
+ - method: pip
29
+ path: .
30
+ extra_requirements:
31
+ - docs
@@ -0,0 +1,19 @@
1
+ find_package(HDF5 REQUIRED)
2
+
3
+ if (NOT EXTERNAL_HIGHFIVE)
4
+ set(HIGHFIVE_EXAMPLES OFF CACHE BOOL "" FORCE)
5
+ set(HIGHFIVE_UNIT_TESTS OFF CACHE BOOL "" FORCE)
6
+ set(HIGHFIVE_USE_BOOST OFF CACHE BOOL "" FORCE)
7
+ set(HIGHFIVE_USE_INSTALL_DEPS ON CACHE BOOL "" FORCE)
8
+ add_subdirectory(HighFive)
9
+ target_include_directories(HighFive SYSTEM INTERFACE)
10
+ endif()
11
+
12
+ add_subdirectory(GSL_LITE)
13
+ target_include_directories(gsl-lite SYSTEM INTERFACE)
14
+
15
+ add_library(lexertl INTERFACE)
16
+ target_include_directories(lexertl SYSTEM INTERFACE lexertl14/include)
17
+
18
+ add_subdirectory(ghc_filesystem)
19
+