TkTech / pysimdjson

Python bindings for the simdjson project.
https://pysimdjson.tkte.ch
Other
643 stars 54 forks source link

add python 3.11 and 3.12 support #113

Closed dneuhaeuser-zalando closed 7 months ago

dneuhaeuser-zalando commented 11 months ago

This is an attempt to fix https://github.com/TkTech/pysimdjson/issues/112

I say attempt because I have essentially no knowledge of cython but I figured it can't be that difficult to try re-generating the cython generated code. It does seem to do the job on my machine as in tests pass with this on python 3.12 on Mac with an M1.

Edit: Just noticed workflow might not trigger here but it does for my fork (I'm not used to GH actions), it works everywhere else to except ubuntu on 3.6 but that seems to be some sort of issue with actions https://github.com/dneuhaeuser-zalando/pysimdjson/actions/runs/6488676971

itay747 commented 10 months ago

Workaround until this PR this is merged, tested on 3.12.

pip install git+https://github.com/TkTech/pysimdjson.git@refs/pull/113/head
william-silversmith commented 7 months ago

Thanks for the wonderful library and all the work you've put in! A few of my libraries are crashing their integration tests due to lacking py312 support. Would it be possible to merge and release this?

Again, thanks for all you do!

clbarnes commented 7 months ago

It would also be great to specify the build-time dependencies in a pyproject.toml like this:

[build-system]
requires = ["setuptools", "cython"]
build-backend = "setuptools.build_meta"

Cython is somewhat optional as it's only used in certain cases, but for build deps I'd rather go belt-and-braces.

TkTech commented 7 months ago

Thanks for your contribution. A more complete update is in master and will be released as version 6.0.0. Your MR updates the tests, not the release stages.

Release is currently blocked only by https://github.com/simdjson/simdjson/issues/2117 which is currently breaking the release build, https://github.com/TkTech/pysimdjson/actions/runs/7775456262/job/21201468893.