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

CI workflow for pypi wheels #407

Open
nrontsis opened this issue Nov 27, 2024 · 0 comments
Open

CI workflow for pypi wheels #407

nrontsis opened this issue Nov 27, 2024 · 0 comments

Comments

@nrontsis
Copy link

nrontsis commented Nov 27, 2024

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/"]
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

1 participant