
The package manager for OpenFOAM
Simplify your OpenFOAM workflows with easy package installation, management, and distribution
styro brings modern package management to the OpenFOAM ecosystem, making it easy to discover, install, and manage community-contributed packages. Whether you're a researcher, engineer, and/or developer, styro streamlines your workflow by eliminating manual compilation and dependency management.
- π One-command installation - Install OpenFOAM packages with a single command
- π Community-driven - Access packages from the OpenFOAM Package Index (OPI)
- π§© Broad compatibility - Works seamlessly with OpenFOAM from openfoam.com and openfoam.org
- π¦ Multiple sources - Install from OPI, local directories, or Git repositories
- π Easy updates - Upgrade packages with automatic dependency resolution
- π οΈ Developer-friendly - Simple package testing, definition and distribution
Before using styro, ensure you have:
- OpenFOAM (from openfoam.com or openfoam.org)
- Git
Choose any of the following methods:
-
With pip (requires Python 3.9 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)"
-
Docker image:
docker pull microfluidica/styro
Command | Description | Example |
---|---|---|
β¬ styro install <packages> |
Install one or more packages | styro install cfmesh |
β¬οΈ styro install --upgrade <packages> |
Upgrade already installed packages | styro install --upgrade cfmesh |
ποΈ styro uninstall <packages> |
Remove installed packages | styro uninstall cfmesh |
π styro freeze |
List all installed packages | styro freeze |
π styro install --upgrade styro |
Upgrade styro itself (only for standalone installs) | styro install --upgrade styro |
styro automatically discovers packages from the community-maintained OpenFOAM Package Index.
styro install cfmesh
Install packages from your local filesystem:
styro install /path/to/my-custom-package
Pro tip: Add a metadata.json
file to the package directory to customize installation behavior.
Install directly from any Git repository:
styro install https://github.com/username/my-openfoam-package.git
Just like local packages, add a metadata.json
file to the repository root for custom installation settings.
We welcome contributions! Here's how you can help:
- π¦ Add packages to the OpenFOAM Package Index
- π Report bugs or request features via GitHub Issues
- π§ Submit pull requests to improve styro itself