-
Notifications
You must be signed in to change notification settings - Fork 88
Yet another PR to fix py38 #80
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
Conversation
This should bootstrap Cython at setup
|
|
||
| install: | ||
| - pip install tox-travis | ||
| - pip install tox-travis cython |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why? Shouldn't pyproject.toml take care of it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Experimentally it did not with the version of pip I was testing with locally. I don't think that the pyproject.toml work is settled enough to rely on widely yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was the reason that I kept the C sources... so that legacy applications which might depend on old pip / setuptools might have a chance to use datrie. I guess you want an explicit ImportError of Cython instead, then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you really want to go this way I would request you to bump the version to 0.9.0 - because it is a breaking change not a bug fix (think, semver).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is also possible to run cython as part of the release process and still include the c-files in the sdist, however that just seems like a trap for user.
The better solution is to provide as many wheels as we can so that most users don't even have to have a compiler.
scikit-image is on a "must have cython to install from source" model as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wheels sound like a good idea, but may not be so easy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I know how to do the linux ones, it looks like CGohlke is already building the windows ones (we just need to upload), the mac ones are the only problem. Would prefer to find a mac-developer to build them.
I disagree that this is a breaking change, packaging / installing is not part of the API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have a point. I am OK with this PR then.
This version number was intentionally skipped to avoid collision with a 0.8.1 tag created on a fork.
|
CI has passed, but not reported back. |
to be safe against the coming default language_level change in cython 3.0
|
self-merged on @ashwinvis 's approval and #81 (comment) |
This is a slightly simplified version of #78 (which in turn is merging #76 and #69). It makes cython a required install time dependency, but cython is pip installable (it is typically harder to get a working compiler than a working cython).
To address those cases we should sort out how to build manylinux, (ex https://github.com/pypa/python-manylinux-demo), mac, and windows wheels.
A simpler version of this patch has already been applied to the conda-forge feedstock (conda-forge/datrie-feedstock#5) to get py38 builds up.