From 71515aa63f87cb6ead8a4f3c5ab887952efdc95b Mon Sep 17 00:00:00 2001 From: "Ryan M. Richard" Date: Wed, 7 Oct 2026 10:45:38 -0500 Subject: [PATCH] refactor to break scf dependency loop --- cxx/src/integrals/export_integrals.cpp | 5 ++++- pyproject.toml | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/cxx/src/integrals/export_integrals.cpp b/cxx/src/integrals/export_integrals.cpp index 2907b5f8..552450b8 100644 --- a/cxx/src/integrals/export_integrals.cpp +++ b/cxx/src/integrals/export_integrals.cpp @@ -21,6 +21,9 @@ namespace integrals { -EXPORT_PLUGIN(integrals, m) { export_property_types(m); } +EXPORT_PLUGIN(integrals, m) { + export_property_types(m); + m.def("set_defaults", &set_defaults); +} } // namespace integrals diff --git a/pyproject.toml b/pyproject.toml index c05ce5b7..f6697a7a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,6 +16,13 @@ requires = [ "scikit-build-core>=0.10", "setuptools-scm>=8", + # Ecosystem packages this build resolves from installed wheels rather + # than fetching from git master, so the wheel links against exactly the + # binaries users get at runtime and ships only its own files. Mirror + # [project].dependencies; leave the floors unbounded so the newest + # release is always resolved. + "nwchemex-nwxcmake>=0.1.0", + "nwchemex-simde>=0.0.77", ] build-backend = "scikit_build_core.build" @@ -41,6 +48,11 @@ dev = ["pytest", "pre-commit"] metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" # All installed content comes from the CMake install; no pure-Python packages. wheel.packages = [] +# Ship only this project's own install rules ("integrals") plus third-party +# dependencies this build had to fetch itself ("Unspecified", CMake's default +# component). Ecosystem dependencies are resolved from their own wheels, and +# their files belong to those wheels. +install.components = ["integrals", "Unspecified"] build-dir = "build" [tool.setuptools_scm]