Installation
From PyPI
pip install ivpm-build
How it fits into a native-extension project
A typical project using ivpm-build has this structure:
A C/C++ library built with CMake (outputs
.so/.dll/.dylib).One or more Cython
.pyxfiles that wrap the native library.One or more IVPM-managed native packages (e.g.
debug-mgr,ciostream) whose headers and libraries must be on the compiler’s include and link paths.
ivpm-build wires these pieces together:
CmakeBuilderdrives the CMake configure → build → install cycle.BuildExt(a custombuild_extcommand) queries the IVPM package registry (PkgInfoRgy) to inject include dirs, library dirs, and Cython.pxdsearch paths from every package listed inivpm_extdep_pkgs.InstallLibcopies the built native shared library into the installed Python package so the wheel is self-contained.
Relationship to ivpm
ivpm is the full dependency-management tool. ivpm-build is a
lightweight build-time companion that:
is listed in
[build-system].requiresinpyproject.tomlso it is available duringpip install/python -m build, andcalls into
ivpm's package registry at build time to resolve paths for IVPM-managed native dependencies.
ivpm itself is therefore also required at build time (for PkgInfoRgy
queries) and must be listed alongside ivpm-build in
[build-system].requires.