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

Create Python bindings #29

Open
mjovanc opened this issue Dec 3, 2024 · 7 comments
Open

Create Python bindings #29

mjovanc opened this issue Dec 3, 2024 · 7 comments
Labels
feature New feature or request

Comments

@mjovanc
Copy link
Member

mjovanc commented Dec 3, 2024

We should create a Python library with bindings to Delta. I suggest we create a directory in this repository and handle everything here for convenience.

I propose we (at least):

  • Create a directory called: delta_py and publish the library as deltaml on PyPi.
  • Set up a workflow for building Delta Rust libraries, build the Python and test against the Rust libraries.
@mjovanc mjovanc added the feature New feature or request label Dec 3, 2024
@mjovanc
Copy link
Member Author

mjovanc commented Dec 5, 2024

We should perhaps use pyo3 for this: https://github.com/PyO3/pyo3

@coddiw0mple
Copy link

coddiw0mple commented Dec 5, 2024

I'd like to work on this @mjovanc

@mjovanc
Copy link
Member Author

mjovanc commented Dec 6, 2024

@coddiw0mple Could you fork this repo and perhaps come up with a proof-of-concept that we can take a look at?

@coddiw0mple
Copy link

coddiw0mple commented Dec 6, 2024

@mjovanc Sure will work on one. I'm thinking of adding the bindings for the API needed for the MNIST example as a POC, should that be okay?
I could demonstrate a python example

@mjovanc
Copy link
Member Author

mjovanc commented Dec 6, 2024

@mjovanc Sure will work on one. I'm thinking of adding the bindings for the API needed for the MNIST example as a POC, should that be okay?

I could demonstrate a python example

Sure just make sure to use pyo3 in Rust. Also, make a small POC how it works and we will evaluate it before you work too much on it if we decide not to go that specific route. Sounds ok?

@coddiw0mple
Copy link

I plan to create a focused POC using the existing MNIST classification example. I'll use pyo3 to create Python bindings (only for the functions needed for this task) and package them up. Then I'll recreate the same example in Python using these bindings. This way, we can evaluate if this approach works well and check the performance.
Sound good? If so, I'll get started.

@mjovanc
Copy link
Member Author

mjovanc commented Dec 7, 2024

I plan to create a focused POC using the existing MNIST classification example. I'll use pyo3 to create Python bindings (only for the functions needed for this task) and package them up. Then I'll recreate the same example in Python using these bindings. This way, we can evaluate if this approach works well and check the performance.

Sound good? If so, I'll get started.

Go ahead, we will evaluate. Don't work too much on this just a basic implementation so we can see if this is the right approach for us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants