Simplified packaging for pybind11-based C++ extensions
Documentation: https://setuptools-cpp.davidmontague.xyz
Source Code: https://github.com/dmontagu/setuptools-cpp
Features
Pybind11Extension: For standard Pybind11 extensions from C++ source filesCMakeExtension: Useful for incorporating CMake-dependent libraries like CGAL- Poetry Compatibility: Easy to use with poetry's custom build system
Basic Usage
You can use the CMakeExtension or Pybind11Extension classes in your setup.py as follows:
from setuptools import setup
from setuptools_cpp import CMakeExtension, ExtensionBuilder, Pybind11Extension
ext_modules = [
# A basic pybind11 extension in <project_root>/src/ext1:
Pybind11Extension(
"my_pkg.ext1", ["src/ext1/ext1.cpp"], include_dirs=["src/ext1/include"]
),
# An extension with a custom <project_root>/src/ext2/CMakeLists.txt:
CMakeExtension(f"my_pkg.ext2", sourcedir="src/ext2")
]
setup(
name="my_pkg",
version="0.1.0",
packages=["my_pkg"],
# ... other setup kwargs ...
ext_modules=ext_modules,
cmdclass=dict(build_ext=ExtensionBuilder),
zip_safe=False,
)
You can then use standard setuptools commands like python setup.py install.
See the User Guide for more details.
Requirements
This package is intended for use with Python 3.6+.
Installation
pip install setuptools-cpp
License
This project is licensed under the terms of the MIT license.
Metadata
Release files for setuptools-cpp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| setuptools_cpp-0.1.0.tar.gz | 6.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| setuptools_cpp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.2 kB
Release files / setuptools_cpp-0.1.0.tar.gz
| Download URL | setuptools_cpp-0.1.0.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fd5e08603237578d06d28efd592d9847b523ede3e502f660be44b1e6254674d
|
|
BLAKE2b-256 checksum How to use checksums |
7a394610d5eb60c0b772682d490132568a4e7f6c17c2d05bafd33fcd49f1a13f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.3 CPython/3.8.1 Darwin/19.3.0
|
Release files / setuptools_cpp-0.1.0-py3-none-any.whl
| Download URL | setuptools_cpp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd8179c038a12dbf2914999928f193f54d4713fd11715efdc5d6f450f663c8bd
|
|
BLAKE2b-256 checksum How to use checksums |
fc7aaac83f37a6362d6693eb5f4cfbfc8d42d2253c2d4d7a0fcc2444368fdca2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.3 CPython/3.8.1 Darwin/19.3.0
|