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

[PyPI] [Blender] Make a platform independent wheel package by download-on-fly? #1987

Open
archibate opened this issue Oct 22, 2020 · 2 comments
Assignees
Labels
feature request Suggest an idea on this project

Comments

@archibate
Copy link
Collaborator

archibate commented Oct 22, 2020

Concisely describe the proposed feature
I found it extremely hard to distribute a platform independent ZIP bundle for Taichi Blend. For now I have to release 9 ZIP files for every combination of (win/linux/osx, 36/37/38), due to the fact that Blender doesn't have pip.
So I'd like to create a taichi package that doesn't have platform specifications. (Actually we've been on this before?)

Describe the solution you'd like (if any)
When started for the first time, the Python module taichi found that taichi_core.so is missing.
Then it should download the corresponding so file according to the detected platform information (win/linux/osx, 36/37/38).
Of course, the platform dependent packages should still be released. We just need to add an extra taichi-none.whl and I'll download that file in my Taichi Blend build script.

Additional comments
Another reason is that why taichi is as large as > 50 MiB is mainly due to the taichi_core.so. Download-on-fly could also helps ease the size-limit policy restricted by PyPI, if we're going to grow this size further.

@archibate archibate added the feature request Suggest an idea on this project label Oct 22, 2020
@yuanming-hu
Copy link
Member

Sounds like a good idea! I guess the easy way to do this, is by downloading one out of the nine wheels from PyPI based on platform information and then extract the wheel (which is essentially a zip IIRC). Then we get the taichi_core shared object.
It's fine to download the Python files multiple times since they are small anyway.

This does sound like a useful feature to have, so I added it to the v0.8 roadmap.

@yuanming-hu yuanming-hu mentioned this issue Oct 22, 2020
21 tasks
@k-ye k-ye mentioned this issue Jun 3, 2021
43 tasks
@frostming frostming self-assigned this Apr 12, 2022
@frostming
Copy link
Collaborator

I just came across this issue in the backlog and will take a look. But I will not be likely to start working until #4624 is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Suggest an idea on this project
Projects
None yet
Development

No branches or pull requests

3 participants