Package manager for OpenFOAM
Project description
The package manager for OpenFOAM
Simplify your OpenFOAM workflows with easy package installation, management, and distribution
✨ Why styro?
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.
🎯 Key benefits
- 🚀 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
▶️ Demo
📋 Requirements
Before using styro, ensure you have:
- OpenFOAM (from openfoam.com or openfoam.org)
- Git
⏬ Installation
Choose any of the following methods:
-
With pip (requires Python 3.8 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)"
🧑💻 Command reference
| 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 |
📦 Package sources
✨ OpenFOAM Package Index (OPI)
styro automatically discovers packages from the community-maintained OpenFOAM Package Index.
styro install cfmesh
🖥️ Local Packages
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.
🌎 Git Repositories
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.
🤝 Contributing
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file styro-0.1.27.tar.gz.
File metadata
- Download URL: styro-0.1.27.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
558e1569a70bd7e82983cd630155641a1930674122606a5e50c4845c159c3603
|
|
| MD5 |
6342750cb42b305f3243590faa0ede0e
|
|
| BLAKE2b-256 |
774b77d20e5b94092050ef08bc0bb82ec750aa0dcd22754dc24c01c74023243e
|
File details
Details for the file styro-0.1.27-py3-none-any.whl.
File metadata
- Download URL: styro-0.1.27-py3-none-any.whl
- Upload date:
- Size: 28.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c10786c691feacabb76005bb98e30abdec53f38775fb96aba57031e80bf4a7de
|
|
| MD5 |
5eb4012fc8345739288eac58b89681e6
|
|
| BLAKE2b-256 |
90d9ce1917b8609301bad8febbd7b830d2a953fdb1255a02ac6d5ddde79eb655
|