Simplified packaging for pybind11-based C++ extensions
Project description
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.
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 Distribution
File details
Details for the file setuptools_cpp-0.1.0.tar.gz
.
File metadata
- Download URL: setuptools_cpp-0.1.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.3 CPython/3.8.1 Darwin/19.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fd5e08603237578d06d28efd592d9847b523ede3e502f660be44b1e6254674d |
|
MD5 | ad2b19e1c21e61e8be6cd6a2e44ce13d |
|
BLAKE2b-256 | 7a394610d5eb60c0b772682d490132568a4e7f6c17c2d05bafd33fcd49f1a13f |
File details
Details for the file setuptools_cpp-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: setuptools_cpp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.3 CPython/3.8.1 Darwin/19.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd8179c038a12dbf2914999928f193f54d4713fd11715efdc5d6f450f663c8bd |
|
MD5 | 8a2543684d42343e7c55919a27713574 |
|
BLAKE2b-256 | fc7aaac83f37a6362d6693eb5f4cfbfc8d42d2253c2d4d7a0fcc2444368fdca2 |