Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-5676

Wrap example C++ code with pybind11

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Story Points:
      10
    • Sprint:
      DRP X16-2
    • Team:
      Data Release Production

      Description

      Same as DM-5471 but using pybind11

        Attachments

          Activity

          Hide
          pschella Pim Schellart [X] (Inactive) added a comment -

          The code is complete (within agreed scope) and a technote (dmtn-014) has been written. Both are ready for review and pull requests have been sent.

          Show
          pschella Pim Schellart [X] (Inactive) added a comment - The code is complete (within agreed scope) and a technote (dmtn-014) has been written. Both are ready for review and pull requests have been sent.
          Hide
          jbosch Jim Bosch added a comment -

          Review complete. There are again comments on both the python-cpp-challenge PR and the tech note commits in GitHub. No major concerns here.

          I know I said I'd try to reserve judgement on these tools until we started a broader conversation, but...wow. pybind11 looks fantastic, especially in comparison to Cython (which I might grade as worse than Swig overall, or at least no better).

          Show
          jbosch Jim Bosch added a comment - Review complete. There are again comments on both the python-cpp-challenge PR and the tech note commits in GitHub. No major concerns here. I know I said I'd try to reserve judgement on these tools until we started a broader conversation, but...wow. pybind11 looks fantastic , especially in comparison to Cython (which I might grade as worse than Swig overall, or at least no better).
          Hide
          pschella Pim Schellart [X] (Inactive) added a comment -

          Two issues (#176 and #179) are still open upstream with pybind11 and I will make some minor modifications to the implementation if these are fixed. But everything else is now working and ready for merge.

          Note that this excludes the constness (as discussed before) and the extensions module which was out of scope. We may want to investigate the latter if a switch to pybind11 is considered.
          My overall opinion is that pybind11 is by far the best tool I have seen for creating Python bindings for C++.

          Show
          pschella Pim Schellart [X] (Inactive) added a comment - Two issues (#176 and #179) are still open upstream with pybind11 and I will make some minor modifications to the implementation if these are fixed. But everything else is now working and ready for merge. Note that this excludes the constness (as discussed before) and the extensions module which was out of scope. We may want to investigate the latter if a switch to pybind11 is considered. My overall opinion is that pybind11 is by far the best tool I have seen for creating Python bindings for C++.
          Hide
          pschella Pim Schellart [X] (Inactive) added a comment -

          Got OK from Jim. Merged ticket branch of technote into master. Pull request for code will be merged by Jim into his private repository, possibly to be migrated to LSST repo later.

          Show
          pschella Pim Schellart [X] (Inactive) added a comment - Got OK from Jim. Merged ticket branch of technote into master. Pull request for code will be merged by Jim into his private repository, possibly to be migrated to LSST repo later.
          Hide
          pschella Pim Schellart [X] (Inactive) added a comment -

          Upstream issues fixed. Apparently a nice interface for conversions did exist and I simply overlooked it in the docs. It was minor, so I modified it in code and technote. Now pybind11 looks even nicer! Wrapping up here.

          Show
          pschella Pim Schellart [X] (Inactive) added a comment - Upstream issues fixed. Apparently a nice interface for conversions did exist and I simply overlooked it in the docs. It was minor, so I modified it in code and technote. Now pybind11 looks even nicer! Wrapping up here.

            People

            Assignee:
            pschella Pim Schellart [X] (Inactive)
            Reporter:
            swinbank John Swinbank
            Reviewers:
            Jim Bosch, John Swinbank
            Watchers:
            Jim Bosch, John Swinbank, Pim Schellart [X] (Inactive), Tim Jenness
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Jenkins Builds

                No builds found.