Skip to content

Conversation

@tacaswell
Copy link
Contributor

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.

@tacaswell
Copy link
Contributor Author

And I now see that #69 includes commits from #54.

Closes #69 closes #54 closes #76 closes #78


install:
- pip install tox-travis
- pip install tox-travis cython
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor

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?

Copy link
Contributor

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).

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Contributor

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.
@tacaswell tacaswell mentioned this pull request Mar 25, 2020
10 tasks
@tacaswell
Copy link
Contributor Author

CI has passed, but not reported back.

@tacaswell tacaswell merged commit bfb8648 into pytries:master Mar 26, 2020
@tacaswell tacaswell deleted the bld_cythonize branch March 26, 2020 02:33
@tacaswell
Copy link
Contributor Author

self-merged on @ashwinvis 's approval and #81 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants