Skip to main content

just-buildit

CI Docs

The missing PEP 517 build backend for C extensions.

You know how to build your project. just-buildit knows how to package it. That's the whole deal.


The problem

Every existing Python build backend either wants to own your build system, assumes you're using setuptools extensions, or drags in a dependency tree bigger than your project. There's no option that just says:

"Here are your C files. Build them however you want. I'll ship the result."

just-buildit is that option.


Installation

pip install just-buildit

Quickstart

Flat layouts, nested packages, multiple extensions across subdirectories, mixed pure Python and C — whatever your build produces.

Zero config — a single C extension in src/mylib/:

[build-system]
requires = ["just-buildit"]
build-backend = "just_buildit"

[project]
name = "mylib"
version = "0.1.0"

Run pip install . and just-buildit finds src/mylib/, compiles every .c file it contains, and ships the result.

Custom build command — Make, CMake, Meson, Bazel, or anything else:

[tool.just-buildit]
command = "make"

just-buildit sets environment variables, calls your command, and packages everything written to $JUST_BUILDIT_OUTPUT_DIR.

Need a project scaffold? just-makeit generates a CMake-based C extension project pre-wired for just-buildit — see the examples.

CLI

uvx just-buildit inspect   # dry-run: show config and what would be built
uvx just-buildit build     # build wheel into dist/
uvx just-buildit sdist     # build source distribution into dist/

Documentation

Environment variables What just-buildit sets before calling your command
Examples Make, CMake, Meson, Bazel, mixed Python + C, nested packages
Configuration Full config reference, wheel repair, editable installs
Contributing Running tests, platform support, bootstrapping

Requirements

  • Python 3.8+
  • A compiler (you already have one)
  • uv for wheel repair (uvx auditwheel / uvx delocate-wheel / uvx delvewheel)

Authors

Matthew T. Hunter, Ph.D. and Claude Code


License

MIT

Release files for just-buildit 0.3.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for just-buildit 0.3.12
File Size Uploaded
just_buildit-0.3.12.tar.gz 170.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for just-buildit 0.3.12
File Interpreter ABI Platform
just_buildit-0.3.12-py3-none-any.whl Python 3 none any Details

Total release size: 199.1 kB

Release files / just_buildit-0.3.12.tar.gz

Download URL just_buildit-0.3.12.tar.gz
Size 170.8 kB
Tags Source
SHA-256 checksum
How to use checksums
fb9b547dfd3101ceb492d92ef7e8e51d1ffb6e68ae3f71990665c4011bce481f
BLAKE2b-256 checksum
How to use checksums
a1cc4e9f17dd7e8ee1c46c6e5b0013fb00b80c59b1e41974ee84fb4d33327e63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Release files / just_buildit-0.3.12-py3-none-any.whl

Download URL just_buildit-0.3.12-py3-none-any.whl
Size 28.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7ed264ca5b4faf70de219be30378489749481c292fa28f2a28a2c86c2f1d2cc2
BLAKE2b-256 checksum
How to use checksums
917801c120ca5916f60b0c387de4954c08e6414e98a427a3f627b10340c11b85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

This release

0.3.12 This release

2 release files

0.3.10

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page