pymol-open-source
pymol-open-source copied to clipboard
CI workflow for pypi wheels
Will there be appetite for including a CI workflow that publishes pypi wheels, so that pymol can be installed (including binaries) via pip? Happy to open a PR for that.
So far I managed to manually create wheels via manylinux - automating that for many architectures and python versions should be quite easy via cibuildwheel:
demo of manual wheels creation
Run
docker build --platform linux/amd64 -t pymol-builder .
docker run --platform linux/amd64 -v "$(pwd)/wheels:/wheelhouse" pymol-builder
using this Dockerfile
FROM quay.io/pypa/manylinux_2_34_x86_64
RUN yum update -y && yum install -y \
glew-devel \
freeglut-devel \
libpng-devel \
freetype-devel \
libxml2-devel \
glm-devel \
msgpack-devel \
netcdf-devel \
mesa-libGLU-devel \
&& yum clean all \
&& rm -rf /var/cache/yum
RUN ln -sf /opt/python/cp311-cp311/bin/python3.11 /usr/local/bin/python3 && \
ln -sf /opt/python/cp311-cp311/bin/pip3.11 /usr/local/bin/pip3
WORKDIR /tmp
RUN git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git && \
mkdir -p /usr/local/include/mmtf && \
cp -r mmtf-cpp/include/mmtf/* /usr/local/include/mmtf/ && \
cp mmtf-cpp/include/mmtf.hpp /usr/local/include/ && \
rm -rf mmtf-cpp
WORKDIR /build
RUN git clone --depth 1 https://github.com/schrodinger/pymol-open-source.git
VOLUME /wheelhouse
CMD ["sh", "-c", "cd pymol-open-source && python3 -m build --wheel && mkdir -p /wheelhouse && auditwheel repair dist/*.whl -w /wheelhouse/"]
I think something like this would be great, and I know many have been wanting pypi wheels. Though I'm hoping that this would be done in a separate repository. I'll consult with others and circle back on this.
Thanks @JarrettSJohnson, happy with either approach.