build-meta-plus
A lightweight, drop-in replacement for the default setuptools.build_meta backend that supports automated pre- and post-build hooks via pyproject.toml.
build_meta_plus maintains full compatibility with setuptools while restoring the flexibility of custom build steps—ideal for replacing legacy setup.py hooks in modern PEP 517 projects.
Why use this?
build_meta_plus is ideal for streamlining your development workflow, from automating pre-build generation tasks to maintaining a tidy project environment by automatically managing temporary build artifacts.
For example, you can ensure your workspace remains clean by removing .egg-info directories immediately after a build:
[tool.build_meta_plus]
post-build = ["rm -rf *.egg-info"]
Getting Started
To use build_meta_plus in your project, configure your pyproject.toml to use it as the build backend and define your hooks:
[build-system]
requires = ["setuptools>=61", "wheel", "build_meta_plus"]
build-backend = "build_meta_plus"
[tool.build_meta_plus]
pre-build = [
"echo 'Generating assets...'",
"python scripts/generate_version.py"
]
post-build = [
"rm -rf *.egg-info",
"echo 'Cleanup complete.'"
]
When you run standard build or install commands (like python -m build or pip install .), build_meta_plus automatically intercepts the PEP 517/660 hooks, executes your pre-build commands, delegates the actual build to setuptools, and finally runs your post-build cleanup.
Metadata
Release files for build-meta-plus 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| build_meta_plus-0.1.2.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| build_meta_plus-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.8 kB
Release files / build_meta_plus-0.1.2.tar.gz
| Download URL | build_meta_plus-0.1.2.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8047bb491729d6a02c0e24cf1f3c96dbe2d1c6ab33cf2bce41b7a37955c9da22
|
|
BLAKE2b-256 checksum How to use checksums |
b0e892960c8fac1ebae444fe5e1d92c3346503c2468d94643cad226b3c28c724
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / build_meta_plus-0.1.2-py3-none-any.whl
| Download URL | build_meta_plus-0.1.2-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3878d172e294b133cb5836e783f2ada315a57f6b751622fd565395e15c4a5a64
|
|
BLAKE2b-256 checksum How to use checksums |
7b0b1570b0216b3d45fe9cf6e201a913ade453396c122a16af4a78398c998ff3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|