Skip to content

Abandon conda → pip+cibuildwheel #158

Closed

Description

@alecjacobson

Conda seems hard to update as we make changes and isn't building for modern macs.

After some conversations with developers of other python binding libraries, it seems a better route would be to switch ti CIBuildWheel and pip.

Would be great to make some progress on this after the SIGGRAPH deadline. If anyone has more experience, I might need a hand.

meanwhile, building from source does work on arm macs via:

pip install git+https://github.com/libigl/libigl-python-bindings/

Activity

  1. alecjacobson commented on Jan 21, 2023

    @alecjacobson
    ContributorAuthor

    At first glance this doesn't look that bad. I'm testing things out over here https://github.com/alecjacobson/libigl-python-bindings/ so I can try setting up the github actions (not sure if I could have done that on a branch for this fork).

  2. BruegelN commented on Jan 21, 2023

    @BruegelN
    Contributor

    related to #45

    @alecjacobson I've started a similar effort a while ago (https://github.com/BruegelN/libigl-python-bindings) but can't recall why I got stuck.... The only thing I remember is that every shot took quite some time.
    I'll look into it again during the next week(s) 🙂

  3. alecjacobson commented on Jan 21, 2023

    @alecjacobson
    ContributorAuthor

    thanks, Nico. Indeed these builds take forever. I almost wonder if it's worth creating a for[k] that just has a single function wrapper like igl.read_triangle_mesh or something and then getting the whole CI → PyPI workflow in place.

  4. alecjacobson commented on Jan 25, 2023

    @alecjacobson
    ContributorAuthor

    I've successfully created a cibuildwheels github action and pushed to PyPi

    https://pypi.org/project/libigl/0.0.3/

    install with

    pip install libigl
    

    Would be great to battle-test this a bit before announcing it (and I'd propose abandoning conda).

  5. BruegelN commented on Jan 25, 2023

    @BruegelN
    Contributor

    Hi @alecjacobson,

    great Job!
    Happy to confirm it works on Linux.
    I've tested python3.7, python3.8, python3.9, python3.10 with the bash script below (run it in REPOROOT of libigl-python-bindings).
    Thanks for taking the trouble!

    #!/bin/bash
    set -e
    
    for version in 3.7 3.8 3.9 3.10
    do
     python$version -m venv venv$version
     source venv$version/bin/activate
     which python
     pip install libigl
     python tests/test_basic.py 
     deactivate
    done
  6. alecjacobson commented on Jan 26, 2023

    @alecjacobson
    ContributorAuthor

    Thanks for testing it!

    So far, I've also had good success. I picked up an old mac laptop and figured I'd just see what happens when I did pip install libigl. Immediately worked. What a big change from conda.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions