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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|