Skip to main content

A drop-in replacement for setuptools.build_meta that adds automated pre- and post-build hooks for cleanup and asset generation

Project description

build-meta-plus

PyPI Package Run Tests Python >=3.9 License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

build_meta_plus-0.1.2.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

build_meta_plus-0.1.2-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file build_meta_plus-0.1.2.tar.gz.

File metadata

  • Download URL: build_meta_plus-0.1.2.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for build_meta_plus-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8047bb491729d6a02c0e24cf1f3c96dbe2d1c6ab33cf2bce41b7a37955c9da22
MD5 50774fb0257877b78b36ce834c81f214
BLAKE2b-256 b0e892960c8fac1ebae444fe5e1d92c3346503c2468d94643cad226b3c28c724

See more details on using hashes here.

File details

Details for the file build_meta_plus-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for build_meta_plus-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3878d172e294b133cb5836e783f2ada315a57f6b751622fd565395e15c4a5a64
MD5 e5b3f0fa2c92241eda871d991c36cc86
BLAKE2b-256 7b0b1570b0216b3d45fe9cf6e201a913ade453396c122a16af4a78398c998ff3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page