You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-4Lines changed: 27 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
-
# Python CPP Boilerplate
1
+
# Python C++ package boilerplate
2
2
3
+
A minimal, cross-platform template for building Python packages with C++ extensions using pybind11.
4
+
It includes a reproducible development environment, testing and linting setup, and automated multi-platform wheel building (Linux, macOS, Windows, x86_64 and arm64) via GitHub Actions.
3
5
4
6
## Compile and install the package
5
7
@@ -17,6 +19,25 @@ Then compile C++ bindings and install with pip
17
19
.venv/bin/python -m pip install .
18
20
```
19
21
22
+
## Install from wheel
23
+
24
+
Wheels are published on github, to install a compiled version of the package published on github, instead of the last command of the previous section (install from source), run this
25
+
26
+
```bash
27
+
USER=sebastiaagramunt
28
+
REPO=python-boilerplate
29
+
PACKAGE_NAME=package_example
30
+
PYTHON_VERSION=cp313
31
+
VERSION=v0.0.5
32
+
33
+
# print your system, change SYSTEM variable accordingly
The software is tested on GitHub Actions for python versions `3.10-3.13`, architectures `x86` and `arm64` and on `ubuntu`, `macos` and `windows` operating systems. On each push in a branch the actions in `.github/workflows/build-wheels.yml` is kicked off. This action tests and publishes the wheel internally.
72
93
73
94
To publish the wheels just tag the release, go to master branch and check the version in `__version__` variable of `setup.py`. E.g. for the initial commit the version is `0.0.1`. Then we would run
74
95
75
96
```bash
76
-
VERSION=0.0.1
97
+
VERSION=0.0.5
77
98
git tag -a v${VERSION} -m "v${VERSION}"
78
99
git push origin v${VERSION}
79
100
```
101
+
To see the relase published in releases section on the same repository. E.g. [Tagged version v0.0.5](https://github.com/SebastiaAgramunt/python-boilerplate/releases/tag/v0.0.5)
0 commit comments