taichi-dev / taichi_elements

High-performance multi-material continuum physics engine in Taichi
MIT License
489 stars 70 forks source link

Create make release utils #38

Closed PavelBlend closed 4 years ago

PavelBlend commented 4 years ago

create a script that automates the creation of zip archives for release.

yuanming-hu commented 4 years ago

There will be two groups of people, one from the Blender community the other from the Python community. For the latter, I can do my job and upload it to PyPI, but I'm not familiar with how people release a package for Blender...

PavelBlend commented 4 years ago

For a blender, do the following: create a zip archive that will store the following:

I have experience creating releases for blender so that I can do this.

It is necessary that the zip archive has everything you need to work and does not require additional installation of packages. This will save users from potential problems.

yuanming-hu commented 4 years ago

It is necessary that the zip archive has everything you need to work and does not require additional installation of packages. This will save users from potential problems.

I'm a little worried about this - taichi_elements depends on taichi, which in turn depends on other PyPI packages such as numpy. I'm not sure if it is possible to make a release that is completely self-contained.

In the worst case, we can write a script that automatically executes the installation of pip, and then taichi_elements, for the Blender python.

(I think this is already much simpler than asking the user to download and build from scratch...)

PavelBlend commented 4 years ago

And what packages are still needed besides numpy? numpy is in the blender. But if in addition to numpy you need to install more dependencies, then you can add the install taichi button in the add-on settings (in the blender), which would install taichi automatically. that is, the installation process will be as follows:

yuanming-hu commented 4 years ago

There are actually quite a few: https://github.com/taichi-dev/taichi/blob/588e504b02d6ca6b314d89fb2cd7fc0e41e70467/python/setup.temp.py#L29-L37

I guess we will have to install pip for the user, and then rely on pip to figure out the dependency...

PavelBlend commented 4 years ago

50ef3232f080030213bcb7578a48d03647a9445b I close this issue as separate issues were created.