zedda 0.1.1__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 (267) hide show
  1. zedda-0.1.1/.github/workflows/build_wheels.yml +134 -0
  2. zedda-0.1.1/.github/workflows/tests.yml +39 -0
  3. zedda-0.1.1/.gitignore +46 -0
  4. zedda-0.1.1/.gitmodules +3 -0
  5. zedda-0.1.1/PKG-INFO +32 -0
  6. zedda-0.1.1/README.md +0 -0
  7. zedda-0.1.1/build.sh +29 -0
  8. zedda-0.1.1/extern/nanobind/.github/ISSUE_TEMPLATE/all-other.yml +23 -0
  9. zedda-0.1.1/extern/nanobind/.github/ISSUE_TEMPLATE/bug-report.yml +33 -0
  10. zedda-0.1.1/extern/nanobind/.github/workflows/ci.yml +286 -0
  11. zedda-0.1.1/extern/nanobind/.github/workflows/nvcc-win.yml +45 -0
  12. zedda-0.1.1/extern/nanobind/.gitignore +43 -0
  13. zedda-0.1.1/extern/nanobind/.gitmodules +3 -0
  14. zedda-0.1.1/extern/nanobind/.readthedocs.yaml +18 -0
  15. zedda-0.1.1/extern/nanobind/LICENSE +26 -0
  16. zedda-0.1.1/extern/nanobind/README.md +117 -0
  17. zedda-0.1.1/extern/nanobind/cmake/collect-symbols-pypy.py +29 -0
  18. zedda-0.1.1/extern/nanobind/cmake/collect-symbols.py +42 -0
  19. zedda-0.1.1/extern/nanobind/cmake/darwin-ld-cpython.sym +992 -0
  20. zedda-0.1.1/extern/nanobind/cmake/darwin-ld-pypy.sym +1135 -0
  21. zedda-0.1.1/extern/nanobind/cmake/darwin-python-path.py +15 -0
  22. zedda-0.1.1/extern/nanobind/cmake/nanobind-config.cmake +744 -0
  23. zedda-0.1.1/extern/nanobind/docs/api_bazel.rst +199 -0
  24. zedda-0.1.1/extern/nanobind/docs/api_cmake.rst +533 -0
  25. zedda-0.1.1/extern/nanobind/docs/api_core.rst +3284 -0
  26. zedda-0.1.1/extern/nanobind/docs/api_extra.rst +1596 -0
  27. zedda-0.1.1/extern/nanobind/docs/basics.rst +481 -0
  28. zedda-0.1.1/extern/nanobind/docs/bazel.rst +218 -0
  29. zedda-0.1.1/extern/nanobind/docs/benchmark.rst +174 -0
  30. zedda-0.1.1/extern/nanobind/docs/building.rst +118 -0
  31. zedda-0.1.1/extern/nanobind/docs/changelog.rst +1892 -0
  32. zedda-0.1.1/extern/nanobind/docs/classes.rst +1181 -0
  33. zedda-0.1.1/extern/nanobind/docs/conf.py +250 -0
  34. zedda-0.1.1/extern/nanobind/docs/cppyy.h +16 -0
  35. zedda-0.1.1/extern/nanobind/docs/eigen.rst +195 -0
  36. zedda-0.1.1/extern/nanobind/docs/exceptions.rst +293 -0
  37. zedda-0.1.1/extern/nanobind/docs/exchanging.rst +425 -0
  38. zedda-0.1.1/extern/nanobind/docs/faq.rst +404 -0
  39. zedda-0.1.1/extern/nanobind/docs/free_threaded.rst +326 -0
  40. zedda-0.1.1/extern/nanobind/docs/functions.rst +609 -0
  41. zedda-0.1.1/extern/nanobind/docs/images/binding-dark.svg +122 -0
  42. zedda-0.1.1/extern/nanobind/docs/images/binding-light.svg +112 -0
  43. zedda-0.1.1/extern/nanobind/docs/images/caster-dark.svg +118 -0
  44. zedda-0.1.1/extern/nanobind/docs/images/caster-light.svg +108 -0
  45. zedda-0.1.1/extern/nanobind/docs/images/logo.jpg +0 -0
  46. zedda-0.1.1/extern/nanobind/docs/images/perf.svg +1979 -0
  47. zedda-0.1.1/extern/nanobind/docs/images/sizes.svg +1909 -0
  48. zedda-0.1.1/extern/nanobind/docs/images/times.svg +1859 -0
  49. zedda-0.1.1/extern/nanobind/docs/images/wrapper-dark.svg +102 -0
  50. zedda-0.1.1/extern/nanobind/docs/images/wrapper-light.svg +92 -0
  51. zedda-0.1.1/extern/nanobind/docs/index.rst +148 -0
  52. zedda-0.1.1/extern/nanobind/docs/installing.rst +48 -0
  53. zedda-0.1.1/extern/nanobind/docs/lowlevel.rst +323 -0
  54. zedda-0.1.1/extern/nanobind/docs/meson.rst +135 -0
  55. zedda-0.1.1/extern/nanobind/docs/microbenchmark.ipynb +447 -0
  56. zedda-0.1.1/extern/nanobind/docs/ndarray.rst +786 -0
  57. zedda-0.1.1/extern/nanobind/docs/ndarray_index.rst +13 -0
  58. zedda-0.1.1/extern/nanobind/docs/ownership.rst +400 -0
  59. zedda-0.1.1/extern/nanobind/docs/ownership_adv.rst +398 -0
  60. zedda-0.1.1/extern/nanobind/docs/packaging.rst +331 -0
  61. zedda-0.1.1/extern/nanobind/docs/porting.rst +366 -0
  62. zedda-0.1.1/extern/nanobind/docs/pypy.rst +23 -0
  63. zedda-0.1.1/extern/nanobind/docs/refleaks.rst +461 -0
  64. zedda-0.1.1/extern/nanobind/docs/release.rst +25 -0
  65. zedda-0.1.1/extern/nanobind/docs/typing.rst +719 -0
  66. zedda-0.1.1/extern/nanobind/docs/utilities.rst +59 -0
  67. zedda-0.1.1/extern/nanobind/docs/why.rst +252 -0
  68. zedda-0.1.1/extern/nanobind/ext/robin_map/.clang-format +1 -0
  69. zedda-0.1.1/extern/nanobind/ext/robin_map/.codecov.yml +5 -0
  70. zedda-0.1.1/extern/nanobind/ext/robin_map/.github/workflows/ci.yml +136 -0
  71. zedda-0.1.1/extern/nanobind/ext/robin_map/LICENSE +21 -0
  72. zedda-0.1.1/extern/nanobind/ext/robin_map/README.md +521 -0
  73. zedda-0.1.1/extern/nanobind/ext/robin_map/cmake/tsl-robin-mapConfig.cmake.in +9 -0
  74. zedda-0.1.1/extern/nanobind/ext/robin_map/doxygen.conf +2483 -0
  75. zedda-0.1.1/extern/nanobind/ext/robin_map/include/tsl/robin_growth_policy.h +415 -0
  76. zedda-0.1.1/extern/nanobind/ext/robin_map/include/tsl/robin_hash.h +1589 -0
  77. zedda-0.1.1/extern/nanobind/ext/robin_map/include/tsl/robin_map.h +815 -0
  78. zedda-0.1.1/extern/nanobind/ext/robin_map/include/tsl/robin_set.h +668 -0
  79. zedda-0.1.1/extern/nanobind/ext/robin_map/tests/custom_allocator_tests.cpp +138 -0
  80. zedda-0.1.1/extern/nanobind/ext/robin_map/tests/main.cpp +26 -0
  81. zedda-0.1.1/extern/nanobind/ext/robin_map/tests/policy_tests.cpp +97 -0
  82. zedda-0.1.1/extern/nanobind/ext/robin_map/tests/robin_map_tests.cpp +1462 -0
  83. zedda-0.1.1/extern/nanobind/ext/robin_map/tests/robin_set_tests.cpp +174 -0
  84. zedda-0.1.1/extern/nanobind/ext/robin_map/tests/utils.h +443 -0
  85. zedda-0.1.1/extern/nanobind/ext/robin_map/tsl-robin-map.natvis +78 -0
  86. zedda-0.1.1/extern/nanobind/include/nanobind/eigen/dense.h +481 -0
  87. zedda-0.1.1/extern/nanobind/include/nanobind/eigen/sparse.h +290 -0
  88. zedda-0.1.1/extern/nanobind/include/nanobind/eigen/tensor.h +329 -0
  89. zedda-0.1.1/extern/nanobind/include/nanobind/eval.h +61 -0
  90. zedda-0.1.1/extern/nanobind/include/nanobind/intrusive/counter.h +261 -0
  91. zedda-0.1.1/extern/nanobind/include/nanobind/intrusive/counter.inl +148 -0
  92. zedda-0.1.1/extern/nanobind/include/nanobind/intrusive/ref.h +153 -0
  93. zedda-0.1.1/extern/nanobind/include/nanobind/make_iterator.h +160 -0
  94. zedda-0.1.1/extern/nanobind/include/nanobind/nanobind.h +66 -0
  95. zedda-0.1.1/extern/nanobind/include/nanobind/nb_accessor.h +258 -0
  96. zedda-0.1.1/extern/nanobind/include/nanobind/nb_attr.h +445 -0
  97. zedda-0.1.1/extern/nanobind/include/nanobind/nb_call.h +152 -0
  98. zedda-0.1.1/extern/nanobind/include/nanobind/nb_cast.h +751 -0
  99. zedda-0.1.1/extern/nanobind/include/nanobind/nb_class.h +863 -0
  100. zedda-0.1.1/extern/nanobind/include/nanobind/nb_defs.h +207 -0
  101. zedda-0.1.1/extern/nanobind/include/nanobind/nb_descr.h +155 -0
  102. zedda-0.1.1/extern/nanobind/include/nanobind/nb_enums.h +26 -0
  103. zedda-0.1.1/extern/nanobind/include/nanobind/nb_error.h +152 -0
  104. zedda-0.1.1/extern/nanobind/include/nanobind/nb_func.h +436 -0
  105. zedda-0.1.1/extern/nanobind/include/nanobind/nb_lib.h +584 -0
  106. zedda-0.1.1/extern/nanobind/include/nanobind/nb_misc.h +125 -0
  107. zedda-0.1.1/extern/nanobind/include/nanobind/nb_python.h +60 -0
  108. zedda-0.1.1/extern/nanobind/include/nanobind/nb_traits.h +226 -0
  109. zedda-0.1.1/extern/nanobind/include/nanobind/nb_tuple.h +80 -0
  110. zedda-0.1.1/extern/nanobind/include/nanobind/nb_types.h +1017 -0
  111. zedda-0.1.1/extern/nanobind/include/nanobind/ndarray.h +603 -0
  112. zedda-0.1.1/extern/nanobind/include/nanobind/operators.h +149 -0
  113. zedda-0.1.1/extern/nanobind/include/nanobind/stl/array.h +22 -0
  114. zedda-0.1.1/extern/nanobind/include/nanobind/stl/bind_map.h +181 -0
  115. zedda-0.1.1/extern/nanobind/include/nanobind/stl/bind_vector.h +225 -0
  116. zedda-0.1.1/extern/nanobind/include/nanobind/stl/chrono.h +229 -0
  117. zedda-0.1.1/extern/nanobind/include/nanobind/stl/complex.h +54 -0
  118. zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/chrono.h +299 -0
  119. zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_array.h +67 -0
  120. zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_dict.h +95 -0
  121. zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_list.h +83 -0
  122. zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_optional.h +49 -0
  123. zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_set.h +81 -0
  124. zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/traits.h +92 -0
  125. zedda-0.1.1/extern/nanobind/include/nanobind/stl/filesystem.h +89 -0
  126. zedda-0.1.1/extern/nanobind/include/nanobind/stl/function.h +95 -0
  127. zedda-0.1.1/extern/nanobind/include/nanobind/stl/list.h +22 -0
  128. zedda-0.1.1/extern/nanobind/include/nanobind/stl/map.h +23 -0
  129. zedda-0.1.1/extern/nanobind/include/nanobind/stl/optional.h +30 -0
  130. zedda-0.1.1/extern/nanobind/include/nanobind/stl/pair.h +92 -0
  131. zedda-0.1.1/extern/nanobind/include/nanobind/stl/set.h +24 -0
  132. zedda-0.1.1/extern/nanobind/include/nanobind/stl/shared_ptr.h +137 -0
  133. zedda-0.1.1/extern/nanobind/include/nanobind/stl/string.h +39 -0
  134. zedda-0.1.1/extern/nanobind/include/nanobind/stl/string_view.h +39 -0
  135. zedda-0.1.1/extern/nanobind/include/nanobind/stl/tuple.h +109 -0
  136. zedda-0.1.1/extern/nanobind/include/nanobind/stl/unique_ptr.h +178 -0
  137. zedda-0.1.1/extern/nanobind/include/nanobind/stl/unordered_map.h +23 -0
  138. zedda-0.1.1/extern/nanobind/include/nanobind/stl/unordered_set.h +24 -0
  139. zedda-0.1.1/extern/nanobind/include/nanobind/stl/variant.h +114 -0
  140. zedda-0.1.1/extern/nanobind/include/nanobind/stl/vector.h +22 -0
  141. zedda-0.1.1/extern/nanobind/include/nanobind/stl/wstring.h +40 -0
  142. zedda-0.1.1/extern/nanobind/include/nanobind/trampoline.h +76 -0
  143. zedda-0.1.1/extern/nanobind/include/nanobind/typing.h +36 -0
  144. zedda-0.1.1/extern/nanobind/pyproject.toml +58 -0
  145. zedda-0.1.1/extern/nanobind/src/__init__.py +26 -0
  146. zedda-0.1.1/extern/nanobind/src/__main__.py +36 -0
  147. zedda-0.1.1/extern/nanobind/src/buffer.h +166 -0
  148. zedda-0.1.1/extern/nanobind/src/common.cpp +1298 -0
  149. zedda-0.1.1/extern/nanobind/src/error.cpp +314 -0
  150. zedda-0.1.1/extern/nanobind/src/hash.h +33 -0
  151. zedda-0.1.1/extern/nanobind/src/implicit.cpp +75 -0
  152. zedda-0.1.1/extern/nanobind/src/nb_abi.h +102 -0
  153. zedda-0.1.1/extern/nanobind/src/nb_combined.cpp +87 -0
  154. zedda-0.1.1/extern/nanobind/src/nb_enum.cpp +306 -0
  155. zedda-0.1.1/extern/nanobind/src/nb_ft.cpp +56 -0
  156. zedda-0.1.1/extern/nanobind/src/nb_ft.h +39 -0
  157. zedda-0.1.1/extern/nanobind/src/nb_func.cpp +1588 -0
  158. zedda-0.1.1/extern/nanobind/src/nb_internals.cpp +593 -0
  159. zedda-0.1.1/extern/nanobind/src/nb_internals.h +583 -0
  160. zedda-0.1.1/extern/nanobind/src/nb_ndarray.cpp +1048 -0
  161. zedda-0.1.1/extern/nanobind/src/nb_static_property.cpp +76 -0
  162. zedda-0.1.1/extern/nanobind/src/nb_type.cpp +2273 -0
  163. zedda-0.1.1/extern/nanobind/src/stubgen.py +1570 -0
  164. zedda-0.1.1/extern/nanobind/src/trampoline.cpp +196 -0
  165. zedda-0.1.1/extern/nanobind/src/version.py +131 -0
  166. zedda-0.1.1/extern/nanobind/tests/common.py +42 -0
  167. zedda-0.1.1/extern/nanobind/tests/conftest.py +6 -0
  168. zedda-0.1.1/extern/nanobind/tests/inter_module.cpp +13 -0
  169. zedda-0.1.1/extern/nanobind/tests/inter_module.h +15 -0
  170. zedda-0.1.1/extern/nanobind/tests/object_py.h +28 -0
  171. zedda-0.1.1/extern/nanobind/tests/pattern_file.nb +25 -0
  172. zedda-0.1.1/extern/nanobind/tests/py_recursive_stub_test/__init__.py +3 -0
  173. zedda-0.1.1/extern/nanobind/tests/py_recursive_stub_test/__init__.pyi.ref +4 -0
  174. zedda-0.1.1/extern/nanobind/tests/py_recursive_stub_test/bar.py +1 -0
  175. zedda-0.1.1/extern/nanobind/tests/py_recursive_stub_test/bar.pyi.ref +3 -0
  176. zedda-0.1.1/extern/nanobind/tests/py_stub_test.py +69 -0
  177. zedda-0.1.1/extern/nanobind/tests/py_stub_test.pyi.ref +50 -0
  178. zedda-0.1.1/extern/nanobind/tests/test_accessor.cpp +39 -0
  179. zedda-0.1.1/extern/nanobind/tests/test_accessor.py +41 -0
  180. zedda-0.1.1/extern/nanobind/tests/test_callbacks.cpp +138 -0
  181. zedda-0.1.1/extern/nanobind/tests/test_callbacks.py +58 -0
  182. zedda-0.1.1/extern/nanobind/tests/test_chrono.cpp +93 -0
  183. zedda-0.1.1/extern/nanobind/tests/test_chrono.py +340 -0
  184. zedda-0.1.1/extern/nanobind/tests/test_classes.cpp +842 -0
  185. zedda-0.1.1/extern/nanobind/tests/test_classes.h +21 -0
  186. zedda-0.1.1/extern/nanobind/tests/test_classes.py +994 -0
  187. zedda-0.1.1/extern/nanobind/tests/test_classes_ext.pyi.ref +413 -0
  188. zedda-0.1.1/extern/nanobind/tests/test_classes_extra.cpp +22 -0
  189. zedda-0.1.1/extern/nanobind/tests/test_eigen.cpp +281 -0
  190. zedda-0.1.1/extern/nanobind/tests/test_eigen.py +478 -0
  191. zedda-0.1.1/extern/nanobind/tests/test_eigen_tensor.cpp +108 -0
  192. zedda-0.1.1/extern/nanobind/tests/test_eigen_tensor.py +139 -0
  193. zedda-0.1.1/extern/nanobind/tests/test_enum.cpp +99 -0
  194. zedda-0.1.1/extern/nanobind/tests/test_enum.py +204 -0
  195. zedda-0.1.1/extern/nanobind/tests/test_enum_ext.pyi.ref +131 -0
  196. zedda-0.1.1/extern/nanobind/tests/test_eval.cpp +87 -0
  197. zedda-0.1.1/extern/nanobind/tests/test_eval.py +44 -0
  198. zedda-0.1.1/extern/nanobind/tests/test_exception.cpp +62 -0
  199. zedda-0.1.1/extern/nanobind/tests/test_exception.py +104 -0
  200. zedda-0.1.1/extern/nanobind/tests/test_functions.cpp +534 -0
  201. zedda-0.1.1/extern/nanobind/tests/test_functions.py +799 -0
  202. zedda-0.1.1/extern/nanobind/tests/test_functions_ext.pyi.ref +273 -0
  203. zedda-0.1.1/extern/nanobind/tests/test_holders.cpp +261 -0
  204. zedda-0.1.1/extern/nanobind/tests/test_holders.py +449 -0
  205. zedda-0.1.1/extern/nanobind/tests/test_inter_module.py +89 -0
  206. zedda-0.1.1/extern/nanobind/tests/test_inter_module_1.cpp +8 -0
  207. zedda-0.1.1/extern/nanobind/tests/test_inter_module_2.cpp +10 -0
  208. zedda-0.1.1/extern/nanobind/tests/test_intrusive.cpp +66 -0
  209. zedda-0.1.1/extern/nanobind/tests/test_intrusive.py +58 -0
  210. zedda-0.1.1/extern/nanobind/tests/test_intrusive_impl.cpp +1 -0
  211. zedda-0.1.1/extern/nanobind/tests/test_issue.cpp +68 -0
  212. zedda-0.1.1/extern/nanobind/tests/test_issue.py +37 -0
  213. zedda-0.1.1/extern/nanobind/tests/test_jax.cpp +25 -0
  214. zedda-0.1.1/extern/nanobind/tests/test_jax.py +97 -0
  215. zedda-0.1.1/extern/nanobind/tests/test_jax_ext.pyi.ref +4 -0
  216. zedda-0.1.1/extern/nanobind/tests/test_make_iterator.cpp +102 -0
  217. zedda-0.1.1/extern/nanobind/tests/test_make_iterator.py +48 -0
  218. zedda-0.1.1/extern/nanobind/tests/test_make_iterator_ext.pyi.ref +33 -0
  219. zedda-0.1.1/extern/nanobind/tests/test_ndarray.cpp +629 -0
  220. zedda-0.1.1/extern/nanobind/tests/test_ndarray.py +1122 -0
  221. zedda-0.1.1/extern/nanobind/tests/test_ndarray_ext.pyi.ref +229 -0
  222. zedda-0.1.1/extern/nanobind/tests/test_prefix_module/__init__.py +6 -0
  223. zedda-0.1.1/extern/nanobind/tests/test_prefix_module/__init__.pyi.ref +5 -0
  224. zedda-0.1.1/extern/nanobind/tests/test_prefix_module/prefix.py +5 -0
  225. zedda-0.1.1/extern/nanobind/tests/test_prefix_module/prefix.pyi.ref +5 -0
  226. zedda-0.1.1/extern/nanobind/tests/test_prefix_module/prefixabc.py +7 -0
  227. zedda-0.1.1/extern/nanobind/tests/test_prefix_module/prefixabc.pyi.ref +4 -0
  228. zedda-0.1.1/extern/nanobind/tests/test_specialization.py +103 -0
  229. zedda-0.1.1/extern/nanobind/tests/test_stl.cpp +541 -0
  230. zedda-0.1.1/extern/nanobind/tests/test_stl.py +885 -0
  231. zedda-0.1.1/extern/nanobind/tests/test_stl_bind_map.cpp +95 -0
  232. zedda-0.1.1/extern/nanobind/tests/test_stl_bind_map.py +219 -0
  233. zedda-0.1.1/extern/nanobind/tests/test_stl_bind_vector.cpp +56 -0
  234. zedda-0.1.1/extern/nanobind/tests/test_stl_bind_vector.py +188 -0
  235. zedda-0.1.1/extern/nanobind/tests/test_stl_ext.pyi.ref +280 -0
  236. zedda-0.1.1/extern/nanobind/tests/test_stubs.py +74 -0
  237. zedda-0.1.1/extern/nanobind/tests/test_tensorflow.cpp +27 -0
  238. zedda-0.1.1/extern/nanobind/tests/test_tensorflow.py +97 -0
  239. zedda-0.1.1/extern/nanobind/tests/test_tensorflow_ext.pyi.ref +4 -0
  240. zedda-0.1.1/extern/nanobind/tests/test_thread.cpp +93 -0
  241. zedda-0.1.1/extern/nanobind/tests/test_thread.py +118 -0
  242. zedda-0.1.1/extern/nanobind/tests/test_typing.cpp +124 -0
  243. zedda-0.1.1/extern/nanobind/tests/test_typing.py +12 -0
  244. zedda-0.1.1/extern/nanobind/tests/test_typing_ext.pyi.ref +80 -0
  245. zedda-0.1.1/include/zedda/column_accumulator.hpp +188 -0
  246. zedda-0.1.1/include/zedda/hyperloglog.hpp +190 -0
  247. zedda-0.1.1/include/zedda/profile_builder.hpp +60 -0
  248. zedda-0.1.1/include/zedda/profile_result.hpp +78 -0
  249. zedda-0.1.1/include/zedda/stats_engine.hpp +0 -0
  250. zedda-0.1.1/include/zedda/stream_reader.hpp +94 -0
  251. zedda-0.1.1/pyproject.toml +72 -0
  252. zedda-0.1.1/python/zedda/__init__.py +316 -0
  253. zedda-0.1.1/python/zedda/ai_insights.py +0 -0
  254. zedda-0.1.1/python/zedda/cli.py +206 -0
  255. zedda-0.1.1/python/zedda/renderer.py +0 -0
  256. zedda-0.1.1/python/zedda/report.py +0 -0
  257. zedda-0.1.1/src/bindings/bindings.cpp +84 -0
  258. zedda-0.1.1/src/core/profile_builder.cpp +256 -0
  259. zedda-0.1.1/src/core/report_serializer.cpp +0 -0
  260. zedda-0.1.1/src/core/stats_engine.cpp +0 -0
  261. zedda-0.1.1/src/core/stream_reader.cpp +304 -0
  262. zedda-0.1.1/src/readers/csv_reader.cpp +0 -0
  263. zedda-0.1.1/src/readers/db_reader.cpp +0 -0
  264. zedda-0.1.1/src/readers/excel_reader.cpp +0 -0
  265. zedda-0.1.1/src/readers/json_reader.cpp +0 -0
  266. zedda-0.1.1/src/readers/parquet_reader.cpp +0 -0
  267. zedda-0.1.1/tests/python/test_fasteda.py +86 -0
