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

  1. Clone Repository

    Clone the Goo repository from GitHub:

    git clone https://github.com/megasonlab/Goo.git
    cd Goo
    
  2. 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:

  1. Creates a dedicated hook directory for Goo and its dependencies

  2. Sets up an isolated Python environment

  3. Installs all required packages

  4. 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:

  1. Reviewing the API documentation for API documentation

  2. 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:

  1. Use Blender’s Python interpreter to ensure compatibility

  2. Build HTML documentation in docs/build/html

  3. Include all necessary dependencies from your setup

The documentation will be available at docs/build/html/index.html.

Publishing documentation:

  1. Build the documentation as shown above

  2. Copy contents from docs/build/html to a temporary directory

  3. Switch to the gh-pages branch

  4. Copy the contents from the temporary directory to the root

  5. Commit and create a pull request