dcwatson / deflate

Python extension wrapper for libdeflate.
MIT License
25 stars 6 forks source link

chore: try using scikit-build-core #43

Closed henryiii closed 2 months ago

henryiii commented 2 months ago

Trying out scikit-build-core.

dcwatson commented 2 months ago

Thanks so much for this. I'm going to merge it with some changes to support looking at LIBDEFLATE_PREFIX for system-installed versions.

henryiii commented 2 months ago

Ping me if you have any problems or questions!

henryiii commented 2 months ago

Also, if you are able to support Stable ABI eventually, it's:

#define Py_LIMITED_API 0x030b00f0

And

[tool.scikit-build]
wheel.py-api = "cp311"

This will build per-version wheels up to 3.11, then a single binary that works on all future version in 3.11. Cibuildwheel will only test this on 3.12, and not try to rebuild.

dcwatson commented 2 months ago

Thanks, I think I will likely switch to using a memoryview, and the rest will probably come easy 🤞

Any ideas on the Windows build? https://github.com/dcwatson/deflate/actions/runs/8995764433/job/24711221117#step:3:236

      Could NOT find Python (missing: Python_LIBRARIES Development.Module) (found
      version "3.8.10")

This is my first foray into CMake, so forgive me if I'm missing something obvious 😄

henryiii commented 2 months ago

Ahh, thought Windows ran in tests. I see now it's just ubuntu. I think it's likely because I was trying something; if you add Interpreter to the COMPONENTS list, I think it will be fine. I can check on my fork now, though, to be sure.

henryiii commented 2 months ago

Ah, also, you are right, Development.Module is better than Development. I meant to do that (that's why I set 3.18 as the minimum instead of 3.15), but seems to have forgotten about it when actually writing the line.

dcwatson commented 2 months ago

Hah, I'm pretty sure I found that in a comment from you on some other random repo.