infinyon / fluvio-client-python

The Fluvio Python Client!
https://infinyon.github.io/fluvio-client-python/fluvio.html
Apache License 2.0
13 stars 12 forks source link

New PyO3 bindings #359

Closed urbit-pilled closed 7 months ago

urbit-pilled commented 8 months ago

Since this repo already uses setuptools-rust, rebuilding with PyO3 is a simple change. /claim #3842

digikata commented 8 months ago

Hi, thanks for the submission urbit-pilled!

The issue was intended to allow building and running the extension under python 3.12, which was unfortunately disabled in our CI at the time you submitted this PR.

Also, minor nitpick, in setup.py, if the PyO3 switch works, the version of the extension should be bumped to 0.16.

3.12 is enabled now in the CI so I wonder if you could rebase and see how it fares.

Thanks!

urbit-pilled commented 8 months ago

I just updated PyO3 to 0.20 as that was when python 3.12 support was added

https://github.com/PyO3/pyo3/blob/6040d93032027f86d66356f02d21e221c8998a58/CHANGELOG.md?plain=1#L52

digikata commented 8 months ago

Looks like the CI has some issues with building for python 3.12

Depending on what you're running you can locally run these tests with the repo Makefile make integretation-tests and/or make macos-ci-tests

urbit-pilled commented 7 months ago
ImportError: /home/runner/work/fluvio-client-python/fluvio-client-python/fluvio/_fluvio_python.cpython-312-x86_64-linux-gnu.so: undefined symbol: _PyUnicode_Ready

Looks like the previous CI errors were due to Flapigen. I removed flapigen and recreated the bindings using PyO3.

digikata commented 7 months ago

That's some nice work @urbit-pilled. Thanks!

@drc-infinyon This looks good for the bounty

ajhunyady commented 7 months ago

@urbit-pilled good job! Can you please ping me in Discord (https://discordapp.com/invite/bBG2dTz), I have a question on a new project for you.