rushter / selectolax

Python binding to Modest and Lexbor engines (fast HTML5 parser with CSS selectors).
MIT License
1.11k stars 68 forks source link

Add wheel for 3.13? #124

Closed baseplate-admin closed 1 week ago

baseplate-admin commented 2 months ago

Hi, it seems the 3.13 is soon to launch. Do you have any plans to release for 3.13?

baseplate-admin commented 2 months ago

At the same time support for 3.7, 3.8 can be dropped

baseplate-admin commented 1 week ago

Hi, @rushter , sorry for ping but can you please release it?

Now that python 3.13 is on the horizon?

rushter commented 1 week ago

Python 3.13 is not available on CI yet.

https://github.com/rushter/selectolax/actions/runs/11236017337

baseplate-admin commented 1 week ago

This is weird, cause of this: https://github.com/actions/python-versions/releases

It has 3.13.0

rushter commented 1 week ago

The manifest file does not have it https://github.com/actions/python-versions/blob/main/versions-manifest.json

baseplate-admin commented 1 week ago

Blocked by

rushter commented 1 week ago

In order to make a new release, we need to make sure that nothing breaks when switching to Cython 3.0. https://cython.readthedocs.io/en/latest/src/userguide/migrating_to_cy30.html

rushter commented 1 week ago

Build fails for Windows, will investigate it later https://github.com/rushter/selectolax/actions/runs/11239896149/job/31248003297

char101 commented 1 week ago

pip wheel uses a virtual env to build and does not use the existing cython. Using pip install setuptools && python setup.py bdist_wheel works.

rushter commented 1 week ago

@char101 Are you sure? We had no problems previously

char101 commented 1 week ago

I just clone the repo previously.

First I built using setuptools, no problem.

And then I removed the cython generated .c source, then run pip wheel . which resulted in failure due to parser.c not found.

The only difference I can see is that pip wheel . is running setuptools in a venv.

Edit: I just clone the repo again and run pip wheel . and it run without problem. Must be something wrong with my setup previously.

Edit2: I think I found the problem. When my pip wheel . command failed, I didn't install the wheel package. When my pip wheel . command succeded, I have installed the wheel package. Looking at the changelog of cibuildwheel (or pip), it seems that the wheel package is no longer pinned as a dependency, so you have to install it manually.

rushter commented 1 week ago

@char101 Thank you, it helped.

baseplate-admin commented 1 week ago

Closing as completed.

Thanks: @rushter , @char101