wdas / partio

C++ (with python bindings) library for easily reading/writing/manipulating common animation particle formats such as PDB, BGEO, PTC. https://wdas.github.io/partio
https://www.disneyanimation.com/open-source/partio/
Other
458 stars 133 forks source link

Make partio publishable on PyPi #93

Closed alexus37 closed 3 years ago

alexus37 commented 3 years ago

Hi, I started this Pr since I need the python wrapper from partio in another project but don't want to put the burden of installing on the end-user. The idea is to build partio inside a manylinux2014 container and upload the wheel to PyPI which makes partio pip installable (pip install partio).

However, I want to mention that I am not a python packaging expert and that there is probably more elegant solutions to this than what I did. I tried to achieve this without (minimal) changes to the CMake configs.

I will leave some comments in the code to explain my building workflow.

@davvid I claimed the partio name on PyPi and added you as a maintainer so you can publish new versions

What is left to do:

alexus37 commented 3 years ago

Thanks for the detailed feedback I incorporated most of the comments. Regarding the support of python 2.7, there are a few things that make it annoying.

First, we would need to build partio inside the manylinux1 (CentOS 5 based - EOL) docker container which is only supported until January 2022 additionally Python 2 will reach the end of life (EOL) on January 1st, 2020.

However, I still tried to build it, but it failed, my guess is the swig version for centos is pretty old. If you want to take a look you can just change the docker file to use quay.io/pypa/manylinux1_x86_64 as a base image keep in mind that CMake (v2) installed on that image is too old to install partio.

davvid commented 3 years ago

Thanks again for all your help. I'll review the notes in the README.md afresh next week and attempt to do a publish into pypi. Awesome!