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

Move from Pybind11 to nanobind #345

Merged
merged 44 commits into from
Aug 30, 2024

Commits on Aug 27, 2024

  1. Configuration menu
    Copy the full SHA
    f004de9 View commit details
    Browse the repository at this point in the history
  2. [bindings/python] update CMake listfile, targets and instruction-set.…

    …cpp for nanobind
    
    [bindings/python] cmake : nanobind's helper function already sets prefix and suffix for us.
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    d28e4eb View commit details
    Browse the repository at this point in the history
  3. [bindings/python] instruction-set.cpp : fix crashes because of lack o…

    …f std::string support
    
    + add relevant nanobind stl support header
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    7168637 View commit details
    Browse the repository at this point in the history
  4. [proxqp/sparse] explicitly delete copy ctor and operator, fixing conf…

    …usion with is_copy_constructible-type traits
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    14ab3a3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a0a97fa View commit details
    Browse the repository at this point in the history
  6. [bindings/python] expose-workspace.hpp : do pybind11 -> nanobind swap

    + only concerns def_* methods and pickling (now managed manually through setting the relevant special methods)
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    86863f2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    82d372f View commit details
    Browse the repository at this point in the history
  8. [bindings/python] expose-settings.hpp : do pybind11 -> nanobind swap

    + concerns def_* methods and pickling (now managed manually through setting the relevant special methods)
    + remove module_local(), as it is not supported in nanobind: https://nanobind.readthedocs.io/en/latest/porting.html#removed-features
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    887b5c3 View commit details
    Browse the repository at this point in the history
  9. [bindings/python] workspace, model : do pybind11 -> nanobind swap

    + concerns def_* methods and pickling (now managed manually through setting the relevant special methods)
    + remove module_local(), as it is not supported in nanobind: https://nanobind.readthedocs.io/en/latest/porting.html#removed-features
    + ::arg_v() no longer behaves the same. had to strip per-argument docstrings
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    ad7e215 View commit details
    Browse the repository at this point in the history
  10. [bindings/python] remove optional.hpp

    + nanobind has no out-of-the-box utility for tl::optional AFAIK
    + nanobind requires C++17 - hence proxsuite will be using std::optional anyway
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    54040cd View commit details
    Browse the repository at this point in the history
  11. [bindings/python] expose-solver.hpp : switch to nanobind

    + this nuked a bunch of argument docstrings...
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    16a8825 View commit details
    Browse the repository at this point in the history
  12. [bindings/python] expose-{backward,parallel,qpobject}.hpp : switch to…

    … nanobind
    
    + this nuked a bunch of argument docstrings...
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    97909b4 View commit details
    Browse the repository at this point in the history
  13. [bindings/python] expose-qpvector.hpp : upgrade to nanobind

    + change pybind11::return_value_policy to nanobind::rv_policy when relevant
    + include the nanobind header here (helps for IDEs)
    + change ctor init types from i64 to u64 -> nanobind is STRICT when it comes to integer signedness conversions
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    520afab View commit details
    Browse the repository at this point in the history
  14. [ci] checkout submodule recursive

    fabinsch authored and ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    783d88f View commit details
    Browse the repository at this point in the history
  15. [bindings/python] cmake : add stub generation (basic)

    pyproject.toml: add dependency on typing-extensions (required for stubgen on python<3.11)
    
    Make stub generation optional
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    7de7adf View commit details
    Browse the repository at this point in the history
  16. Update CHANGELOG

    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    bc0e35a View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    3ea4718 View commit details
    Browse the repository at this point in the history
  18. [bindings/python] remove macro PROXSUITE_PYTHON_EIGEN_READWRITE

    + nanobind handles things well already
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    a8256bf View commit details
    Browse the repository at this point in the history
  19. [test] fix bare except

    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    aaeca09 View commit details
    Browse the repository at this point in the history
  20. [test] Fix serialization

    + pickle expects to be loading a str instead of bytes
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    54f42c6 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    0297676 View commit details
    Browse the repository at this point in the history
  22. [bindings/python] Fix overloaded dense.solve() signatures, switch nul…

    …lopt for nanobind::none()
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    8dccf3b View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    395933c View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    9008bf9 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    22fcd22 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    603e208 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    856e057 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    4882f59 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    b810caf View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    e7394b3 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    f004f5d View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    05632d2 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    2723872 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    94f13f1 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    6d167e8 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    3d637fd View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    3804bae View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    bfc2bea View commit details
    Browse the repository at this point in the history
  39. Update bindings/python/helpers/instruction-set.cpp

    Co-authored-by: Fabian Schramm <55981657+fabinsch@users.noreply.github.com>
    ManifoldFR and fabinsch committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    0e4db0a View commit details
    Browse the repository at this point in the history
  40. Update bindings/python/src/expose-results.hpp

    Co-authored-by: Fabian Schramm <55981657+fabinsch@users.noreply.github.com>
    ManifoldFR and fabinsch committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    449267f View commit details
    Browse the repository at this point in the history
  41. Update bindings/python/src/expose-helpers.hpp

    Co-authored-by: Fabian Schramm <55981657+fabinsch@users.noreply.github.com>
    ManifoldFR and fabinsch committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    d509b5e View commit details
    Browse the repository at this point in the history
  42. [workflows] do not re-run linux, osx, win, arch CI and release CI whe…

    …n updating CHANGELOG.md
    ManifoldFR committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    519a624 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. Configuration menu
    Copy the full SHA
    c7c2b2a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d719663 View commit details
    Browse the repository at this point in the history