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

[Feature request] Create PyPI build of ASAP #236

Open
robogast opened this issue Mar 4, 2022 · 2 comments
Open

[Feature request] Create PyPI build of ASAP #236

robogast opened this issue Mar 4, 2022 · 2 comments

Comments

@robogast
Copy link

robogast commented Mar 4, 2022

Problem

Working with the multiresolutionimageinterface python code is currently cumbersome, because no PyPI build of ASAP exists.
This means ASAP doesn't integrate well with most python environment managers (pip/conda/venv/etc), resulting in a problematic (re-)installation process of ASAP-dependent python code, and difficult dependency control ('what version of ASAP are we running?').

Solution

Create a PyPI build of the multiresolutionimageinterface, with the ASAP binaries bundled.

@GeertLitjens
Copy link
Collaborator

GeertLitjens commented Mar 5, 2022 via email

@kaczmarj
Copy link

kaczmarj commented Mar 7, 2022

i have some experience with this, though i don't have time at the moment to execute this. i'm including some of my thoughts on this.

make a python wheel

first a python wheel file will have to be made of multiresolutionimageinterface. this will require a setup.py file or similar to describe the package. it would be great if a pre-built multiresolutionimageinterface could be packaged into a wheel (i.e., without having to specify the cmake builds in the setup.py file). if this is possible, then we could move to the next step.

if this does not work, then the cmake build will probably have to be specified in setup.py or similar file. see https://stackoverflow.com/a/48015772/5666087 for an example. this would be a headache to implement, so it would be best to try packaging a pre-build multiresolutionimageinterface.

to make this package usable on most recent linux distros, multiresolutionimageinterface should be built on an older linux distro, like centos 6. take a look at https://github.com/pypa/manylinux

put the shared libraries into the wheel

auditwheel can be used to copy the shared libraries into the python wheel. it probably won't be as easy as i make it out to be though :)

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

No branches or pull requests

3 participants