CI generating conda packages and conda-based CI tools for SOFA.
Important notes
Packages are now hosted on Prefix.dev: sofa-framework. The new channel to be used is:
https://prefix.dev/sofa-framework. Please do not use the old Anaconda channel sofa-framework (packages will be removed from Anaconda servers soon).
SOFA core
| Name | Description |
|---|---|
| libsofa | SOFA core runtime libraries |
| sofa-devel | SOFA core development files (runtime libraries + headers + cmake files) |
| sofa-gl | SOFA.GL rendering library (devel version) |
| sofa-app | SOFA runtime binaries (sofaRun) + required resources. Includes all SOFA core packages. |
External SOFA plugins
| Name | Description |
|---|---|
| sofa-python3 | Python bindings and scenes support. For macOS users, please read special instructions here. |
| sofa-stlib | SOFA Template Library |
| sofa-modelorderreduction | Plugin to Reduce Model |
| sofa-beamadapter | Plugin implementing Kirchhoff rods to simulate any 1D flexible structure |
| sofa-softrobots | Plugin containing components & method for soft robotics |
| sofa-softrobotsinverse | Plugin containing inverse method for soft robotics |
| sofa-cosserat | Plugin to simulate linear structures using Cosserat theory |
| sofa-glfw | Quick and simple GUI for SOFA, based on GLFW and optionally Dear ImGui |
| sofa-qt | Qt based GUI library for SOFA (devel version) |
Since last SOFA release 25.06, the default GUI has changed from Sofa.Qt to Sofa.ImGui.
conda install sofa-app sofa-python3 --channel https://prefix.dev/sofa-framework --channel conda-forge
Or
conda install sofa-app sofa-python3 sofa-stlib sofa-modelorderreduction sofa-beamadapter sofa-softrobots sofa-cosserat --channel https://prefix.dev/sofa-framework --channel conda-forge
Run SOFA application with its GUI
runSofa -l SofaImGui -g imgui
Run SOFA application with its GUI and SofaPython3 plugin
runSofa -l SofaImGui -g imgui -l SofaPython3
Please open an issue to report any problem.
If you are new to conda or do not have a recent conda version, consider installing miniforge available here. Miniforge is a conda distribution maintened by the conda-forge community, which is the most active open-source conda community. Miniforge is also preconfigured to use the conda-forge channel by default.
conda create -n sofa-env
conda activate sofa-env
You can install each of the previously mentioned package using conda command-line by specifying the sofa-framework custom channel. For example, if you want to install only SOFA runtime libraries, i.e. the libsofa package, use:
conda install libsofa --channel https://prefix.dev/sofa-framework
It is possible to list all the versions of each SOFA package that are available for your platform using conda search command. For example, searching versions for the libsofa package:
conda search libsofa --channel https://prefix.dev/sofa-framework
There is a bug with the python / libpython version provided by conda and current SofaPython3 (see this issue or related PR).
If you need to use the runSofa executable with SofaPython3 plugin, use the provided runSofa_with_python script (installed in the bin/ directory as well) instead the classical runSofa.