-
Notifications
You must be signed in to change notification settings - Fork 9
Pybind11 to Nanobind #38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I would like to ask a review of the current stage of the code. After review and changes, the goal is to implement the rest of the methods. |
|
so far so good it seems. just a few questions/suggestions:
|
Plan for the Remaining Repository FilesSource Files
Binaries for Linux, Mac, and Windows
GitHub Actions
Contribution Guide
Why Was
|
… the original compas_cgal implementation.
docs/api/generated/compas_cgal.booleans.boolean_difference_mesh_mesh.rst
Outdated
Show resolved
Hide resolved
| This example demonstrates how to perform Poisson surface reconstruction from a point cloud with normals using COMPAS CGAL. | ||
|
|
||
| Key Features: | ||
| * Loading point clouds with normals from XYZ files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think you need a blank line before the start of a list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated, all examples were missing this.
|
please put the workflows back so we can start running tests on push again |
|
Ok, let's see what is happening on ubuntu. |
docs/api/generated/compas_cgal.booleans.boolean_difference_mesh_mesh.rst
Outdated
Show resolved
Hide resolved
|
please remove the "if name is main" guards from the examples. they serve no purpose... |
tomvanmele
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool!


Nanobind is the next generation of pybind11.
The intent is to update compas_cgal wrapping method to nanobind.
How to run it?
Environment
Create or use an environment with compas, compas_viewer and numpy
Build It
To build a project run:
pip install -e .or verbose:
pip install -e . -vFirst time this command runs, it downloads the C++ source code of CGAL, Eigen and Boost.
Any other time you run this command again, only build process is executed.
Run example
compas_cgal/tests/test_meshing_remesh.py

Goal of the pull request
This pull request intends to implement nanobind for:
a) faster C++ compilation times when precompiled headers are used
b) dependency download when pip install -e . is called (no conda dependencies)
c) use CGAL with Boost and get rid of GMP and MPFR dependencies
ToDo:
☑2025-02-27 nanobind hello world works and cgal, boost and eigen is downloaded on the first call of "pip install -e ."
☑2025-02-28 reference headers and wrap one single method
☑2025-02-05 setup precompiled headers for faster development time
☑2025-02-07 Part 1 wrap the rest of current compas_cgal methods
☑ 2025-02-08 Part 2 wrap the rest of current compas_cgal methods
2025-02-10 Documentation.
2025-02-11 test the repository on MAC M and Intel Chips as well as Linux
2025-02-12 Github CI
2025-02-13 discuss the distribution to pypi and conda