whey
A simple Python wheel builder for simple projects.
What it is and what it does
whey is a lightweight Python wheel builder designed as a PEP 517 build backend for projects that use PEP 621 metadata in pyproject.toml. It creates wheels according to PEP 427 and handles type hint files (py.typed and .pyi stubs) automatically. The package is actively maintained, supports Python 3.6 through 3.12 on both CPython and PyPy, and carries no known security vulnerabilities.
The package targets developers building simple to moderately complex Python projects who want a straightforward, standards-compliant build system without the overhead of larger frameworks. It integrates directly into the build process via pyproject.toml configuration and can optionally validate README rendering for PyPI compatibility.
Use it for:
- Use it as your build backend in pyproject.toml for projects that follow PEP 621 metadata standards
- Build wheels with automatic type hint file handling for libraries that ship .pyi stubs or py.typed markers
- Validate that your README will render correctly on PyPI before uploading (with the readme extra)
- Replace setuptools or other build backends in simple projects that don't need extensive customization
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
whey is a PEP 517 build backend that creates Python wheels from projects using PEP 621 metadata, handling type hint files and supporting simple project structures.
Yes, if you are building a simple Python project and want a lightweight, standards-compliant PEP 517 build backend. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and integrates cleanly via pyproject.toml. It is not worth installing if you need advanced build customization or are already committed to another build system.
Install
whey on PyPI
pip
pip install wheyuv
uv add wheypoetry
poetry add wheyInstalling whey
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained as of July 2026 with recent commits. Depends on 11 runtime packages including packaging, click, and pyproject-parser.
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for any project type.
Quickstart
# Install whey
pip install whey
# Configure in pyproject.toml
[build-system]
requires = ["whey"]
build-backend = "whey"
# Build a wheel
python -m build
Requires Python 3.6.1 or later. The build-system configuration must be present in pyproject.toml following PEP 621 metadata format.
Verify before relying
- Whether whey handles all common packaging scenarios or is limited to 'simple projects' as described
- Performance characteristics when building large projects or monorepos
- Comparison of feature completeness versus other PEP 517 backends
Package facts
| License | Copyright (c) 2021 Dominic Davis-Foster Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.6.1) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 11 — attrs, click, consolekit, dist-meta, dom-toml, domdf-python-tools, handy-archives, natsort, packaging, pyproject-parser, shippinglabel |
| Maintenance | actively maintained — 815 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 704,994/month — #5,274 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: whey-0.1.1-py3-none-any.whl
Keywords: build, distribution, packaging, pep517, pep621, sdist, wheel
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
cmeelcmeel is a PEP 517 build backend that packages…
permissive · top 5,000 on PyPI
pdm-pep517A PEP 517 build backend that reads PEP 621…
permissive · top 15,000 on PyPI
pyproject-parserParses and extracts metadata from…
permissive · top 15,000 on PyPI
dist-metaParse and create Python distribution metadata…
permissive · top 15,000 on PyPI
wheel-stubA PEP 517 build backend that creates stub…
permissive · top 5,000 on PyPI
pdm-backendA PEP 517-compliant build backend that reads…
permissive · top 5,000 on PyPI
wheelA command-line tool for inspecting, converting,…
permissive · top 100 on PyPI
buildBuilds Python packages in isolated…
permissive · top 1,000 on PyPI
whoolwhool is a PEP 517 and PEP 660 compliant build…
permissive · top 15,000 on PyPI
shivshiv builds self-contained Python zipapps (PEP…
permissive · top 15,000 on PyPI