@@ -0,0 +1,134 @@
1
+ name: Build & Publish
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+
11
+ build_wheels:
12
+ name: Build ${{ matrix.os }}
13
+ runs-on: ${{ matrix.os }}
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ os: [ubuntu-latest, windows-latest, macos-14]
18
+
19
+ steps:
20
+ - name: Checkout code
21
+ uses: actions/checkout@v4
22
+ with:
23
+ submodules: recursive
24
+
25
+ - name: Set up Python
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.12"
29
+
30
+ - name: Install cibuildwheel
31
+ run: pip install cibuildwheel==2.19.1
32
+
33
+ - name: Build wheels
34
+ run: python -m cibuildwheel --output-dir wheelhouse
35
+ env:
36
+ CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-*"
37
+ CIBW_SKIP: "*-win32 *-manylinux_i686 pp*"
38
+ CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
39
+ CIBW_BUILD_FRONTEND: "build"
40
+ CIBW_BEFORE_BUILD_LINUX: >
41
+ pip install cmake ninja scikit-build-core nanobind
42
+ CIBW_BEFORE_BUILD_MACOS: >
43
+ pip install cmake ninja scikit-build-core nanobind
44
+ CIBW_BEFORE_BUILD_WINDOWS: >
45
+ pip install cmake ninja scikit-build-core nanobind
46
+
47
+ - name: Upload wheels
48
+ uses: actions/upload-artifact@v4
49
+ with:
50
+ name: wheels-${{ matrix.os }}
51
+ path: ./wheelhouse/*.whl
52
+ retention-days: 7
53
+
54
+ build_sdist:
55
+ name: Build sdist
56
+ runs-on: ubuntu-latest
57
+ steps:
58
+ - uses: actions/checkout@v4
59
+ with:
60
+ submodules: recursive
61
+
62
+ - uses: actions/setup-python@v5
63
+ with:
64
+ python-version: "3.12"
65
+
66
+ - name: Install build tools
67
+ run: pip install build scikit-build-core nanobind
68
+
69
+ - name: Build sdist
70
+ run: python -m build --sdist
71
+
72
+ - name: Upload sdist
73
+ uses: actions/upload-artifact@v4
74
+ with:
75
+ name: sdist
76
+ path: dist/*.tar.gz
77
+ retention-days: 7
78
+
79
+ publish_test:
80
+ name: Publish to TestPyPI
81
+ needs: [build_wheels, build_sdist]
82
+ runs-on: ubuntu-latest
83
+ environment: testpypi
84
+ permissions:
85
+ id-token: write
86
+
87
+ steps:
88
+ - name: Download all wheels
89
+ uses: actions/download-artifact@v4
90
+ with:
91
+ pattern: wheels-*
92
+ merge-multiple: true
93
+ path: dist/
94
+
95
+ - name: Download sdist
96
+ uses: actions/download-artifact@v4
97
+ with:
98
+ name: sdist
99
+ path: dist/
100
+
101
+ - name: Publish to TestPyPI
102
+ uses: pypa/gh-action-pypi-publish@release/v1
103
+ with:
104
+ repository-url: https://test.pypi.org/legacy/
105
+ password: ${{ secrets.TEST_PYPI_API_TOKEN }}
106
+ skip-existing: true
107
+
108
+ publish_pypi:
109
+ name: Publish to PyPI
110
+ needs: [build_wheels, build_sdist]
111
+ runs-on: ubuntu-latest
112
+ environment: pypi
113
+ permissions:
114
+ id-token: write
115
+ if: startsWith(github.ref, 'refs/tags/v')
116
+
117
+ steps:
118
+ - name: Download all wheels
119
+ uses: actions/download-artifact@v4
120
+ with:
121
+ pattern: wheels-*
122
+ merge-multiple: true
123
+ path: dist/
124
+
125
+ - name: Download sdist
126
+ uses: actions/download-artifact@v4
127
+ with:
128
+ name: sdist
129
+ path: dist/
130
+
131
+ - name: Publish to PyPI
132
+ uses: pypa/gh-action-pypi-publish@release/v1
133
+ with:
134
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,39 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test-cpp:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ with:
15
+ submodules: recursive
16
+
17
+ - name: Install g++
18
+ run: sudo apt-get install -y g++
19
+
20
+ - name: Run Day 1 tests
21
+ run: |
22
+ g++ -std=c++17 -O2 -I include \
23
+ tests/cpp/test_day1.cpp \
24
+ -o test_day1 && ./test_day1
25
+
26
+ - name: Run StreamReader tests
27
+ run: |
28
+ g++ -std=c++17 -O2 -I include \
29
+ src/core/stream_reader.cpp \
30
+ tests/cpp/test_stream_reader.cpp \
31
+ -o test_stream && ./test_stream
32
+
33
+ - name: Run ProfileBuilder tests
34
+ run: |
35
+ g++ -std=c++17 -O2 -I include \
36
+ src/core/stream_reader.cpp \
37
+ src/core/profile_builder.cpp \
38
+ tests/cpp/test_profile_builder.cpp \
39
+ -o test_profile && ./test_profile
zedda-0.1.1/.gitignore ADDED
@@ -0,0 +1,46 @@
1
+ # Build outputs
2
+ build/
3
+ wheelhouse/
4
+ dist/
5
+ *.egg-info/
6
+
7
+ # Compiled C++ / Python extensions
8
+ *.pyd
9
+ *.so
10
+ *.dll
11
+ *.dylib
12
+
13
+ # DLL dependencies (local only)
14
+ python/zedda/*.dll
15
+ python/zedda/fasteda_core.pyd
16
+
17
+ # Python cache
18
+ __pycache__/
19
+ *.pyc
20
+ *.pyo
21
+ .pytest_cache/
22
+
23
+ # Test data files
24
+ *.csv
25
+ *.xlsx
26
+ *.parquet
27
+
28
+ # Local test scripts
29
+ test_import.py
30
+ debug_import.py
31
+ test_data.csv
32
+ perf_test.csv
33
+ profile_test.csv
34
+ big_test.csv
35
+
36
+ # VS Code
37
+ .vscode/
38
+
39
+ # CMake
40
+ CMakeCache.txt
41
+ CMakeFiles/
42
+ cmake_install.cmake
43
+ Makefile
44
+
45
+ # Executables
46
+ *.exe
@@ -0,0 +1,3 @@
1
+ [submodule "extern/nanobind"]
2
+ path = extern/nanobind
3
+ url = https://github.com/wjakob/nanobind.git
zedda-0.1.1/PKG-INFO ADDED
@@ -0,0 +1,32 @@
1
+ Metadata-Version: 2.2
2
+ Name: zedda
3
+ Version: 0.1.1
4
+ Summary: EDA in one command — blazing fast, C++ powered
5
+ Keywords: eda,data-science,profiling,csv,pandas,fast,cli,analysis
6
+ License: MIT
7
+ Classifier: Development Status :: 3 - Alpha
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: C++
17
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Project-URL: Homepage, https://github.com/prince3235/fasteda
20
+ Project-URL: Repository, https://github.com/prince3235/fasteda
21
+ Project-URL: Issues, https://github.com/prince3235/fasteda/issues
22
+ Requires-Python: >=3.9
23
+ Requires-Dist: rich>=13.0
24
+ Requires-Dist: typer>=0.12
25
+ Provides-Extra: ai
26
+ Requires-Dist: openai>=1.0; extra == "ai"
27
+ Provides-Extra: dev
28
+ Requires-Dist: pytest>=8.0; extra == "dev"
29
+ Requires-Dist: pandas>=2.0; extra == "dev"
30
+ Requires-Dist: numpy>=1.24; extra == "dev"
31
+ Description-Content-Type: text/markdown
32
+
zedda-0.1.1/README.md ADDED
File without changes
zedda-0.1.1/build.sh ADDED
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ # fasteda build script
3
+ # Usage: bash build.sh
4
+
5
+ echo "Building fasteda_core.pyd..."
6
+
7
+ g++ -std=c++17 -O2 -shared \
8
+ -I include \
9
+ -I "C:/Program Files/Python312/Include" \
10
+ -I "C:/Users/ADMIN/AppData/Roaming/Python/Python312/site-packages/nanobind/include" \
11
+ -I extern/nanobind/include \
12
+ -I extern/nanobind/src \
13
+ -I extern/nanobind/ext/robin_map/include \
14
+ src/core/stream_reader.cpp \
15
+ src/core/profile_builder.cpp \
16
+ src/bindings/bindings.cpp \
17
+ extern/nanobind/src/nb_combined.cpp \
18
+ -L "C:/Program Files/Python312" \
19
+ -lpython312 \
20
+ -o python/fasteda/fasteda_core.pyd
21
+
22
+ if [ $? -eq 0 ]; then
23
+ echo "SUCCESS! fasteda_core.pyd built!"
24
+ echo ""
25
+ echo "Now run:"
26
+ echo " python -c \"import sys; sys.path.insert(0, 'python'); import fasteda as fe; fe.profile('profile_test.csv')\""
27
+ else
28
+ echo "FAILED! Check errors above."
29
+ fi
@@ -0,0 +1,23 @@
1
+ name: Other
2
+ description: Ask a question or request a new feature
3
+ title: "[OTHER]: "
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ ## Important information
9
+ For all types of questions, feature requests, and other issues that aren't nanobind bugs, please start a post on the separate "Discussions" tab and *not* under "Issues".
10
+
11
+ If have found a nanobind bug, then please open a ticket with a reproducer using the separate "Bug Report" template.
12
+
13
+ - type: textarea
14
+ id: description
15
+ attributes:
16
+ label: Please don't use.
17
+ placeholder: >-
18
+ For all types of questions, feature requests, and other issues that aren't nanobind bugs, please start a post on the separate "Discussions" tab and *not* under "Issues".
19
+
20
+ If have found a nanobind bug, then please open a ticket with a reproducer using the separate "Bug Report" template.
21
+
22
+ validations:
23
+ required: true
@@ -0,0 +1,33 @@
1
+ name: Bug report
2
+ description: File an issue about a critical issue in nanobind
3
+ title: "[BUG]: "
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ ## Important information
9
+ The author's time for processing GitHub issues is unfortunately very limited. Because of this, _nanobind_ cannot accept feature requests. Furthermore, questions should not be submitted here, please use the separate "Discussions" tab. I will unfortunately need to close feature requests or questions maquerading as bug reports.
10
+
11
+ - type: textarea
12
+ id: description
13
+ attributes:
14
+ label: Problem description
15
+ placeholder: >-
16
+ Provide a short description, state the expected behavior and what
17
+ actually happens. Include relevant information like what version of
18
+ Python and nanobind you are using, what system you are on, and any
19
+ useful commands / output.
20
+ validations:
21
+ required: true
22
+
23
+ - type: textarea
24
+ id: code
25
+ attributes:
26
+ label: Reproducible example code
27
+ placeholder: >-
28
+ The code should be minimal, have no external dependencies, and isolate the
29
+ function(s) that cause breakage. Please submit matched and complete C++ and
30
+ Python snippets that can be easily compiled and run to diagnose the
31
+ issue. If possible, make a PR with a failing test to provide a
32
+ starting point for me to work on.
33
+ render: text
@@ -0,0 +1,286 @@
1
+ name: Tests
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ pull_request:
6
+ push:
7
+ branches:
8
+ - master
9
+ - stable
10
+ - v*
11
+
12
+ concurrency:
13
+ group: test-${{ github.ref }}
14
+ cancel-in-progress: false
15
+
16
+ jobs:
17
+ # This is the "main" test suite, which tests a large number of different
18
+ # versions of default compilers and Python versions in GitHub Actions.
19
+ standard:
20
+ strategy:
21
+ fail-fast: false
22
+ matrix:
23
+ os: ['ubuntu-latest', 'windows-2022', 'macos-15']
24
+ python: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14', 'pypy3.10-v7.3.19', 'pypy3.11-v7.3.20']
25
+
26
+ name: "Python ${{ matrix.python }} / ${{ matrix.os }}"
27
+ runs-on: ${{ matrix.os }}
28
+
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ with:
32
+ submodules: true
33
+
34
+ - name: Setup Python ${{ matrix.python }}
35
+ uses: actions/setup-python@v5
36
+ with:
37
+ python-version: ${{ matrix.python }}
38
+ cache: 'pip'
39
+
40
+ - name: Install the latest CMake
41
+ uses: lukka/get-cmake@latest
42
+
43
+ - name: Install Eigen
44
+ if: matrix.os == 'ubuntu-latest'
45
+ run: sudo apt-get -y install libeigen3-dev
46
+
47
+ - name: Install PyTest
48
+ run: |
49
+ python -m pip install pytest pytest-github-actions-annotate-failures typing_extensions
50
+
51
+ - name: Install NumPy
52
+ if: ${{ !startsWith(matrix.python, 'pypy') && !contains(matrix.python, 'alpha') }}
53
+ run: |
54
+ python -m pip install numpy scipy
55
+
56
+ - name: Configure
57
+ run: >
58
+ cmake -S . -B build -DNB_TEST_STABLE_ABI=ON -DNB_TEST_SHARED_BUILD="$(python -c 'import sys; print(int(sys.version_info.minor>=11))')"
59
+
60
+ - name: Build C++
61
+ run: cmake --build build -j 2
62
+
63
+ - name: Check ABI tag
64
+ if: ${{ !startsWith(matrix.os, 'windows') }}
65
+ run: >
66
+ cd build/tests;
67
+ python -c 'import test_functions_ext as t; print(f"ABI tag is \"{ t.abi_tag() }\"")'
68
+
69
+ - name: Check ABI tag
70
+ if: ${{ startsWith(matrix.os, 'windows') }}
71
+ run: >
72
+ cd build/tests/Debug;
73
+ python -c 'import test_functions_ext as t; print(f"ABI tag is \"{ t.abi_tag() }\"")'
74
+
75
+ - name: Run tests
76
+ run: >
77
+ cd build;
78
+ python -m pytest
79
+
80
+ nvcc-ubuntu:
81
+ runs-on: ubuntu-latest
82
+ container: nvidia/cuda:12.5.1-devel-ubuntu24.04
83
+ name: "Python 3 / NVCC (CUDA 12.6.1) / ubuntu-latest"
84
+
85
+ steps:
86
+ - name: Install dependencies
87
+ run: apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y cmake git python3-dev python3-pytest python3-pip libeigen3-dev python3-typing-extensions python3-numpy
88
+
89
+ - uses: actions/checkout@v4
90
+ with:
91
+ submodules: true
92
+
93
+ - name: Configure
94
+ run: >
95
+ cmake -S . -B build -DNB_TEST_CUDA=ON
96
+
97
+ - name: Build C++
98
+ run: cmake --build build -j 2
99
+
100
+ - name: Check ABI tag
101
+ run: >
102
+ cd build/tests;
103
+ python3 -c 'import test_functions_ext as t; print(f"ABI tag is \"{ t.abi_tag() }\"")'
104
+
105
+ - name: Run tests
106
+ run: >
107
+ cd build;
108
+ python3 -m pytest
109
+
110
+ free-threaded:
111
+ name: "Python 3.14-dev / ubuntu.latest [free-threaded]"
112
+ runs-on: ubuntu-latest
113
+
114
+ steps:
115
+ - uses: actions/checkout@v4
116
+ with:
117
+ submodules: true
118
+
119
+ - uses: deadsnakes/action@v3.1.0
120
+ with:
121
+ python-version: 3.14-dev
122
+ nogil: true
123
+
124
+ - name: Install the latest CMake
125
+ uses: lukka/get-cmake@latest
126
+
127
+ - name: Install PyTest
128
+ run: |
129
+ python -m pip install pytest pytest-github-actions-annotate-failures
130
+
131
+ - name: Configure
132
+ run: >
133
+ cmake -S . -B build -DNB_TEST_FREE_THREADED=ON
134
+
135
+ - name: Build C++
136
+ run: >
137
+ cmake --build build -j 2
138
+
139
+ - name: Check ABI tag
140
+ run: >
141
+ cd build/tests;
142
+ python -c 'import test_functions_ext as t; print(f"ABI tag is \"{ t.abi_tag() }\"")'
143
+
144
+ - name: Run tests
145
+ run: >
146
+ cd build;
147
+ python -m pytest
148
+
149
+ mingw:
150
+ runs-on: windows-2022
151
+ name: "Python ${{ matrix.python }} / MinGW-w64"
152
+ strategy:
153
+ fail-fast: false
154
+ matrix:
155
+ python: ['3.12']
156
+
157
+ steps:
158
+ - uses: actions/checkout@v4
159
+ with:
160
+ submodules: true
161
+
162
+ - name: Setup Python ${{ matrix.python }}
163
+ uses: actions/setup-python@v5
164
+ with:
165
+ python-version: ${{ matrix.python }}
166
+ cache: 'pip'
167
+
168
+ - name: Setup MSYS2 (MINGW64)
169
+ uses: msys2/setup-msys2@v2
170
+ with:
171
+ msystem: MINGW64
172
+ install: >-
173
+ mingw-w64-x86_64-gcc
174
+ mingw-w64-x86_64-cmake
175
+ mingw-w64-x86_64-ninja
176
+ mingw-w64-x86_64-python
177
+ mingw-w64-x86_64-python-pip
178
+ mingw-w64-x86_64-python-pytest
179
+
180
+ - name: Install Python packages
181
+ shell: msys2 {0}
182
+ run: |
183
+ python -m pip install pytest-github-actions-annotate-failures typing_extensions
184
+
185
+ - name: Configure
186
+ shell: msys2 {0}
187
+ run: |
188
+ export PATH=/mingw64/bin:$PATH
189
+ export CC=gcc
190
+ export CXX=g++
191
+ PYEXE=/mingw64/bin/python3.exe
192
+ cmake -S . -B build -G Ninja \
193
+ -DPython_EXECUTABLE="$(cygpath -w "$PYEXE")" \
194
+ -DNB_TEST_FREE_THREADED=OFF
195
+
196
+ - name: Build C++
197
+ shell: msys2 {0}
198
+ run: cmake --build build -j 2
199
+
200
+ - name: Check ABI tag
201
+ shell: msys2 {0}
202
+ run: |
203
+ cd build/tests
204
+ python -c 'import test_functions_ext as t; print(f"ABI tag is \"{t.abi_tag()}\"")'
205
+
206
+ - name: Run tests
207
+ shell: msys2 {0}
208
+ run: |
209
+ cd build
210
+ python -m pytest
211
+
212
+ intel:
213
+ runs-on: ubuntu-22.04
214
+ name: "Python ${{ matrix.python }} / Intel ICX"
215
+ strategy:
216
+ fail-fast: false
217
+ matrix:
218
+ python: ['3.12']
219
+
220
+ steps:
221
+ - uses: actions/checkout@v4
222
+ with:
223
+ submodules: true
224
+
225
+ - name: Setup Python ${{ matrix.python }}
226
+ uses: actions/setup-python@v5
227
+ with:
228
+ python-version: ${{ matrix.python }}
229
+ cache: 'pip'
230
+
231
+ - name: Cache Intel oneAPI
232
+ id: cache-oneapi
233
+ uses: actions/cache@v4
234
+ with:
235
+ path: /opt/intel/oneapi
236
+ key: install-${{ runner.os }}-intel-oneapi-compiler-2025.2
237
+
238
+ - name: Add Intel repository
239
+ if: steps.cache-oneapi.outputs.cache-hit != 'true'
240
+ run: |
241
+ wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
242
+ echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
243
+ sudo apt-get update
244
+
245
+ - name: Install Intel oneAPI compilers
246
+ if: steps.cache-oneapi.outputs.cache-hit != 'true'
247
+ run: |
248
+ sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp
249
+
250
+ - name: Cleanup Intel oneAPI cache
251
+ if: steps.cache-oneapi.outputs.cache-hit != 'true'
252
+ run: |
253
+ sudo rm -rf /opt/intel/oneapi/compiler/*/linux/lib/ia32
254
+ sudo rm -rf /opt/intel/oneapi/compiler/*/linux/lib/emu
255
+ sudo rm -rf /opt/intel/oneapi/compiler/*/linux/lib/oclfpga
256
+
257
+ - name: Install the latest CMake
258
+ uses: lukka/get-cmake@latest
259
+
260
+ - name: Install PyTest
261
+ run: |
262
+ python -m pip install pytest pytest-github-actions-annotate-failures typing_extensions
263
+
264
+ - name: Configure
265
+ run: |
266
+ source /opt/intel/oneapi/setvars.sh
267
+ export CC=icx
268
+ export CXX=icpx
269
+ cmake -S . -B build
270
+
271
+ - name: Build C++
272
+ run: |
273
+ source /opt/intel/oneapi/setvars.sh
274
+ cmake --build build -j 2
275
+
276
+ - name: Check ABI tag
277
+ run: |
278
+ source /opt/intel/oneapi/setvars.sh
279
+ cd build/tests
280
+ python -c 'import test_functions_ext as t; print(f"ABI tag is \"{ t.abi_tag() }\"")'
281
+
282
+ - name: Run tests
283
+ run: |
284
+ source /opt/intel/oneapi/setvars.sh
285
+ cd build
286
+ python -m pytest
@@ -0,0 +1,45 @@
1
+ name: Tests
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ nvcc-windows:
8
+ runs-on: windows-latest
9
+ name: "Python 3.12.7 / NVCC (CUDA 12.5.0) / windows-latest"
10
+
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ with:
14
+ submodules: true
15
+
16
+ - uses: Jimver/cuda-toolkit@v0.2.17
17
+ id: cuda-toolkit
18
+ with:
19
+ cuda: '12.5.0'
20
+
21
+ - name: Setup Python 3.12.5
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: 3.12.5
25
+ cache: 'pip'
26
+
27
+ - name: Install PyTest
28
+ run: |
29
+ python -m pip install pytest pytest-github-actions-annotate-failures typing_extensions
30
+
31
+ - name: Install NumPy
32
+ run: |
33
+ python -m pip install numpy scipy
34
+
35
+ - name: Configure
36
+ run: >
37
+ cmake -S . -B build -DNB_TEST_CUDA=ON
38
+
39
+ - name: Build C++
40
+ run: cmake --build build -j 2 --config Release
41
+
42
+ - name: Run tests
43
+ run: >
44
+ cd build;
45
+ python3 -m pytest