Skip to content
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

Package request: MuJoCo Python bindings #262698

Closed
tmplt opened this issue Oct 22, 2023 · 7 comments
Closed

Package request: MuJoCo Python bindings #262698

tmplt opened this issue Oct 22, 2023 · 7 comments
Labels
0.kind: packaging request Request for a new package to be added

Comments

@tmplt
Copy link
Member

tmplt commented Oct 22, 2023

Project description

Native Python bindings for the MuJoCo library.

Metadata

@tmplt tmplt added the 0.kind: packaging request Request for a new package to be added label Oct 22, 2023
@tmplt

This comment was marked as outdated.

@tmplt
Copy link
Member Author

tmplt commented Oct 29, 2023

@traversaro, I am working on an initial packaging with your system-wide dependency patches for MuJoCo. Thanks for those. I've reached as far as SdfLib currently and saw you did some CMake work there too. Is your conda branch up-to-date, and are there any gotchas I should consider before looking into it?

@traversaro
Copy link
Contributor

@traversaro, I am working on an initial packaging with your system-wide dependency patches for MuJoCo. Thanks for those. I've reached as far as SdfLib currently and saw you did some CMake work there too. Is your conda branch up-to-date, and are there any gotchas I should consider before looking into it?

Yes, it is kind of ready. That branch is meant to be used as done in https://github.com/traversaro/mujoco-conda-forge-ci/blob/usesystemdepsoptions2023sep/.github/workflows/ci.yml#L80, and with the further changes in mujoco in https://github.com/traversaro/mujoco/tree/usesystemdepsoptions2023sep .

@traversaro
Copy link
Contributor

If you found this modification useful, feel free to comment in google-deepmind/mujoco#937, if we are able to merge the changes upstream the effort required to maintain these patches hopefully should reduce.

@tmplt
Copy link
Member Author

tmplt commented Nov 2, 2023

Good idea. I will do so as soon as I have a MWE and an overview of the whole dependency tree.

@tmplt
Copy link
Member Author

tmplt commented Nov 3, 2023

Some packaging notes:

  • mujoco's CMake scripts fetches deps because of pinned releases. Some downstream deps also do this. Some system-wide deps can be used, but not all (see above linked issue). Multiple APIs are used to check/fetch deps. Currently, these issues are patched in a fork.
  • Deps for Python bindings are all checked via the project's findorfetch script, which we can trivially patch. Ideally, the whole project should use the findorfetch API.
  • PyPi tarball is impurely built/published and copies non-patched CMake files from project root, so these too must be patched. Solution: overwrite these files; merge Nix expressions in order to share patched project root.

@tmplt
Copy link
Member Author

tmplt commented Nov 5, 2023

I have derivations that build at https://github.com/tmplt/nixpkgs/blob/3280b82643659959b74c8a51499bef28795b0a93/pkgs/applications/science/robotics/mujoco/default.nix. Before I PR I'm gonna see about pinning the last numerical dep (glm) and play around with the software a bit and hopefully stumble upon any eventual runtime issues.

@samuela samuela closed this as completed in 290bc1f Dec 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: packaging request Request for a new package to be added
Projects
None yet
Development

No branches or pull requests

2 participants