Skip to content

gerlero/styro

Repository files navigation

🏗️ styro: A community package manager for OpenFOAM

CI Codecov Checked with mypy Ruff uv Publish PyPI Conda Version Binaries OpenFOAM

▶️ Demo

Demo

⏬ Installation

Choose any of the following methods:

  • With pip (requires Python 3.7 or later):

    pip install styro
  • With conda:

    conda install -c conda-forge styro
  • With Homebrew:

    brew install gerlero/openfoam/styro
  • Standalone binary (installs to $FOAM_USER_APPBIN):

    /bin/sh -c "$(curl https://raw.githubusercontent.com/gerlero/styro/main/install.sh)"

To actually install packages, styro needs OpenFOAM (from either openfoam.com or openfoam.org) and Git.

🧑‍💻 Available commands

  • styro install <packages>: Install a package or packages (pass --upgrade to upgrade already installed packages)
  • styro uninstall <packages>: Uninstall a package or packages
  • styro freeze: List installed packages

📦 Available packages

✨ Indexed packages (OPI)

styro is able to install community packages listed in the OpenFOAM Package Index (OPI).

See here for the complete list of available packages.

🖥️ Local packages

You can also install local packages by passing the path to the package directory:

styro install /path/to/package

For customization, you can add a metadata.json file directly into the package directory.

🌎 Git repositories

Installing directly from a Git repository is also supported. E.g.:

styro install https://github.com/gerlero/reagency.git

Same as with local packages, you can add a metadata.json file to the root of the repository to customize the installation.