Modern, PEP 517 compliant build backend for building Python packages with
Project description
py-build-cmake
Modern, PEP 517 compliant build backend for building Python packages with extensions built using CMake.
Features
- Build C, C++ or Fortran extensions for Python using CMake
- Declarative configuration using
pyproject.toml
(PEP 621), compatible with flit - Compatible with pybind11
- Generate stubs for type checking and suggestions
- Customizable CMake configuration, build and installation options
- Support for multiple installation configurations
- Editable/development installations for Python modules (PEP 660)
- No dependency on setuptools
Planned features
- Entry point support
- Namespace package support (PEP 420)
- Doxygen and Sphinx support
- OSX support
Installation
The py-build-cmake package is available on PyPI:
pip install py-build-cmake
Usage
Add a pyproject.toml
configuration file
(see examples/minimal
for detailed instructions), and use
pip
, build
or another PEP 517 compatible frontend to install and/or build the package.
Build sdist and wheel packages you can upload to PyPI:
python -m build . # find the sdist and wheel file in the 'dist' folder
Install the package in the current environment:
pip install . # normal installation
pip install -e . # editable installation
Examples
For example usage, see the examples/minimal
and examples/pybind11-project
example projects.
Documentation
Use the following command to get the documentation for all supported options:
python -m py_build_cmake.help
Alternatively, have look at Config.md.
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 Distributions
Hashes for py_build_cmake-0.0.1b0-py310-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 441cb46e05bc28c74cbecfc9c551016e0e19c6481f7259a6c8c9da6ec3bfd5f9 |
|
MD5 | 885e6a8138ed0c5fa08e3e3e314b6fa0 |
|
BLAKE2b-256 | e93f30dac2ca1881dc2340ab2a5b74ff78577b6c1b661e811edb552badfb38f1 |
Hashes for py_build_cmake-0.0.1b0-py39-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1dd14f259ee3fb899e5931ded4ca108b2a6a1fed5ab366e0b084aa25a551339 |
|
MD5 | 8bcb1ac63e6749c921d1ba45cf37c9e1 |
|
BLAKE2b-256 | d98ed10745ec561a36368cfeea89cd8983cefa134e36fdfc0cf9e80f9b21464f |
Hashes for py_build_cmake-0.0.1b0-py38-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 741c1e32c0f13002ce3fe2bc8c21a80f44766589f4c48246c64649e3a8db6c8a |
|
MD5 | c9030674abe828bbea666f7e91893b8a |
|
BLAKE2b-256 | 16e45bbf55a224f5b5d5e586ea9b4ed7a102b45d79c3a90c332a75ee286b3e45 |