Installation¶
Prerequisites¶
Blender Installation¶
Goo runs in Blender. Currently supported versions:
Recommended: Blender 4.0 LTS (Download)
Supported: Blender 3.3 through 4.0
Warning
Blender 4.5 is currently not supported due to compatibility issues with the RoadRunner Simulation Engine. We are actively working on resolving this limitation.
System Requirements¶
Python 3.10 or newer
- Operating System:
Windows 10/11
macOS 10.15 or newer
Linux (major distributions)
Installing Goo¶
Clone Repository
Clone the Goo repository from GitHub:
git clone https://github.com/megasonlab/Goo.git cd Goo
Run Setup
Execute the setup command:
make setup
The setup will prompt for your Blender executable location:
macOS:
/Applications/Blender-x.x.app/Contents/MacOS/Blender
Windows:
C:\\Program Files\\Blender Foundation\\Blender x.x\\blender.exe
Linux: Typically
/usr/bin/blender
or the installation path
Your Blender path is saved in
.blender_path
for future use.
How Setup Works¶
The setup process:
Creates a dedicated hook directory for Goo and its dependencies
Sets up an isolated Python environment
Installs all required packages
Configures Blender to recognize the Goo installation
This approach ensures:
Clean separation from system Python
Version-specific compatibility
Easy updates and maintenance
No conflicts with Blender’s internal Python
Dependencies¶
Core Dependencies¶
- bpy (Blender Python API)
Bundled with Blender
Provides 3D manipulation capabilities
Scientific Computing¶
numpy - Numerical computations
scipy - Scientific algorithms
xarray - N-D labeled arrays
Simulation Engines¶
antimony - Biological modeling language
libroadrunner - SBML simulation engine
Data Handling¶
h5py - HDF5 file format support
tifffile - TIFF file handling
All dependencies are automatically managed through our setup process. Manual installation is not recommended as it may lead to version conflicts or compatibility issues.
Verification¶
To verify your installation:
make test
This will run the test suite to ensure all components are correctly installed and functioning.
For detailed information about your setup:
make info
Next Steps¶
After installation, we recommend:
Reviewing the API documentation for API documentation
Exploring the Goo modules: - goo.cell for cell manipulation - goo.force for force calculations - goo.growth for growth models
Note
It is possible to install the dependencies direclty in the Blender Python interpreter. However, we do not recommend this approach as it might lead to conflicts with the system Python interpreter and is harder to manage across different versions of Blender.
Documentation¶
Documentation uses Sphinx and follows Google-style docstrings. To build the docs:
make docs
This will:
Use Blender’s Python interpreter to ensure compatibility
Build HTML documentation in
docs/build/html
Include all necessary dependencies from your setup
The documentation will be available at docs/build/html/index.html
.
Publishing documentation:
Build the documentation as shown above
Copy contents from
docs/build/html
to a temporary directorySwitch to the
gh-pages
branchCopy the contents from the temporary directory to the root
Commit and create a pull request