Build helpers and PEP 517 backend for IVPM-managed Python extension projects
Project description
ivpm-build
Build helpers and PEP 517 backend for IVPM-managed Python extension projects.
ivpm-build is a standalone package that extracts the build infrastructure
from ivpm so projects can use it without depending on the full IVPM tool chain
at build time.
Features
- Drop-in replacement for
ivpm.setup.setup()(backward compatible) [tool.ivpm-build]config section inpyproject.toml- PEP 517 build backend wrapping
setuptools.build_meta - CMake helpers (
CmakeBuilder) decoupled from the setuptools command hierarchy - Optional
scikit-build-corebridge (IVPMHook)
Installation
pip install ivpm-build
With CMake support:
pip install ivpm-build[cmake]
Quick Start
Path 1 — Legacy setup.py (one-line change)
# Before
from ivpm.setup import setup
# After
from ivpm_build.setup import setup
Path 2 — Hybrid pyproject.toml + setup.py
Add to pyproject.toml:
[build-system]
requires = ["ivpm-build", "setuptools>=64"]
build-backend = "setuptools.build_meta"
[tool.ivpm-build]
ivpm-dep-pkgs = ["mypkg"]
In setup.py:
from setuptools import setup
from setuptools import Extension
from ivpm_build.setup import apply_ivpm_setup
ext = Extension("mymod._mymod", sources=["src/mymod.cpp"])
apply_ivpm_setup(ext_modules=[ext], ivpm_extdep_pkgs=["mypkg"])
setup(name="mymod", ext_modules=[ext])
Path 3 — Pure pyproject.toml
[build-system]
requires = ["ivpm-build", "setuptools>=64"]
build-backend = "ivpm_build.backend"
[tool.ivpm-build]
cmake = true
ivpm-dep-pkgs = ["mypkg"]
Documentation
Full documentation is published at https://fvutils.github.io/ivpm-build
License
Apache 2.0 — see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ivpm_build-0.1.0.tar.gz.
File metadata
- Download URL: ivpm_build-0.1.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79d371e47945e10b637fb068011d2595c095738cced3b6616db0bd63829b7e1d
|
|
| MD5 |
f6b20b2254e3408f5b658bdd613bc878
|
|
| BLAKE2b-256 |
906e2827b25d57b568aa6cdaf41e5b683078f1a2b0b0227e7573e3cc2f0184de
|
File details
Details for the file ivpm_build-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ivpm_build-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
434942c500dcf24ab439f06c11198e403d765aa40c0bfceaed3c694a681098d6
|
|
| MD5 |
b8cefd8dafd1f3d86aa4e96b82d18e4a
|
|
| BLAKE2b-256 |
d20cd5b821610f20bf59546182735cf22a6ff3e1db3129d7672031fd9d337cbd
|