pytetwild 0.1.1__tar.gz → 0.2.0__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.
- pytetwild-0.2.0/.clang-format +13 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/.github/workflows/build-and-deploy.yml +46 -12
- {pytetwild-0.1.1 → pytetwild-0.2.0}/.gitignore +16 -1
- {pytetwild-0.1.1 → pytetwild-0.2.0}/.pre-commit-config.yaml +6 -8
- {pytetwild-0.1.1 → pytetwild-0.2.0}/CMakeLists.txt +24 -13
- {pytetwild-0.1.1 → pytetwild-0.2.0}/PKG-INFO +53 -17
- {pytetwild-0.1.1 → pytetwild-0.2.0}/README.rst +45 -12
- pytetwild-0.2.0/exploded-sphere.png +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/pyproject.toml +27 -13
- pytetwild-0.2.0/src/FTetWildWrapper.cpp +473 -0
- pytetwild-0.2.0/src/array_support.h +75 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/MeshImprovement.cpp +10 -10
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/CMakeLists.txt +0 -3
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/main.cpp +5 -0
- pytetwild-0.2.0/src/pytetwild/PyfTetWildWrapper.pyi +29 -0
- pytetwild-0.2.0/src/pytetwild/pytetwild.py +365 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/tests/test_pytetwild.py +40 -19
- pytetwild-0.2.0/tools/audit_wheel.sh +9 -0
- pytetwild-0.2.0/tools/extract-deps.py +8 -0
- pytetwild-0.1.1/exploded-sphere.png +0 -0
- pytetwild-0.1.1/src/FTetWildWrapper.cpp +0 -452
- pytetwild-0.1.1/src/fTetWild/src/external/FastWindingNumber.cpp +0 -39
- pytetwild-0.1.1/src/fTetWild/src/external/FastWindingNumber.hpp +0 -8
- pytetwild-0.1.1/src/pybind11/.appveyor.yml +0 -35
- pytetwild-0.1.1/src/pybind11/.clang-format +0 -38
- pytetwild-0.1.1/src/pybind11/.clang-tidy +0 -77
- pytetwild-0.1.1/src/pybind11/.cmake-format.yaml +0 -73
- pytetwild-0.1.1/src/pybind11/.codespell-ignore-lines +0 -24
- pytetwild-0.1.1/src/pybind11/.gitattributes +0 -1
- pytetwild-0.1.1/src/pybind11/.github/CODEOWNERS +0 -9
- pytetwild-0.1.1/src/pybind11/.github/CONTRIBUTING.md +0 -388
- pytetwild-0.1.1/src/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -61
- pytetwild-0.1.1/src/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -8
- pytetwild-0.1.1/src/pybind11/.github/dependabot.yml +0 -15
- pytetwild-0.1.1/src/pybind11/.github/labeler.yml +0 -8
- pytetwild-0.1.1/src/pybind11/.github/labeler_merged.yml +0 -3
- pytetwild-0.1.1/src/pybind11/.github/matchers/pylint.json +0 -32
- pytetwild-0.1.1/src/pybind11/.github/pull_request_template.md +0 -19
- pytetwild-0.1.1/src/pybind11/.github/workflows/ci.yml +0 -1190
- pytetwild-0.1.1/src/pybind11/.github/workflows/configure.yml +0 -92
- pytetwild-0.1.1/src/pybind11/.github/workflows/format.yml +0 -60
- pytetwild-0.1.1/src/pybind11/.github/workflows/labeler.yml +0 -25
- pytetwild-0.1.1/src/pybind11/.github/workflows/pip.yml +0 -114
- pytetwild-0.1.1/src/pybind11/.github/workflows/upstream.yml +0 -116
- pytetwild-0.1.1/src/pybind11/.gitignore +0 -46
- pytetwild-0.1.1/src/pybind11/.pre-commit-config.yaml +0 -155
- pytetwild-0.1.1/src/pybind11/.readthedocs.yml +0 -20
- pytetwild-0.1.1/src/pybind11/CMakeLists.txt +0 -363
- pytetwild-0.1.1/src/pybind11/LICENSE +0 -29
- pytetwild-0.1.1/src/pybind11/MANIFEST.in +0 -6
- pytetwild-0.1.1/src/pybind11/README.rst +0 -180
- pytetwild-0.1.1/src/pybind11/SECURITY.md +0 -13
- pytetwild-0.1.1/src/pybind11/docs/Doxyfile +0 -21
- pytetwild-0.1.1/src/pybind11/docs/_static/css/custom.css +0 -3
- pytetwild-0.1.1/src/pybind11/docs/advanced/cast/chrono.rst +0 -81
- pytetwild-0.1.1/src/pybind11/docs/advanced/cast/custom.rst +0 -93
- pytetwild-0.1.1/src/pybind11/docs/advanced/cast/eigen.rst +0 -310
- pytetwild-0.1.1/src/pybind11/docs/advanced/cast/functional.rst +0 -109
- pytetwild-0.1.1/src/pybind11/docs/advanced/cast/index.rst +0 -43
- pytetwild-0.1.1/src/pybind11/docs/advanced/cast/overview.rst +0 -170
- pytetwild-0.1.1/src/pybind11/docs/advanced/cast/stl.rst +0 -249
- pytetwild-0.1.1/src/pybind11/docs/advanced/cast/strings.rst +0 -296
- pytetwild-0.1.1/src/pybind11/docs/advanced/classes.rst +0 -1335
- pytetwild-0.1.1/src/pybind11/docs/advanced/embedding.rst +0 -262
- pytetwild-0.1.1/src/pybind11/docs/advanced/exceptions.rst +0 -401
- pytetwild-0.1.1/src/pybind11/docs/advanced/functions.rst +0 -614
- pytetwild-0.1.1/src/pybind11/docs/advanced/misc.rst +0 -429
- pytetwild-0.1.1/src/pybind11/docs/advanced/pycpp/index.rst +0 -13
- pytetwild-0.1.1/src/pybind11/docs/advanced/pycpp/numpy.rst +0 -455
- pytetwild-0.1.1/src/pybind11/docs/advanced/pycpp/object.rst +0 -286
- pytetwild-0.1.1/src/pybind11/docs/advanced/pycpp/utilities.rst +0 -155
- pytetwild-0.1.1/src/pybind11/docs/advanced/smart_ptrs.rst +0 -174
- pytetwild-0.1.1/src/pybind11/docs/basics.rst +0 -307
- pytetwild-0.1.1/src/pybind11/docs/benchmark.py +0 -87
- pytetwild-0.1.1/src/pybind11/docs/benchmark.rst +0 -95
- pytetwild-0.1.1/src/pybind11/docs/changelog.rst +0 -2832
- pytetwild-0.1.1/src/pybind11/docs/classes.rst +0 -555
- pytetwild-0.1.1/src/pybind11/docs/cmake/index.rst +0 -8
- pytetwild-0.1.1/src/pybind11/docs/compiling.rst +0 -649
- pytetwild-0.1.1/src/pybind11/docs/conf.py +0 -368
- pytetwild-0.1.1/src/pybind11/docs/faq.rst +0 -308
- pytetwild-0.1.1/src/pybind11/docs/index.rst +0 -48
- pytetwild-0.1.1/src/pybind11/docs/installing.rst +0 -105
- pytetwild-0.1.1/src/pybind11/docs/limitations.rst +0 -72
- pytetwild-0.1.1/src/pybind11/docs/pybind11-logo.png +0 -0
- pytetwild-0.1.1/src/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
- pytetwild-0.1.1/src/pybind11/docs/pybind11_vs_boost_python1.svg +0 -427
- pytetwild-0.1.1/src/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
- pytetwild-0.1.1/src/pybind11/docs/pybind11_vs_boost_python2.svg +0 -427
- pytetwild-0.1.1/src/pybind11/docs/reference.rst +0 -130
- pytetwild-0.1.1/src/pybind11/docs/release.rst +0 -143
- pytetwild-0.1.1/src/pybind11/docs/requirements.txt +0 -6
- pytetwild-0.1.1/src/pybind11/docs/upgrade.rst +0 -566
- pytetwild-0.1.1/src/pybind11/include/pybind11/attr.h +0 -690
- pytetwild-0.1.1/src/pybind11/include/pybind11/buffer_info.h +0 -208
- pytetwild-0.1.1/src/pybind11/include/pybind11/cast.h +0 -1730
- pytetwild-0.1.1/src/pybind11/include/pybind11/chrono.h +0 -225
- pytetwild-0.1.1/src/pybind11/include/pybind11/common.h +0 -2
- pytetwild-0.1.1/src/pybind11/include/pybind11/complex.h +0 -74
- pytetwild-0.1.1/src/pybind11/include/pybind11/detail/class.h +0 -748
- pytetwild-0.1.1/src/pybind11/include/pybind11/detail/common.h +0 -1263
- pytetwild-0.1.1/src/pybind11/include/pybind11/detail/descr.h +0 -171
- pytetwild-0.1.1/src/pybind11/include/pybind11/detail/init.h +0 -434
- pytetwild-0.1.1/src/pybind11/include/pybind11/detail/internals.h +0 -662
- pytetwild-0.1.1/src/pybind11/include/pybind11/detail/type_caster_base.h +0 -1214
- pytetwild-0.1.1/src/pybind11/include/pybind11/detail/typeid.h +0 -65
- pytetwild-0.1.1/src/pybind11/include/pybind11/eigen/common.h +0 -9
- pytetwild-0.1.1/src/pybind11/include/pybind11/eigen/matrix.h +0 -714
- pytetwild-0.1.1/src/pybind11/include/pybind11/eigen/tensor.h +0 -516
- pytetwild-0.1.1/src/pybind11/include/pybind11/eigen.h +0 -12
- pytetwild-0.1.1/src/pybind11/include/pybind11/embed.h +0 -316
- pytetwild-0.1.1/src/pybind11/include/pybind11/eval.h +0 -156
- pytetwild-0.1.1/src/pybind11/include/pybind11/functional.h +0 -137
- pytetwild-0.1.1/src/pybind11/include/pybind11/gil.h +0 -247
- pytetwild-0.1.1/src/pybind11/include/pybind11/gil_safe_call_once.h +0 -91
- pytetwild-0.1.1/src/pybind11/include/pybind11/iostream.h +0 -265
- pytetwild-0.1.1/src/pybind11/include/pybind11/numpy.h +0 -2020
- pytetwild-0.1.1/src/pybind11/include/pybind11/operators.h +0 -202
- pytetwild-0.1.1/src/pybind11/include/pybind11/options.h +0 -92
- pytetwild-0.1.1/src/pybind11/include/pybind11/pybind11.h +0 -2942
- pytetwild-0.1.1/src/pybind11/include/pybind11/pytypes.h +0 -2573
- pytetwild-0.1.1/src/pybind11/include/pybind11/stl/filesystem.h +0 -116
- pytetwild-0.1.1/src/pybind11/include/pybind11/stl.h +0 -447
- pytetwild-0.1.1/src/pybind11/include/pybind11/stl_bind.h +0 -823
- pytetwild-0.1.1/src/pybind11/include/pybind11/type_caster_pyobject_ptr.h +0 -61
- pytetwild-0.1.1/src/pybind11/include/pybind11/typing.h +0 -117
- pytetwild-0.1.1/src/pybind11/noxfile.py +0 -107
- pytetwild-0.1.1/src/pybind11/pybind11/__init__.py +0 -17
- pytetwild-0.1.1/src/pybind11/pybind11/__main__.py +0 -62
- pytetwild-0.1.1/src/pybind11/pybind11/_version.py +0 -12
- pytetwild-0.1.1/src/pybind11/pybind11/commands.py +0 -37
- pytetwild-0.1.1/src/pybind11/pybind11/py.typed +0 -0
- pytetwild-0.1.1/src/pybind11/pybind11/setup_helpers.py +0 -500
- pytetwild-0.1.1/src/pybind11/pyproject.toml +0 -95
- pytetwild-0.1.1/src/pybind11/setup.cfg +0 -43
- pytetwild-0.1.1/src/pybind11/setup.py +0 -150
- pytetwild-0.1.1/src/pybind11/tests/CMakeLists.txt +0 -585
- pytetwild-0.1.1/src/pybind11/tests/conftest.py +0 -221
- pytetwild-0.1.1/src/pybind11/tests/constructor_stats.h +0 -322
- pytetwild-0.1.1/src/pybind11/tests/cross_module_gil_utils.cpp +0 -108
- pytetwild-0.1.1/src/pybind11/tests/cross_module_interleaved_error_already_set.cpp +0 -51
- pytetwild-0.1.1/src/pybind11/tests/eigen_tensor_avoid_stl_array.cpp +0 -14
- pytetwild-0.1.1/src/pybind11/tests/env.py +0 -27
- pytetwild-0.1.1/src/pybind11/tests/extra_python_package/pytest.ini +0 -0
- pytetwild-0.1.1/src/pybind11/tests/extra_python_package/test_files.py +0 -293
- pytetwild-0.1.1/src/pybind11/tests/extra_setuptools/pytest.ini +0 -0
- pytetwild-0.1.1/src/pybind11/tests/extra_setuptools/test_setuphelper.py +0 -151
- pytetwild-0.1.1/src/pybind11/tests/local_bindings.h +0 -92
- pytetwild-0.1.1/src/pybind11/tests/object.h +0 -205
- pytetwild-0.1.1/src/pybind11/tests/pybind11_cross_module_tests.cpp +0 -149
- pytetwild-0.1.1/src/pybind11/tests/pybind11_tests.cpp +0 -123
- pytetwild-0.1.1/src/pybind11/tests/pybind11_tests.h +0 -85
- pytetwild-0.1.1/src/pybind11/tests/pytest.ini +0 -22
- pytetwild-0.1.1/src/pybind11/tests/requirements.txt +0 -15
- pytetwild-0.1.1/src/pybind11/tests/test_async.cpp +0 -25
- pytetwild-0.1.1/src/pybind11/tests/test_async.py +0 -24
- pytetwild-0.1.1/src/pybind11/tests/test_buffers.cpp +0 -259
- pytetwild-0.1.1/src/pybind11/tests/test_buffers.py +0 -228
- pytetwild-0.1.1/src/pybind11/tests/test_builtin_casters.cpp +0 -392
- pytetwild-0.1.1/src/pybind11/tests/test_builtin_casters.py +0 -528
- pytetwild-0.1.1/src/pybind11/tests/test_call_policies.cpp +0 -115
- pytetwild-0.1.1/src/pybind11/tests/test_call_policies.py +0 -247
- pytetwild-0.1.1/src/pybind11/tests/test_callbacks.cpp +0 -280
- pytetwild-0.1.1/src/pybind11/tests/test_callbacks.py +0 -225
- pytetwild-0.1.1/src/pybind11/tests/test_chrono.cpp +0 -81
- pytetwild-0.1.1/src/pybind11/tests/test_chrono.py +0 -205
- pytetwild-0.1.1/src/pybind11/tests/test_class.cpp +0 -657
- pytetwild-0.1.1/src/pybind11/tests/test_class.py +0 -499
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -80
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/embed.cpp +0 -23
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -28
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -39
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -46
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/main.cpp +0 -6
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -47
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -41
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -47
- pytetwild-0.1.1/src/pybind11/tests/test_cmake_build/test.py +0 -8
- pytetwild-0.1.1/src/pybind11/tests/test_const_name.cpp +0 -55
- pytetwild-0.1.1/src/pybind11/tests/test_const_name.py +0 -29
- pytetwild-0.1.1/src/pybind11/tests/test_constants_and_functions.cpp +0 -154
- pytetwild-0.1.1/src/pybind11/tests/test_constants_and_functions.py +0 -56
- pytetwild-0.1.1/src/pybind11/tests/test_copy_move.cpp +0 -533
- pytetwild-0.1.1/src/pybind11/tests/test_copy_move.py +0 -132
- pytetwild-0.1.1/src/pybind11/tests/test_custom_type_casters.cpp +0 -209
- pytetwild-0.1.1/src/pybind11/tests/test_custom_type_casters.py +0 -122
- pytetwild-0.1.1/src/pybind11/tests/test_custom_type_setup.cpp +0 -41
- pytetwild-0.1.1/src/pybind11/tests/test_custom_type_setup.py +0 -48
- pytetwild-0.1.1/src/pybind11/tests/test_docstring_options.cpp +0 -141
- pytetwild-0.1.1/src/pybind11/tests/test_docstring_options.py +0 -64
- pytetwild-0.1.1/src/pybind11/tests/test_eigen_matrix.cpp +0 -445
- pytetwild-0.1.1/src/pybind11/tests/test_eigen_matrix.py +0 -812
- pytetwild-0.1.1/src/pybind11/tests/test_eigen_tensor.cpp +0 -18
- pytetwild-0.1.1/src/pybind11/tests/test_eigen_tensor.inl +0 -333
- pytetwild-0.1.1/src/pybind11/tests/test_eigen_tensor.py +0 -288
- pytetwild-0.1.1/src/pybind11/tests/test_embed/CMakeLists.txt +0 -47
- pytetwild-0.1.1/src/pybind11/tests/test_embed/catch.cpp +0 -43
- pytetwild-0.1.1/src/pybind11/tests/test_embed/external_module.cpp +0 -20
- pytetwild-0.1.1/src/pybind11/tests/test_embed/test_interpreter.cpp +0 -488
- pytetwild-0.1.1/src/pybind11/tests/test_embed/test_interpreter.py +0 -14
- pytetwild-0.1.1/src/pybind11/tests/test_embed/test_trampoline.py +0 -16
- pytetwild-0.1.1/src/pybind11/tests/test_enum.cpp +0 -133
- pytetwild-0.1.1/src/pybind11/tests/test_enum.py +0 -269
- pytetwild-0.1.1/src/pybind11/tests/test_eval.cpp +0 -118
- pytetwild-0.1.1/src/pybind11/tests/test_eval.py +0 -50
- pytetwild-0.1.1/src/pybind11/tests/test_eval_call.py +0 -4
- pytetwild-0.1.1/src/pybind11/tests/test_exceptions.cpp +0 -385
- pytetwild-0.1.1/src/pybind11/tests/test_exceptions.h +0 -13
- pytetwild-0.1.1/src/pybind11/tests/test_exceptions.py +0 -421
- pytetwild-0.1.1/src/pybind11/tests/test_factory_constructors.cpp +0 -430
- pytetwild-0.1.1/src/pybind11/tests/test_factory_constructors.py +0 -516
- pytetwild-0.1.1/src/pybind11/tests/test_gil_scoped.cpp +0 -144
- pytetwild-0.1.1/src/pybind11/tests/test_gil_scoped.py +0 -242
- pytetwild-0.1.1/src/pybind11/tests/test_iostream.cpp +0 -126
- pytetwild-0.1.1/src/pybind11/tests/test_iostream.py +0 -291
- pytetwild-0.1.1/src/pybind11/tests/test_kwargs_and_defaults.cpp +0 -327
- pytetwild-0.1.1/src/pybind11/tests/test_kwargs_and_defaults.py +0 -425
- pytetwild-0.1.1/src/pybind11/tests/test_local_bindings.cpp +0 -106
- pytetwild-0.1.1/src/pybind11/tests/test_local_bindings.py +0 -257
- pytetwild-0.1.1/src/pybind11/tests/test_methods_and_attributes.cpp +0 -493
- pytetwild-0.1.1/src/pybind11/tests/test_methods_and_attributes.py +0 -537
- pytetwild-0.1.1/src/pybind11/tests/test_modules.cpp +0 -125
- pytetwild-0.1.1/src/pybind11/tests/test_modules.py +0 -116
- pytetwild-0.1.1/src/pybind11/tests/test_multiple_inheritance.cpp +0 -341
- pytetwild-0.1.1/src/pybind11/tests/test_multiple_inheritance.py +0 -493
- pytetwild-0.1.1/src/pybind11/tests/test_numpy_array.cpp +0 -552
- pytetwild-0.1.1/src/pybind11/tests/test_numpy_array.py +0 -668
- pytetwild-0.1.1/src/pybind11/tests/test_numpy_dtypes.cpp +0 -614
- pytetwild-0.1.1/src/pybind11/tests/test_numpy_dtypes.py +0 -440
- pytetwild-0.1.1/src/pybind11/tests/test_numpy_vectorize.cpp +0 -107
- pytetwild-0.1.1/src/pybind11/tests/test_numpy_vectorize.py +0 -266
- pytetwild-0.1.1/src/pybind11/tests/test_opaque_types.cpp +0 -77
- pytetwild-0.1.1/src/pybind11/tests/test_opaque_types.py +0 -58
- pytetwild-0.1.1/src/pybind11/tests/test_operator_overloading.cpp +0 -281
- pytetwild-0.1.1/src/pybind11/tests/test_operator_overloading.py +0 -151
- pytetwild-0.1.1/src/pybind11/tests/test_pickling.cpp +0 -194
- pytetwild-0.1.1/src/pybind11/tests/test_pickling.py +0 -93
- pytetwild-0.1.1/src/pybind11/tests/test_python_multiple_inheritance.cpp +0 -45
- pytetwild-0.1.1/src/pybind11/tests/test_python_multiple_inheritance.py +0 -35
- pytetwild-0.1.1/src/pybind11/tests/test_pytypes.cpp +0 -835
- pytetwild-0.1.1/src/pybind11/tests/test_pytypes.py +0 -947
- pytetwild-0.1.1/src/pybind11/tests/test_sequences_and_iterators.cpp +0 -600
- pytetwild-0.1.1/src/pybind11/tests/test_sequences_and_iterators.py +0 -265
- pytetwild-0.1.1/src/pybind11/tests/test_smart_ptr.cpp +0 -473
- pytetwild-0.1.1/src/pybind11/tests/test_smart_ptr.py +0 -315
- pytetwild-0.1.1/src/pybind11/tests/test_stl.cpp +0 -551
- pytetwild-0.1.1/src/pybind11/tests/test_stl.py +0 -381
- pytetwild-0.1.1/src/pybind11/tests/test_stl_binders.cpp +0 -276
- pytetwild-0.1.1/src/pybind11/tests/test_stl_binders.py +0 -393
- pytetwild-0.1.1/src/pybind11/tests/test_tagbased_polymorphic.cpp +0 -147
- pytetwild-0.1.1/src/pybind11/tests/test_tagbased_polymorphic.py +0 -28
- pytetwild-0.1.1/src/pybind11/tests/test_thread.cpp +0 -66
- pytetwild-0.1.1/src/pybind11/tests/test_thread.py +0 -42
- pytetwild-0.1.1/src/pybind11/tests/test_type_caster_pyobject_ptr.cpp +0 -130
- pytetwild-0.1.1/src/pybind11/tests/test_type_caster_pyobject_ptr.py +0 -104
- pytetwild-0.1.1/src/pybind11/tests/test_union.cpp +0 -22
- pytetwild-0.1.1/src/pybind11/tests/test_union.py +0 -8
- pytetwild-0.1.1/src/pybind11/tests/test_unnamed_namespace_a.cpp +0 -38
- pytetwild-0.1.1/src/pybind11/tests/test_unnamed_namespace_a.py +0 -34
- pytetwild-0.1.1/src/pybind11/tests/test_unnamed_namespace_b.cpp +0 -13
- pytetwild-0.1.1/src/pybind11/tests/test_unnamed_namespace_b.py +0 -5
- pytetwild-0.1.1/src/pybind11/tests/test_vector_unique_ptr_member.cpp +0 -54
- pytetwild-0.1.1/src/pybind11/tests/test_vector_unique_ptr_member.py +0 -14
- pytetwild-0.1.1/src/pybind11/tests/test_virtual_functions.cpp +0 -592
- pytetwild-0.1.1/src/pybind11/tests/test_virtual_functions.py +0 -458
- pytetwild-0.1.1/src/pybind11/tests/valgrind-numpy-scipy.supp +0 -140
- pytetwild-0.1.1/src/pybind11/tests/valgrind-python.supp +0 -117
- pytetwild-0.1.1/src/pybind11/tools/FindCatch.cmake +0 -76
- pytetwild-0.1.1/src/pybind11/tools/FindEigen3.cmake +0 -86
- pytetwild-0.1.1/src/pybind11/tools/FindPythonLibsNew.cmake +0 -310
- pytetwild-0.1.1/src/pybind11/tools/JoinPaths.cmake +0 -23
- pytetwild-0.1.1/src/pybind11/tools/check-style.sh +0 -44
- pytetwild-0.1.1/src/pybind11/tools/cmake_uninstall.cmake.in +0 -23
- pytetwild-0.1.1/src/pybind11/tools/codespell_ignore_lines_from_errors.py +0 -39
- pytetwild-0.1.1/src/pybind11/tools/libsize.py +0 -36
- pytetwild-0.1.1/src/pybind11/tools/make_changelog.py +0 -88
- pytetwild-0.1.1/src/pybind11/tools/pybind11.pc.in +0 -7
- pytetwild-0.1.1/src/pybind11/tools/pybind11Common.cmake +0 -415
- pytetwild-0.1.1/src/pybind11/tools/pybind11Config.cmake.in +0 -233
- pytetwild-0.1.1/src/pybind11/tools/pybind11NewTools.cmake +0 -311
- pytetwild-0.1.1/src/pybind11/tools/pybind11Tools.cmake +0 -239
- pytetwild-0.1.1/src/pybind11/tools/pyproject.toml +0 -3
- pytetwild-0.1.1/src/pybind11/tools/setup_global.py.in +0 -63
- pytetwild-0.1.1/src/pybind11/tools/setup_main.py.in +0 -44
- pytetwild-0.1.1/src/pytetwild/pytetwild.py +0 -198
- pytetwild-0.1.1/tests/test_data/csgtree.json +0 -1
- {pytetwild-0.1.1 → pytetwild-0.2.0}/.gitmodules +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/CONTRIBUTING.md +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/LICENSE +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/.clang-format +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/.github/workflows/continuous.yml +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/.gitignore +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/.travis.yml +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/CMakeLists.txt +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/LICENSE.MPL2 +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/README.md +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/DownloadProject.CMakeLists.cmake.in +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/DownloadProject.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/FindGMPfTetWild.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/FindMPFR.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/FloatTetwildDependencies.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/FloatTetwildUtils.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/PrependCurrentPath.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/UseColors.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/Warnings.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/cmake/geogram.cmake +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/figs/1k.jpg +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/python/generate-table-code.py +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/python/plot-tet.py +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/python/save_all_confs.py +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/replicability_instructions.htm +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/AABBWrapper.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/AABBWrapper.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/CMakeLists.txt +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/CSGTreeParser.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/CSGTreeParser.hpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/CutMesh.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/CutMesh.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/EdgeCollapsing.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/EdgeCollapsing.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/EdgeSplitting.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/EdgeSplitting.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/EdgeSwapping.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/EdgeSwapping.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/FloatTetDelaunay.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/FloatTetDelaunay.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/FloatTetwild.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/FloatTetwild.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/LocalOperations.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/LocalOperations.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Logger.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Logger.hpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Mesh.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Mesh.hpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/MeshIO.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/MeshIO.hpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/MeshImprovement.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Parameters.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Simplification.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Simplification.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Statistics.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/TriangleInsertion.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/TriangleInsertion.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/Types.hpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/VertexSmoothing.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/VertexSmoothing.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/auto_table.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/auto_table.hpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/Exception.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/MshLoader.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/MshLoader.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/MshSaver.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/MshSaver.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/Predicates.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/Predicates.hpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/Rational.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/bfs_orient.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/bfs_orient.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/getRSS.c +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/get_mem.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/get_mem.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/mesh_AABB.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/mesh_AABB.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/predicates.c +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/triangle_triangle_intersection.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/external/triangle_triangle_intersection_old.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/intersections.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/src/intersections.h +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/tests/CMakeLists.txt +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/tests/bunny.off +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/tests/main.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/tests/test_predicates.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/tests/test_subdivision.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/tests/test_table.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/tests/test_tree.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/fTetWild/tests/tests.cpp +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/pytetwild/__init__.py +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/pytetwild/_version.py +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/src/pytetwild/py.typed +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/tests/test_data/box.stl +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/tests/test_data/sphere.stl +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/tests/test_data/test_surf.ply +0 -0
- {pytetwild-0.1.1 → pytetwild-0.2.0}/tests/test_data/test_tets.msh +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
# We'll use defaults from the LLVM style, but with 4 columns indentation.
|
|
3
|
+
BasedOnStyle: LLVM
|
|
4
|
+
IndentWidth: 4
|
|
5
|
+
---
|
|
6
|
+
Language: Cpp
|
|
7
|
+
# Force pointers to the type for C++.
|
|
8
|
+
DerivePointerAlignment: false
|
|
9
|
+
PointerAlignment: Right
|
|
10
|
+
ColumnLimit: 94
|
|
11
|
+
AlignAfterOpenBracket: AlwaysBreak
|
|
12
|
+
BinPackArguments: false
|
|
13
|
+
BinPackParameters: false
|
|
@@ -4,7 +4,7 @@ on:
|
|
|
4
4
|
pull_request:
|
|
5
5
|
push:
|
|
6
6
|
tags:
|
|
7
|
-
- "*"
|
|
7
|
+
- "v*"
|
|
8
8
|
branches:
|
|
9
9
|
- "main"
|
|
10
10
|
|
|
@@ -19,16 +19,16 @@ jobs:
|
|
|
19
19
|
strategy:
|
|
20
20
|
fail-fast: false
|
|
21
21
|
matrix:
|
|
22
|
-
os: [ubuntu-
|
|
22
|
+
os: [ubuntu-24.04, windows-2025, macos-latest, macos-15-intel]
|
|
23
23
|
|
|
24
24
|
steps:
|
|
25
|
-
- uses: actions/checkout@
|
|
25
|
+
- uses: actions/checkout@v6
|
|
26
26
|
with:
|
|
27
27
|
submodules: true
|
|
28
28
|
|
|
29
29
|
- name: Setup Miniconda (Windows)
|
|
30
30
|
if: runner.os == 'Windows'
|
|
31
|
-
uses: conda-incubator/setup-miniconda@v3.
|
|
31
|
+
uses: conda-incubator/setup-miniconda@v3.3.0
|
|
32
32
|
|
|
33
33
|
- name: Install Dependencies (Windows)
|
|
34
34
|
if: runner.os == 'Windows'
|
|
@@ -43,7 +43,7 @@ jobs:
|
|
|
43
43
|
echo "GMP_LIB=C:\Miniconda\envs\test\Library\lib" >> ${env:GITHUB_ENV}
|
|
44
44
|
|
|
45
45
|
- name: Build wheels
|
|
46
|
-
uses: pypa/cibuildwheel@v3.3.
|
|
46
|
+
uses: pypa/cibuildwheel@v3.3.1
|
|
47
47
|
env:
|
|
48
48
|
CIBW_ENVIRONMENT_MACOS: 'MACOSX_DEPLOYMENT_TARGET="15.0"'
|
|
49
49
|
CIBW_ARCHS_MACOS: "auto"
|
|
@@ -51,16 +51,50 @@ jobs:
|
|
|
51
51
|
- name: List generated wheels
|
|
52
52
|
run: ls ./wheelhouse/*
|
|
53
53
|
|
|
54
|
-
- uses: actions/upload-artifact@
|
|
54
|
+
- uses: actions/upload-artifact@v6
|
|
55
55
|
with:
|
|
56
56
|
path: ./wheelhouse/*.whl
|
|
57
|
-
name: pytetwild-
|
|
57
|
+
name: pytetwild-wheels-${{ matrix.os }}
|
|
58
|
+
|
|
59
|
+
test_abi3:
|
|
60
|
+
name: Test ABI3 wheels
|
|
61
|
+
needs: build_wheels
|
|
62
|
+
runs-on: ${{ matrix.os }}
|
|
63
|
+
strategy:
|
|
64
|
+
fail-fast: false
|
|
65
|
+
matrix:
|
|
66
|
+
python-version: ['3.13'] # , '3.14'] # skip 3.14 testing until vtk 9.6 is released
|
|
67
|
+
os: [ubuntu-24.04, windows-2025, macos-15-intel] # must match build_wheels os
|
|
68
|
+
steps:
|
|
69
|
+
- uses: actions/checkout@v6
|
|
70
|
+
- uses: actions/setup-python@v6
|
|
71
|
+
with:
|
|
72
|
+
python-version: ${{ matrix.python-version }}
|
|
73
|
+
- uses: actions/download-artifact@v7
|
|
74
|
+
with:
|
|
75
|
+
pattern: pytetwild-wheels-${{ matrix.os }}
|
|
76
|
+
path: wheels/
|
|
77
|
+
- name: Find ABI3 wheel
|
|
78
|
+
id: find_wheel
|
|
79
|
+
shell: bash
|
|
80
|
+
run: |
|
|
81
|
+
WHEEL=$(ls wheels/*abi3*.whl | head -n 1)
|
|
82
|
+
echo "wheel=$WHEEL" >> "$GITHUB_OUTPUT"
|
|
83
|
+
- name: Install wheel
|
|
84
|
+
run: pip install "${{ steps.find_wheel.outputs.wheel }}"
|
|
85
|
+
- name: Install test dependencies from source
|
|
86
|
+
run: |
|
|
87
|
+
pip install tomli
|
|
88
|
+
python tools/extract-deps.py
|
|
89
|
+
pip install -r requirements-tests.txt
|
|
90
|
+
- name: Run tests
|
|
91
|
+
run: pytest
|
|
58
92
|
|
|
59
93
|
build_sdist:
|
|
60
94
|
name: Build source distribution
|
|
61
95
|
runs-on: ubuntu-latest
|
|
62
96
|
steps:
|
|
63
|
-
- uses: actions/checkout@
|
|
97
|
+
- uses: actions/checkout@v6
|
|
64
98
|
with:
|
|
65
99
|
submodules: true
|
|
66
100
|
|
|
@@ -88,12 +122,12 @@ jobs:
|
|
|
88
122
|
- name: Install from dist/
|
|
89
123
|
run: |
|
|
90
124
|
sdist_file=$(ls dist/*.tar.gz)
|
|
91
|
-
pip install "$sdist_file[
|
|
125
|
+
pip install "$sdist_file[tests]"
|
|
92
126
|
|
|
93
127
|
- name: Test
|
|
94
128
|
run: pytest -vv
|
|
95
129
|
|
|
96
|
-
- uses: actions/upload-artifact@
|
|
130
|
+
- uses: actions/upload-artifact@v6
|
|
97
131
|
with:
|
|
98
132
|
path: dist/*.tar.gz
|
|
99
133
|
name: pytetwild-sdist
|
|
@@ -109,7 +143,7 @@ jobs:
|
|
|
109
143
|
permissions:
|
|
110
144
|
id-token: write # this permission is mandatory for trusted publishing
|
|
111
145
|
steps:
|
|
112
|
-
- uses: actions/download-artifact@
|
|
146
|
+
- uses: actions/download-artifact@v7
|
|
113
147
|
- name: Flatten directory structure
|
|
114
148
|
run: |
|
|
115
149
|
mkdir -p dist/
|
|
@@ -118,7 +152,7 @@ jobs:
|
|
|
118
152
|
- name: Publish package distributions to PyPI
|
|
119
153
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
120
154
|
- name: Create GitHub Release
|
|
121
|
-
uses: softprops/action-gh-release@
|
|
155
|
+
uses: softprops/action-gh-release@v2
|
|
122
156
|
with:
|
|
123
157
|
generate_release_notes: true
|
|
124
158
|
files: |
|
|
@@ -77,6 +77,21 @@ Release/
|
|
|
77
77
|
mpir.dll
|
|
78
78
|
_deps
|
|
79
79
|
appleclang*
|
|
80
|
+
gnu_14.3_cxx17_64_release/
|
|
81
|
+
src/GPATH
|
|
82
|
+
src/GRTAGS
|
|
83
|
+
src/GTAGS
|
|
84
|
+
.clangd
|
|
85
|
+
libnanobind-static-abi3.a
|
|
80
86
|
|
|
81
87
|
# cibuildwheel
|
|
82
|
-
wheelhouse
|
|
88
|
+
wheelhouse
|
|
89
|
+
|
|
90
|
+
# test and temp files
|
|
91
|
+
tests/test_data/csgtree.json
|
|
92
|
+
__b_vs.xyz
|
|
93
|
+
__cutting.stl
|
|
94
|
+
__opt.stl
|
|
95
|
+
|
|
96
|
+
# nixos
|
|
97
|
+
shell.nix
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
repos:
|
|
2
2
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
3
|
-
rev: v0.14.
|
|
3
|
+
rev: v0.14.14
|
|
4
4
|
hooks:
|
|
5
5
|
- id: ruff
|
|
6
6
|
args: [--fix, --exit-non-zero-on-fix]
|
|
@@ -8,13 +8,13 @@ repos:
|
|
|
8
8
|
- id: ruff-format
|
|
9
9
|
|
|
10
10
|
- repo: https://github.com/keewis/blackdoc
|
|
11
|
-
rev: v0.4.
|
|
11
|
+
rev: v0.4.6
|
|
12
12
|
hooks:
|
|
13
13
|
- id: blackdoc
|
|
14
14
|
exclude: README.rst
|
|
15
15
|
|
|
16
16
|
- repo: https://github.com/numpy/numpydoc
|
|
17
|
-
rev: v1.
|
|
17
|
+
rev: v1.10.0
|
|
18
18
|
hooks:
|
|
19
19
|
- id: numpydoc-validation
|
|
20
20
|
files: ^src/pytetwild
|
|
@@ -40,7 +40,7 @@ repos:
|
|
|
40
40
|
- id: trailing-whitespace
|
|
41
41
|
|
|
42
42
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
43
|
-
rev: v21.1.
|
|
43
|
+
rev: v21.1.8
|
|
44
44
|
hooks:
|
|
45
45
|
- id: clang-format
|
|
46
46
|
files: |
|
|
@@ -49,18 +49,16 @@ repos:
|
|
|
49
49
|
)$
|
|
50
50
|
|
|
51
51
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
52
|
-
rev: v1.
|
|
52
|
+
rev: v1.19.1
|
|
53
53
|
hooks:
|
|
54
54
|
- id: mypy
|
|
55
55
|
exclude: ^(docs/|tests)
|
|
56
56
|
additional_dependencies: [
|
|
57
|
-
"mypy-extensions==1.0.0",
|
|
58
57
|
"toml==0.10.2",
|
|
59
|
-
"npt_promote",
|
|
60
58
|
"numpy",
|
|
61
59
|
]
|
|
62
60
|
|
|
63
61
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
64
|
-
rev: 0.
|
|
62
|
+
rev: 0.36.1
|
|
65
63
|
hooks:
|
|
66
64
|
- id: check-github-workflows
|
|
@@ -1,25 +1,35 @@
|
|
|
1
1
|
cmake_minimum_required(VERSION 3.15...3.26)
|
|
2
|
-
project(
|
|
3
|
-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ./src/pytetwild)
|
|
2
|
+
project(fTetWildWrapper_project LANGUAGES CXX)
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
find_package(Python 3.10
|
|
5
|
+
REQUIRED COMPONENTS Interpreter Development.Module
|
|
6
|
+
OPTIONAL_COMPONENTS Development.SABIModule)
|
|
7
|
+
find_package(nanobind CONFIG REQUIRED)
|
|
8
|
+
|
|
9
|
+
nanobind_add_module(
|
|
10
|
+
# name of the extension
|
|
11
|
+
PyfTetWildWrapper
|
|
12
|
+
|
|
13
|
+
# Target the stable ABI for Python 3.12+, which reduces
|
|
14
|
+
# the number of binary wheels that must be built. This
|
|
15
|
+
# does nothing on older Python versions
|
|
16
|
+
STABLE_ABI
|
|
17
|
+
|
|
18
|
+
src/FTetWildWrapper.cpp
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ./src/pytetwild)
|
|
9
22
|
|
|
10
23
|
# Set the path to the fTetWild project
|
|
11
24
|
set(fTetWild_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/fTetWild")
|
|
12
25
|
|
|
13
|
-
#
|
|
14
|
-
set(
|
|
15
|
-
set(
|
|
16
|
-
add_subdirectory(${pybind11_DIR})
|
|
26
|
+
# Enable aggressive optimization
|
|
27
|
+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
|
28
|
+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
|
|
17
29
|
|
|
18
30
|
# Include the fTetWild project as a subdirectory
|
|
19
31
|
add_subdirectory(${fTetWild_DIR} EXCLUDE_FROM_ALL)
|
|
20
32
|
|
|
21
|
-
pybind11_add_module(PyfTetWildWrapper MODULE "${CMAKE_CURRENT_SOURCE_DIR}/src/FTetWildWrapper.cpp")
|
|
22
|
-
|
|
23
33
|
# Include directories from fTetWild required for the wrapper
|
|
24
34
|
target_include_directories(PyfTetWildWrapper PUBLIC ${fTetWild_DIR}/src)
|
|
25
35
|
|
|
@@ -27,6 +37,7 @@ target_include_directories(PyfTetWildWrapper PUBLIC ${fTetWild_DIR}/src)
|
|
|
27
37
|
target_link_libraries(PyfTetWildWrapper PRIVATE FloatTetwild)
|
|
28
38
|
target_compile_features(PyfTetWildWrapper PUBLIC cxx_std_11)
|
|
29
39
|
|
|
40
|
+
# still necessary?
|
|
30
41
|
if(WIN32)
|
|
31
42
|
set_target_properties(PyfTetWildWrapper PROPERTIES SUFFIX ".pyd")
|
|
32
43
|
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
|
|
@@ -38,4 +49,4 @@ if(WIN32)
|
|
|
38
49
|
endforeach()
|
|
39
50
|
endif()
|
|
40
51
|
|
|
41
|
-
install(TARGETS PyfTetWildWrapper LIBRARY DESTINATION
|
|
52
|
+
install(TARGETS PyfTetWildWrapper LIBRARY DESTINATION pytetwild)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: pytetwild
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Python wrapper of fTetWild
|
|
5
5
|
Author-Email: Alex Kaszynski <akascap@gmail.com>
|
|
6
6
|
Classifier: Development Status :: 3 - Alpha
|
|
@@ -14,15 +14,18 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
18
|
+
Requires-Python: <3.15,>=3.10
|
|
17
19
|
Requires-Dist: numpy
|
|
18
20
|
Provides-Extra: all
|
|
19
21
|
Requires-Dist: pyvista; extra == "all"
|
|
22
|
+
Provides-Extra: tests
|
|
23
|
+
Requires-Dist: pytest; extra == "tests"
|
|
24
|
+
Requires-Dist: pyvista; extra == "tests"
|
|
25
|
+
Requires-Dist: scipy; extra == "tests"
|
|
26
|
+
Requires-Dist: meshio; extra == "tests"
|
|
20
27
|
Provides-Extra: dev
|
|
21
|
-
Requires-Dist: pytest; extra == "dev"
|
|
22
28
|
Requires-Dist: pre-commit; extra == "dev"
|
|
23
|
-
Requires-Dist: pyvista; extra == "dev"
|
|
24
|
-
Requires-Dist: scipy; extra == "dev"
|
|
25
|
-
Requires-Dist: meshio; extra == "dev"
|
|
26
29
|
Description-Content-Type: text/x-rst
|
|
27
30
|
|
|
28
31
|
pytetwild
|
|
@@ -44,13 +47,17 @@ Python wrapper around the efficient C++ library for tetrahedral meshing provided
|
|
|
44
47
|
Installation
|
|
45
48
|
************
|
|
46
49
|
|
|
47
|
-
We have pre-built wheels for Python 3.
|
|
50
|
+
We have pre-built wheels for Python 3.10 - Python 3.14 for Windows, Linux, and macOS.
|
|
48
51
|
|
|
49
52
|
The recommended way to install ``pytetwild`` is via PyPI:
|
|
50
53
|
|
|
51
54
|
.. code:: sh
|
|
52
55
|
|
|
53
|
-
pip install pytetwild
|
|
56
|
+
pip install pytetwild[all]
|
|
57
|
+
|
|
58
|
+
This installs ``pyvista`` by default, which you can use to tetrahedralize
|
|
59
|
+
sufrace meshes from PyVista. Alternatively you can just install with ``pip
|
|
60
|
+
install pytetwild`` for a lighter install.
|
|
54
61
|
|
|
55
62
|
You can also clone the repository and install it from source, but since there's
|
|
56
63
|
C++ involved, the build is a bit more complicated. See ``CONTRIBUTING.md`` for
|
|
@@ -60,7 +67,8 @@ more details.
|
|
|
60
67
|
Usage
|
|
61
68
|
*****
|
|
62
69
|
|
|
63
|
-
To tetrahedralize a surface mesh from `PyVista <https://docs.pyvista.org>`_
|
|
70
|
+
To tetrahedralize a surface mesh from `PyVista <https://docs.pyvista.org>`_,
|
|
71
|
+
you'll need to first install ``pyvista`` as it's not a dependency and then run:
|
|
64
72
|
|
|
65
73
|
.. code:: py
|
|
66
74
|
|
|
@@ -76,7 +84,10 @@ To tetrahedralize a surface mesh from `PyVista <https://docs.pyvista.org>`_:
|
|
|
76
84
|
tetrahedral_mesh = pytetwild.tetrahedralize_pv(surface_mesh, edge_length_fac=1)
|
|
77
85
|
|
|
78
86
|
# Visualize the tetrahedral mesh in an "exploded" view
|
|
79
|
-
tetrahedral_mesh.explode(
|
|
87
|
+
tetrahedral_mesh.explode(0.5).plot(
|
|
88
|
+
show_edges=True, zoom=1.6, ssao=True, anti_aliasing="ssaa"
|
|
89
|
+
)
|
|
90
|
+
|
|
80
91
|
|
|
81
92
|
.. image:: https://github.com/pyvista/pytetwild/raw/main/exploded-sphere.png
|
|
82
93
|
|
|
@@ -85,6 +96,7 @@ You can also work with raw arrays. Here's a simple cube that we turn into tetrah
|
|
|
85
96
|
.. code:: py
|
|
86
97
|
|
|
87
98
|
import numpy as np
|
|
99
|
+
import pytetwild
|
|
88
100
|
|
|
89
101
|
# Define vertices of the cube
|
|
90
102
|
vertices = np.array([
|
|
@@ -113,25 +125,49 @@ You can also work with raw arrays. Here's a simple cube that we turn into tetrah
|
|
|
113
125
|
|
|
114
126
|
Usage - Options
|
|
115
127
|
---------------
|
|
116
|
-
We've surfaced a
|
|
117
|
-
``tetrahedralize`` and ``tetrahedralize_pv
|
|
128
|
+
We've surfaced a several parameters to each of our interfaces
|
|
129
|
+
``tetrahedralize`` and ``tetrahedralize_pv``:
|
|
118
130
|
|
|
119
131
|
.. code::
|
|
120
132
|
|
|
121
|
-
|
|
122
|
-
|
|
133
|
+
Parameters
|
|
134
|
+
----------
|
|
123
135
|
edge_length_fac : float, default: 0.05
|
|
124
136
|
Tetrahedral edge length as a function of bounding box diagonal. The
|
|
125
|
-
default ideal edge length is bb/20 (bounding box divided by
|
|
126
|
-
|
|
137
|
+
default ideal edge length is ``bb/20`` (bounding box divided by
|
|
138
|
+
20). Ignored when ``edge_length_abs`` is input.
|
|
139
|
+
edge_length_abs : float, optional
|
|
140
|
+
Absolute ideal edge length. When input ``edge_length_fac`` is ignored.
|
|
141
|
+
optimize : bool, default: True
|
|
127
142
|
Improve the minimum scaled Jacobean for each cell. This leads to higher
|
|
128
|
-
cell quality at the expense of computation time.
|
|
143
|
+
cell quality at the expense of computation time. Optimization level is
|
|
144
|
+
dependent on ``stop_energy`` and ``num_opt_iter``.
|
|
145
|
+
simplify : bool, default: True
|
|
146
|
+
Simplfiy the input mesh surface before tetrahedralization.
|
|
147
|
+
epsilon : float, default 1e-3
|
|
148
|
+
Envelop size, specifying the maximum distance of the output surface
|
|
149
|
+
from the input surface, relative to the bounding box size.
|
|
150
|
+
stop_energy : float, default: 10.0
|
|
151
|
+
The mesh optimization stops when the conformal AMIPS energy reaches
|
|
152
|
+
``stop_energy``.
|
|
153
|
+
coarsen : bool, default: False
|
|
154
|
+
Coarsen the output as much as possible, while maintaining the mesh
|
|
155
|
+
quality.
|
|
156
|
+
num_threads : int, default: 0
|
|
157
|
+
Set number of threads used. 0 (default) uses all available cores.
|
|
158
|
+
num_opt_iter : int, default: 80
|
|
159
|
+
Maximum number of optimization iterations if ``optimize=True``.
|
|
160
|
+
loglevel : int, default: 6
|
|
161
|
+
Set log level (0 = most verbose, 6 = minimal output).
|
|
162
|
+
quiet : bool, default: False
|
|
163
|
+
Disable all output. Overrides ``loglevel``.
|
|
164
|
+
|
|
129
165
|
|
|
130
166
|
|
|
131
167
|
License and Acknowledgments
|
|
132
168
|
***************************
|
|
133
169
|
|
|
134
|
-
This project relies on ``fTetWild`` and
|
|
170
|
+
This project relies on ``fTetWild`` and credit goes to the original authors for
|
|
135
171
|
their efficient C++ library for tetrahedral meshing. That work is licensed
|
|
136
172
|
under the Mozilla Public License v2.0.
|
|
137
173
|
|
|
@@ -17,13 +17,17 @@ Python wrapper around the efficient C++ library for tetrahedral meshing provided
|
|
|
17
17
|
Installation
|
|
18
18
|
************
|
|
19
19
|
|
|
20
|
-
We have pre-built wheels for Python 3.
|
|
20
|
+
We have pre-built wheels for Python 3.10 - Python 3.14 for Windows, Linux, and macOS.
|
|
21
21
|
|
|
22
22
|
The recommended way to install ``pytetwild`` is via PyPI:
|
|
23
23
|
|
|
24
24
|
.. code:: sh
|
|
25
25
|
|
|
26
|
-
pip install pytetwild
|
|
26
|
+
pip install pytetwild[all]
|
|
27
|
+
|
|
28
|
+
This installs ``pyvista`` by default, which you can use to tetrahedralize
|
|
29
|
+
sufrace meshes from PyVista. Alternatively you can just install with ``pip
|
|
30
|
+
install pytetwild`` for a lighter install.
|
|
27
31
|
|
|
28
32
|
You can also clone the repository and install it from source, but since there's
|
|
29
33
|
C++ involved, the build is a bit more complicated. See ``CONTRIBUTING.md`` for
|
|
@@ -33,7 +37,8 @@ more details.
|
|
|
33
37
|
Usage
|
|
34
38
|
*****
|
|
35
39
|
|
|
36
|
-
To tetrahedralize a surface mesh from `PyVista <https://docs.pyvista.org>`_
|
|
40
|
+
To tetrahedralize a surface mesh from `PyVista <https://docs.pyvista.org>`_,
|
|
41
|
+
you'll need to first install ``pyvista`` as it's not a dependency and then run:
|
|
37
42
|
|
|
38
43
|
.. code:: py
|
|
39
44
|
|
|
@@ -49,7 +54,10 @@ To tetrahedralize a surface mesh from `PyVista <https://docs.pyvista.org>`_:
|
|
|
49
54
|
tetrahedral_mesh = pytetwild.tetrahedralize_pv(surface_mesh, edge_length_fac=1)
|
|
50
55
|
|
|
51
56
|
# Visualize the tetrahedral mesh in an "exploded" view
|
|
52
|
-
tetrahedral_mesh.explode(
|
|
57
|
+
tetrahedral_mesh.explode(0.5).plot(
|
|
58
|
+
show_edges=True, zoom=1.6, ssao=True, anti_aliasing="ssaa"
|
|
59
|
+
)
|
|
60
|
+
|
|
53
61
|
|
|
54
62
|
.. image:: https://github.com/pyvista/pytetwild/raw/main/exploded-sphere.png
|
|
55
63
|
|
|
@@ -58,6 +66,7 @@ You can also work with raw arrays. Here's a simple cube that we turn into tetrah
|
|
|
58
66
|
.. code:: py
|
|
59
67
|
|
|
60
68
|
import numpy as np
|
|
69
|
+
import pytetwild
|
|
61
70
|
|
|
62
71
|
# Define vertices of the cube
|
|
63
72
|
vertices = np.array([
|
|
@@ -86,25 +95,49 @@ You can also work with raw arrays. Here's a simple cube that we turn into tetrah
|
|
|
86
95
|
|
|
87
96
|
Usage - Options
|
|
88
97
|
---------------
|
|
89
|
-
We've surfaced a
|
|
90
|
-
``tetrahedralize`` and ``tetrahedralize_pv
|
|
98
|
+
We've surfaced a several parameters to each of our interfaces
|
|
99
|
+
``tetrahedralize`` and ``tetrahedralize_pv``:
|
|
91
100
|
|
|
92
101
|
.. code::
|
|
93
102
|
|
|
94
|
-
|
|
95
|
-
|
|
103
|
+
Parameters
|
|
104
|
+
----------
|
|
96
105
|
edge_length_fac : float, default: 0.05
|
|
97
106
|
Tetrahedral edge length as a function of bounding box diagonal. The
|
|
98
|
-
default ideal edge length is bb/20 (bounding box divided by
|
|
99
|
-
|
|
107
|
+
default ideal edge length is ``bb/20`` (bounding box divided by
|
|
108
|
+
20). Ignored when ``edge_length_abs`` is input.
|
|
109
|
+
edge_length_abs : float, optional
|
|
110
|
+
Absolute ideal edge length. When input ``edge_length_fac`` is ignored.
|
|
111
|
+
optimize : bool, default: True
|
|
100
112
|
Improve the minimum scaled Jacobean for each cell. This leads to higher
|
|
101
|
-
cell quality at the expense of computation time.
|
|
113
|
+
cell quality at the expense of computation time. Optimization level is
|
|
114
|
+
dependent on ``stop_energy`` and ``num_opt_iter``.
|
|
115
|
+
simplify : bool, default: True
|
|
116
|
+
Simplfiy the input mesh surface before tetrahedralization.
|
|
117
|
+
epsilon : float, default 1e-3
|
|
118
|
+
Envelop size, specifying the maximum distance of the output surface
|
|
119
|
+
from the input surface, relative to the bounding box size.
|
|
120
|
+
stop_energy : float, default: 10.0
|
|
121
|
+
The mesh optimization stops when the conformal AMIPS energy reaches
|
|
122
|
+
``stop_energy``.
|
|
123
|
+
coarsen : bool, default: False
|
|
124
|
+
Coarsen the output as much as possible, while maintaining the mesh
|
|
125
|
+
quality.
|
|
126
|
+
num_threads : int, default: 0
|
|
127
|
+
Set number of threads used. 0 (default) uses all available cores.
|
|
128
|
+
num_opt_iter : int, default: 80
|
|
129
|
+
Maximum number of optimization iterations if ``optimize=True``.
|
|
130
|
+
loglevel : int, default: 6
|
|
131
|
+
Set log level (0 = most verbose, 6 = minimal output).
|
|
132
|
+
quiet : bool, default: False
|
|
133
|
+
Disable all output. Overrides ``loglevel``.
|
|
134
|
+
|
|
102
135
|
|
|
103
136
|
|
|
104
137
|
License and Acknowledgments
|
|
105
138
|
***************************
|
|
106
139
|
|
|
107
|
-
This project relies on ``fTetWild`` and
|
|
140
|
+
This project relies on ``fTetWild`` and credit goes to the original authors for
|
|
108
141
|
their efficient C++ library for tetrahedral meshing. That work is licensed
|
|
109
142
|
under the Mozilla Public License v2.0.
|
|
110
143
|
|
|
Binary file
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["scikit-build-core"]
|
|
3
2
|
build-backend = "scikit_build_core.build"
|
|
3
|
+
requires = ["scikit-build-core >=0.4.3", "nanobind >=1.3.2"]
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pytetwild"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.2.0"
|
|
8
8
|
description = "Python wrapper of fTetWild"
|
|
9
9
|
readme = { file = "README.rst", content-type = "text/x-rst" }
|
|
10
10
|
authors = [{ name = "Alex Kaszynski", email = "akascap@gmail.com" }]
|
|
@@ -21,7 +21,9 @@ classifiers = [
|
|
|
21
21
|
'Programming Language :: Python :: 3.11',
|
|
22
22
|
'Programming Language :: Python :: 3.12',
|
|
23
23
|
'Programming Language :: Python :: 3.13',
|
|
24
|
+
'Programming Language :: Python :: 3.14',
|
|
24
25
|
]
|
|
26
|
+
requires-python = ">=3.10,<3.15"
|
|
25
27
|
|
|
26
28
|
[tool.setuptools.packages.find]
|
|
27
29
|
where = ["src"]
|
|
@@ -32,11 +34,13 @@ pytetwild = ["py.typed"]
|
|
|
32
34
|
|
|
33
35
|
[project.optional-dependencies]
|
|
34
36
|
all = ['pyvista']
|
|
35
|
-
|
|
37
|
+
tests = ["pytest", "pyvista", "scipy", "meshio"]
|
|
38
|
+
dev = ["pre-commit"]
|
|
36
39
|
|
|
37
40
|
[tool.scikit-build]
|
|
38
41
|
build-dir = "./build"
|
|
39
42
|
editable.mode = "inplace"
|
|
43
|
+
wheel.py-api = "cp312"
|
|
40
44
|
|
|
41
45
|
[tool.scikit-build.cmake]
|
|
42
46
|
args = [
|
|
@@ -50,25 +54,36 @@ testpaths = 'tests'
|
|
|
50
54
|
|
|
51
55
|
[tool.cibuildwheel]
|
|
52
56
|
archs = ["auto64"] # 64-bit only
|
|
53
|
-
build = "
|
|
54
|
-
|
|
57
|
+
before-build = "pip install abi3audit"
|
|
58
|
+
build = "cp310-* cp311-* cp312-*" # 3.12+ are abi3 wheels
|
|
59
|
+
skip = ["*musllinux*"] # disable musl-based wheels
|
|
55
60
|
test-requires = "pytest pyvista scipy meshio"
|
|
56
61
|
test-command = "pytest {project}/tests -v"
|
|
57
62
|
|
|
58
63
|
[tool.cibuildwheel.linux]
|
|
59
64
|
manylinux-x86_64-image = "manylinux_2_28"
|
|
60
65
|
before-all = "dnf install -y gmp-devel"
|
|
61
|
-
before-build = "pip install cmake==3.29.0"
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
before-build = "pip install abi3audit cmake==3.29.0"
|
|
67
|
+
repair-wheel-command = [
|
|
68
|
+
"auditwheel repair -w {dest_dir} {wheel}",
|
|
69
|
+
"bash tools/audit_wheel.sh {wheel}"
|
|
70
|
+
]
|
|
64
71
|
|
|
65
72
|
[tool.cibuildwheel.macos]
|
|
66
|
-
|
|
73
|
+
archs = ["native"]
|
|
74
|
+
before-build = "pip install cmake==3.29.0 abi3audit"
|
|
75
|
+
repair-wheel-command = [
|
|
76
|
+
"delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}",
|
|
77
|
+
"bash tools/audit_wheel.sh {wheel}"
|
|
78
|
+
]
|
|
79
|
+
test-command = ""
|
|
67
80
|
|
|
68
|
-
# pip install delvewheel &&
|
|
69
81
|
[tool.cibuildwheel.windows]
|
|
70
|
-
before-build = "pip install cmake==3.29.0 delvewheel && python -c \"import os; file_path = 'build/CMakeCache.txt'; os.remove(file_path) if os.path.exists(file_path) else None\""
|
|
71
|
-
repair-wheel-command =
|
|
82
|
+
before-build = "pip install cmake==3.29.0 delvewheel abi3audit && python -c \"import os; file_path = 'build/CMakeCache.txt'; os.remove(file_path) if os.path.exists(file_path) else None\""
|
|
83
|
+
repair-wheel-command = [
|
|
84
|
+
"python -c \"import shutil, os; shutil.copy(os.path.join(os.getenv('GMP_LIB'), '..', 'bin', 'mpir.dll'), '.')\" && delvewheel repair -w {dest_dir} {wheel} --add-path .",
|
|
85
|
+
"bash tools/audit_wheel.sh {wheel}"
|
|
86
|
+
]
|
|
72
87
|
|
|
73
88
|
|
|
74
89
|
[tool.blackdoc]
|
|
@@ -89,7 +104,6 @@ disallow_any_generics = true
|
|
|
89
104
|
pretty = true
|
|
90
105
|
show_error_context = true
|
|
91
106
|
warn_unused_ignores = true
|
|
92
|
-
plugins = ['numpy.typing.mypy_plugin','npt_promote']
|
|
93
107
|
|
|
94
108
|
[tool.numpydoc_validation]
|
|
95
109
|
checks = [
|