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

Add content to guide about writing interfaces + wrappers for libraries in other languages #22

Open
3 tasks
NickleDave opened this issue Dec 31, 2022 · 2 comments
Labels
help wanted We welcome a contributor to work on this issue! thank you in advance! sprintable

Comments

@NickleDave
Copy link
Contributor

NickleDave commented Dec 31, 2022

Python is uniquely suited for writing wrappers + interface to libraries in other languages.

I think this is in scope for pyOpenSci since a lot of tools will be written in other languages and we want to provide access to them.
An example of a package we've already reviewed here would be pygmt.

It would be good if we could provide some guidance on good practices for doing this.

This came up in #21
#21 (comment)

Things to cover, this is a rough list that mainly reveals my ignorance 😕

  • Ways to interface
    • CFFI
    • eval calls (not so good)
    • tools like SWIG
    • pybind11
    • rpy2
  • Build tools, which I know we are thinking about anyway
    • Meson
    • scikit-build
    • dev.py
  • example packages
    • pygmt
@lwasser
Copy link
Member

lwasser commented Apr 9, 2024

this would be an awesome topic for someone to tackle.
we have a single basic page here on this topic but i could see this becoming a longer section in the guide in the future. we might also link out to other resources. i'll mark this as a help-wanted issue as well.

@lwasser lwasser added help wanted We welcome a contributor to work on this issue! thank you in advance! sprintable labels Apr 9, 2024
@lwasser
Copy link
Member

lwasser commented Jul 12, 2024

i think this should be in this section

We should consider adding an overview of

  • sckit-build as a backend (with hatch)
  • meson-python with hatch (using @ucodery example package here
  • potentially suggest scikit build tool that @henryiii has been working on (that seems to be a really good option right now)
  • OPTIONALLY: highlight cibuildwheel also being developed by Henry!

This task could be broken into two

  • Write more text explaining how these builds work - link to henry's content in the development guide
  • Suggest scikit build as a recommendation
  • Add a Scikit build example package using hatch!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted We welcome a contributor to work on this issue! thank you in advance! sprintable
Projects
Status: Python Package Guide
Development

No branches or pull requests

2 participants