Skip to content
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

PEP518 build system #4

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

PEP518 build system #4

wants to merge 4 commits into from

Conversation

clbarnes
Copy link

PEP518 build system allows this to be installed directly from pip
without pre-installing numpy and cython.

clbarnes and others added 4 commits June 18, 2021 14:12
PEP518 build system allows this to be installed directly from pip
without pre-installing numpy and cython.
@pattonw
Copy link
Contributor

pattonw commented Feb 20, 2024

Looks like the most important part in the pyproject.toml defining the build dependencies (numpy, cython, etc.) is already in there.
We probably want to just get rid of the Make file, setup.py and requirements*.txt files, in favor of just using a pyproject.toml.

For easy installation we also need to solve the libboost dependency. If boost is already installed then funlib.segment is pretty easy to use, otherwise the installation errors are not very helpful to people unfamiliar with C dependencies.

We only really use boost for a the disjoint_sets datastructure. It's not a terribly complicated data structure so there must be other implementations we can use instead. Scipy has a pure python implementation which we could use but might be a bit slow. I also found this one written in Cython that we could use. Once boost is replaced it should solve all of the common installation issues

@clbarnes
Copy link
Author

clbarnes commented Feb 21, 2024

Yes, the important bits of this PR were all added independently more recently; this can probably be closed with an issue raised for de-boosting the library.

@clbarnes
Copy link
Author

clbarnes commented Feb 21, 2024

Note that that cython implementation has no license so technically we're not even allowed to look at it, or something? I'm never sure. There's an issue raised about it but it seems abandoned. It also needs the build system specified to be installable. Probably best just to vendorise something inspired by but certainly not copied and pasted from it...

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