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.
- zedda-0.1.1/.github/workflows/build_wheels.yml +134 -0
- zedda-0.1.1/.github/workflows/tests.yml +39 -0
- zedda-0.1.1/.gitignore +46 -0
- zedda-0.1.1/.gitmodules +3 -0
- zedda-0.1.1/PKG-INFO +32 -0
- zedda-0.1.1/README.md +0 -0
- zedda-0.1.1/build.sh +29 -0
- zedda-0.1.1/extern/nanobind/.github/ISSUE_TEMPLATE/all-other.yml +23 -0
- zedda-0.1.1/extern/nanobind/.github/ISSUE_TEMPLATE/bug-report.yml +33 -0
- zedda-0.1.1/extern/nanobind/.github/workflows/ci.yml +286 -0
- zedda-0.1.1/extern/nanobind/.github/workflows/nvcc-win.yml +45 -0
- zedda-0.1.1/extern/nanobind/.gitignore +43 -0
- zedda-0.1.1/extern/nanobind/.gitmodules +3 -0
- zedda-0.1.1/extern/nanobind/.readthedocs.yaml +18 -0
- zedda-0.1.1/extern/nanobind/LICENSE +26 -0
- zedda-0.1.1/extern/nanobind/README.md +117 -0
- zedda-0.1.1/extern/nanobind/cmake/collect-symbols-pypy.py +29 -0
- zedda-0.1.1/extern/nanobind/cmake/collect-symbols.py +42 -0
- zedda-0.1.1/extern/nanobind/cmake/darwin-ld-cpython.sym +992 -0
- zedda-0.1.1/extern/nanobind/cmake/darwin-ld-pypy.sym +1135 -0
- zedda-0.1.1/extern/nanobind/cmake/darwin-python-path.py +15 -0
- zedda-0.1.1/extern/nanobind/cmake/nanobind-config.cmake +744 -0
- zedda-0.1.1/extern/nanobind/docs/api_bazel.rst +199 -0
- zedda-0.1.1/extern/nanobind/docs/api_cmake.rst +533 -0
- zedda-0.1.1/extern/nanobind/docs/api_core.rst +3284 -0
- zedda-0.1.1/extern/nanobind/docs/api_extra.rst +1596 -0
- zedda-0.1.1/extern/nanobind/docs/basics.rst +481 -0
- zedda-0.1.1/extern/nanobind/docs/bazel.rst +218 -0
- zedda-0.1.1/extern/nanobind/docs/benchmark.rst +174 -0
- zedda-0.1.1/extern/nanobind/docs/building.rst +118 -0
- zedda-0.1.1/extern/nanobind/docs/changelog.rst +1892 -0
- zedda-0.1.1/extern/nanobind/docs/classes.rst +1181 -0
- zedda-0.1.1/extern/nanobind/docs/conf.py +250 -0
- zedda-0.1.1/extern/nanobind/docs/cppyy.h +16 -0
- zedda-0.1.1/extern/nanobind/docs/eigen.rst +195 -0
- zedda-0.1.1/extern/nanobind/docs/exceptions.rst +293 -0
- zedda-0.1.1/extern/nanobind/docs/exchanging.rst +425 -0
- zedda-0.1.1/extern/nanobind/docs/faq.rst +404 -0
- zedda-0.1.1/extern/nanobind/docs/free_threaded.rst +326 -0
- zedda-0.1.1/extern/nanobind/docs/functions.rst +609 -0
- zedda-0.1.1/extern/nanobind/docs/images/binding-dark.svg +122 -0
- zedda-0.1.1/extern/nanobind/docs/images/binding-light.svg +112 -0
- zedda-0.1.1/extern/nanobind/docs/images/caster-dark.svg +118 -0
- zedda-0.1.1/extern/nanobind/docs/images/caster-light.svg +108 -0
- zedda-0.1.1/extern/nanobind/docs/images/logo.jpg +0 -0
- zedda-0.1.1/extern/nanobind/docs/images/perf.svg +1979 -0
- zedda-0.1.1/extern/nanobind/docs/images/sizes.svg +1909 -0
- zedda-0.1.1/extern/nanobind/docs/images/times.svg +1859 -0
- zedda-0.1.1/extern/nanobind/docs/images/wrapper-dark.svg +102 -0
- zedda-0.1.1/extern/nanobind/docs/images/wrapper-light.svg +92 -0
- zedda-0.1.1/extern/nanobind/docs/index.rst +148 -0
- zedda-0.1.1/extern/nanobind/docs/installing.rst +48 -0
- zedda-0.1.1/extern/nanobind/docs/lowlevel.rst +323 -0
- zedda-0.1.1/extern/nanobind/docs/meson.rst +135 -0
- zedda-0.1.1/extern/nanobind/docs/microbenchmark.ipynb +447 -0
- zedda-0.1.1/extern/nanobind/docs/ndarray.rst +786 -0
- zedda-0.1.1/extern/nanobind/docs/ndarray_index.rst +13 -0
- zedda-0.1.1/extern/nanobind/docs/ownership.rst +400 -0
- zedda-0.1.1/extern/nanobind/docs/ownership_adv.rst +398 -0
- zedda-0.1.1/extern/nanobind/docs/packaging.rst +331 -0
- zedda-0.1.1/extern/nanobind/docs/porting.rst +366 -0
- zedda-0.1.1/extern/nanobind/docs/pypy.rst +23 -0
- zedda-0.1.1/extern/nanobind/docs/refleaks.rst +461 -0
- zedda-0.1.1/extern/nanobind/docs/release.rst +25 -0
- zedda-0.1.1/extern/nanobind/docs/typing.rst +719 -0
- zedda-0.1.1/extern/nanobind/docs/utilities.rst +59 -0
- zedda-0.1.1/extern/nanobind/docs/why.rst +252 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/.clang-format +1 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/.codecov.yml +5 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/.github/workflows/ci.yml +136 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/LICENSE +21 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/README.md +521 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/cmake/tsl-robin-mapConfig.cmake.in +9 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/doxygen.conf +2483 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/include/tsl/robin_growth_policy.h +415 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/include/tsl/robin_hash.h +1589 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/include/tsl/robin_map.h +815 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/include/tsl/robin_set.h +668 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/tests/custom_allocator_tests.cpp +138 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/tests/main.cpp +26 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/tests/policy_tests.cpp +97 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/tests/robin_map_tests.cpp +1462 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/tests/robin_set_tests.cpp +174 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/tests/utils.h +443 -0
- zedda-0.1.1/extern/nanobind/ext/robin_map/tsl-robin-map.natvis +78 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/eigen/dense.h +481 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/eigen/sparse.h +290 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/eigen/tensor.h +329 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/eval.h +61 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/intrusive/counter.h +261 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/intrusive/counter.inl +148 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/intrusive/ref.h +153 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/make_iterator.h +160 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nanobind.h +66 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_accessor.h +258 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_attr.h +445 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_call.h +152 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_cast.h +751 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_class.h +863 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_defs.h +207 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_descr.h +155 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_enums.h +26 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_error.h +152 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_func.h +436 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_lib.h +584 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_misc.h +125 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_python.h +60 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_traits.h +226 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_tuple.h +80 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/nb_types.h +1017 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/ndarray.h +603 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/operators.h +149 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/array.h +22 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/bind_map.h +181 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/bind_vector.h +225 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/chrono.h +229 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/complex.h +54 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/chrono.h +299 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_array.h +67 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_dict.h +95 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_list.h +83 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_optional.h +49 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/nb_set.h +81 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/detail/traits.h +92 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/filesystem.h +89 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/function.h +95 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/list.h +22 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/map.h +23 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/optional.h +30 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/pair.h +92 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/set.h +24 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/shared_ptr.h +137 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/string.h +39 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/string_view.h +39 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/tuple.h +109 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/unique_ptr.h +178 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/unordered_map.h +23 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/unordered_set.h +24 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/variant.h +114 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/vector.h +22 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/stl/wstring.h +40 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/trampoline.h +76 -0
- zedda-0.1.1/extern/nanobind/include/nanobind/typing.h +36 -0
- zedda-0.1.1/extern/nanobind/pyproject.toml +58 -0
- zedda-0.1.1/extern/nanobind/src/__init__.py +26 -0
- zedda-0.1.1/extern/nanobind/src/__main__.py +36 -0
- zedda-0.1.1/extern/nanobind/src/buffer.h +166 -0
- zedda-0.1.1/extern/nanobind/src/common.cpp +1298 -0
- zedda-0.1.1/extern/nanobind/src/error.cpp +314 -0
- zedda-0.1.1/extern/nanobind/src/hash.h +33 -0
- zedda-0.1.1/extern/nanobind/src/implicit.cpp +75 -0
- zedda-0.1.1/extern/nanobind/src/nb_abi.h +102 -0
- zedda-0.1.1/extern/nanobind/src/nb_combined.cpp +87 -0
- zedda-0.1.1/extern/nanobind/src/nb_enum.cpp +306 -0
- zedda-0.1.1/extern/nanobind/src/nb_ft.cpp +56 -0
- zedda-0.1.1/extern/nanobind/src/nb_ft.h +39 -0
- zedda-0.1.1/extern/nanobind/src/nb_func.cpp +1588 -0
- zedda-0.1.1/extern/nanobind/src/nb_internals.cpp +593 -0
- zedda-0.1.1/extern/nanobind/src/nb_internals.h +583 -0
- zedda-0.1.1/extern/nanobind/src/nb_ndarray.cpp +1048 -0
- zedda-0.1.1/extern/nanobind/src/nb_static_property.cpp +76 -0
- zedda-0.1.1/extern/nanobind/src/nb_type.cpp +2273 -0
- zedda-0.1.1/extern/nanobind/src/stubgen.py +1570 -0
- zedda-0.1.1/extern/nanobind/src/trampoline.cpp +196 -0
- zedda-0.1.1/extern/nanobind/src/version.py +131 -0
- zedda-0.1.1/extern/nanobind/tests/common.py +42 -0
- zedda-0.1.1/extern/nanobind/tests/conftest.py +6 -0
- zedda-0.1.1/extern/nanobind/tests/inter_module.cpp +13 -0
- zedda-0.1.1/extern/nanobind/tests/inter_module.h +15 -0
- zedda-0.1.1/extern/nanobind/tests/object_py.h +28 -0
- zedda-0.1.1/extern/nanobind/tests/pattern_file.nb +25 -0
- zedda-0.1.1/extern/nanobind/tests/py_recursive_stub_test/__init__.py +3 -0
- zedda-0.1.1/extern/nanobind/tests/py_recursive_stub_test/__init__.pyi.ref +4 -0
- zedda-0.1.1/extern/nanobind/tests/py_recursive_stub_test/bar.py +1 -0
- zedda-0.1.1/extern/nanobind/tests/py_recursive_stub_test/bar.pyi.ref +3 -0
- zedda-0.1.1/extern/nanobind/tests/py_stub_test.py +69 -0
- zedda-0.1.1/extern/nanobind/tests/py_stub_test.pyi.ref +50 -0
- zedda-0.1.1/extern/nanobind/tests/test_accessor.cpp +39 -0
- zedda-0.1.1/extern/nanobind/tests/test_accessor.py +41 -0
- zedda-0.1.1/extern/nanobind/tests/test_callbacks.cpp +138 -0
- zedda-0.1.1/extern/nanobind/tests/test_callbacks.py +58 -0
- zedda-0.1.1/extern/nanobind/tests/test_chrono.cpp +93 -0
- zedda-0.1.1/extern/nanobind/tests/test_chrono.py +340 -0
- zedda-0.1.1/extern/nanobind/tests/test_classes.cpp +842 -0
- zedda-0.1.1/extern/nanobind/tests/test_classes.h +21 -0
- zedda-0.1.1/extern/nanobind/tests/test_classes.py +994 -0
- zedda-0.1.1/extern/nanobind/tests/test_classes_ext.pyi.ref +413 -0
- zedda-0.1.1/extern/nanobind/tests/test_classes_extra.cpp +22 -0
- zedda-0.1.1/extern/nanobind/tests/test_eigen.cpp +281 -0
- zedda-0.1.1/extern/nanobind/tests/test_eigen.py +478 -0
- zedda-0.1.1/extern/nanobind/tests/test_eigen_tensor.cpp +108 -0
- zedda-0.1.1/extern/nanobind/tests/test_eigen_tensor.py +139 -0
- zedda-0.1.1/extern/nanobind/tests/test_enum.cpp +99 -0
- zedda-0.1.1/extern/nanobind/tests/test_enum.py +204 -0
- zedda-0.1.1/extern/nanobind/tests/test_enum_ext.pyi.ref +131 -0
- zedda-0.1.1/extern/nanobind/tests/test_eval.cpp +87 -0
- zedda-0.1.1/extern/nanobind/tests/test_eval.py +44 -0
- zedda-0.1.1/extern/nanobind/tests/test_exception.cpp +62 -0
- zedda-0.1.1/extern/nanobind/tests/test_exception.py +104 -0
- zedda-0.1.1/extern/nanobind/tests/test_functions.cpp +534 -0
- zedda-0.1.1/extern/nanobind/tests/test_functions.py +799 -0
- zedda-0.1.1/extern/nanobind/tests/test_functions_ext.pyi.ref +273 -0
- zedda-0.1.1/extern/nanobind/tests/test_holders.cpp +261 -0
- zedda-0.1.1/extern/nanobind/tests/test_holders.py +449 -0
- zedda-0.1.1/extern/nanobind/tests/test_inter_module.py +89 -0
- zedda-0.1.1/extern/nanobind/tests/test_inter_module_1.cpp +8 -0
- zedda-0.1.1/extern/nanobind/tests/test_inter_module_2.cpp +10 -0
- zedda-0.1.1/extern/nanobind/tests/test_intrusive.cpp +66 -0
- zedda-0.1.1/extern/nanobind/tests/test_intrusive.py +58 -0
- zedda-0.1.1/extern/nanobind/tests/test_intrusive_impl.cpp +1 -0
- zedda-0.1.1/extern/nanobind/tests/test_issue.cpp +68 -0
- zedda-0.1.1/extern/nanobind/tests/test_issue.py +37 -0
- zedda-0.1.1/extern/nanobind/tests/test_jax.cpp +25 -0
- zedda-0.1.1/extern/nanobind/tests/test_jax.py +97 -0
- zedda-0.1.1/extern/nanobind/tests/test_jax_ext.pyi.ref +4 -0
- zedda-0.1.1/extern/nanobind/tests/test_make_iterator.cpp +102 -0
- zedda-0.1.1/extern/nanobind/tests/test_make_iterator.py +48 -0
- zedda-0.1.1/extern/nanobind/tests/test_make_iterator_ext.pyi.ref +33 -0
- zedda-0.1.1/extern/nanobind/tests/test_ndarray.cpp +629 -0
- zedda-0.1.1/extern/nanobind/tests/test_ndarray.py +1122 -0
- zedda-0.1.1/extern/nanobind/tests/test_ndarray_ext.pyi.ref +229 -0
- zedda-0.1.1/extern/nanobind/tests/test_prefix_module/__init__.py +6 -0
- zedda-0.1.1/extern/nanobind/tests/test_prefix_module/__init__.pyi.ref +5 -0
- zedda-0.1.1/extern/nanobind/tests/test_prefix_module/prefix.py +5 -0
- zedda-0.1.1/extern/nanobind/tests/test_prefix_module/prefix.pyi.ref +5 -0
- zedda-0.1.1/extern/nanobind/tests/test_prefix_module/prefixabc.py +7 -0
- zedda-0.1.1/extern/nanobind/tests/test_prefix_module/prefixabc.pyi.ref +4 -0
- zedda-0.1.1/extern/nanobind/tests/test_specialization.py +103 -0
- zedda-0.1.1/extern/nanobind/tests/test_stl.cpp +541 -0
- zedda-0.1.1/extern/nanobind/tests/test_stl.py +885 -0
- zedda-0.1.1/extern/nanobind/tests/test_stl_bind_map.cpp +95 -0
- zedda-0.1.1/extern/nanobind/tests/test_stl_bind_map.py +219 -0
- zedda-0.1.1/extern/nanobind/tests/test_stl_bind_vector.cpp +56 -0
- zedda-0.1.1/extern/nanobind/tests/test_stl_bind_vector.py +188 -0
- zedda-0.1.1/extern/nanobind/tests/test_stl_ext.pyi.ref +280 -0
- zedda-0.1.1/extern/nanobind/tests/test_stubs.py +74 -0
- zedda-0.1.1/extern/nanobind/tests/test_tensorflow.cpp +27 -0
- zedda-0.1.1/extern/nanobind/tests/test_tensorflow.py +97 -0
- zedda-0.1.1/extern/nanobind/tests/test_tensorflow_ext.pyi.ref +4 -0
- zedda-0.1.1/extern/nanobind/tests/test_thread.cpp +93 -0
- zedda-0.1.1/extern/nanobind/tests/test_thread.py +118 -0
- zedda-0.1.1/extern/nanobind/tests/test_typing.cpp +124 -0
- zedda-0.1.1/extern/nanobind/tests/test_typing.py +12 -0
- zedda-0.1.1/extern/nanobind/tests/test_typing_ext.pyi.ref +80 -0
- zedda-0.1.1/include/zedda/column_accumulator.hpp +188 -0
- zedda-0.1.1/include/zedda/hyperloglog.hpp +190 -0
- zedda-0.1.1/include/zedda/profile_builder.hpp +60 -0
- zedda-0.1.1/include/zedda/profile_result.hpp +78 -0
- zedda-0.1.1/include/zedda/stats_engine.hpp +0 -0
- zedda-0.1.1/include/zedda/stream_reader.hpp +94 -0
- zedda-0.1.1/pyproject.toml +72 -0
- zedda-0.1.1/python/zedda/__init__.py +316 -0
- zedda-0.1.1/python/zedda/ai_insights.py +0 -0
- zedda-0.1.1/python/zedda/cli.py +206 -0
- zedda-0.1.1/python/zedda/renderer.py +0 -0
- zedda-0.1.1/python/zedda/report.py +0 -0
- zedda-0.1.1/src/bindings/bindings.cpp +84 -0
- zedda-0.1.1/src/core/profile_builder.cpp +256 -0
- zedda-0.1.1/src/core/report_serializer.cpp +0 -0
- zedda-0.1.1/src/core/stats_engine.cpp +0 -0
- zedda-0.1.1/src/core/stream_reader.cpp +304 -0
- zedda-0.1.1/src/readers/csv_reader.cpp +0 -0
- zedda-0.1.1/src/readers/db_reader.cpp +0 -0
- zedda-0.1.1/src/readers/excel_reader.cpp +0 -0
- zedda-0.1.1/src/readers/json_reader.cpp +0 -0
- zedda-0.1.1/src/readers/parquet_reader.cpp +0 -0
- 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
|
zedda-0.1.1/.gitmodules
ADDED
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
|