-
Notifications
You must be signed in to change notification settings - Fork 48
Upgrade python bindings to nanobind #469
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
Draft
arntanguy
wants to merge
51
commits into
jrl-umi3218:master
Choose a base branch
from
arntanguy:topic/nanobind
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for more information, see https://pre-commit.ci
…ments" This reverts commit 065c1d2.
…ements" This reverts commit a8ef33f.
What about vector<vector>
Convert cython's test to the new bindings Unhandled cases are left as comments, old api as well for easy comparison. To be removed before merging.
Not fully working on ubuntu 22.04 because we need sphinx>=8.2 which requires python > 3.10. Sphinx < 8.2 cannot use pyi stub files for documentations
This avoids the use of mc_rtc._mc_rtc
Make RobotData non-copyable but moveable (std::unique_ptr is non-copyable) Bind all members, but some should probably require careful consideration if used on robots that are already in the controller (the same holds for c++). To be seen if these bindings should be kept alltogether
for more information, see https://pre-commit.ci
e28bd17 to
f3fa95b
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is a work-in-progress on rewriting the current
cythonbindings using nanobind.Why?
cythonas at the time this seemed to be the best and most efficient option. Nowadays pybind11/nanobind easily fill that gap and fit much better with our C++ code base. The philosophy shifts from wrapping c++ from python, to generating python bindings from C++.Added niceties:
pippackageStatus:
My priority is on getting the minimal set of bindings required for IsaacSim integration.
mc_rtcConfiguration: in progressmc_rbdyn: high priorityRobotRobotModulemc_controlMCGlobalControllerMCController