Skip to content

Releases: 499602D2/flowboost

v0.2.4

09 Mar 15:08
bb93623

Choose a tag to compare

Coerce types in Case.parametrize_configuration() using dimension typing (#15).

  • Type coercion moved from AxBackend into Case.parametrize_configuration() so all backends receive natively typed parameters
  • Added Dimension.coerce_value() with handling for bool-subclassing-int, numpy scalars, and lossy truncation warnings
  • 24 new tests for type coercion logic

Closes #9

v0.2.3

08 Mar 15:04
2f75df3

Choose a tag to compare

What's new

Docker-based OpenFOAM runtime (#12)

FlowBoost can now run OpenFOAM commands through Docker, enabling use on macOS and Windows where native OpenFOAM isn't available. A persistent container handles CLI tools like foamDictionary and foamCloneCase transparently. The container() context manager allows batching commands efficiently, and DockerLocal runs simulations in per-job containers.

Top-level namespace and API improvements (#14)

  • from flowboost import Case, Dictionary, Dimension, Objective, Session, foam_runtime
  • Case.run_command() for running shell commands in the case directory
  • foam_runtime() as the public entry point for the Docker/native runtime
  • IDE hover docs now work for all top-level exports
  • Class-level docstrings on Case, Manager, Session, Objective, Dimension
  • Per-call backend parameter on Data.load_data() and simple_function_object_reader()
  • Fix Entry.set() crash on unresolved lazy-loaded name/dimension

Dev tooling and docs (#13)

  • Pre-commit hooks: ruff (lint + format) and ty (advisory type checking)
  • CONTRIBUTING.md with setup, tooling, testing, and CI/CD docs
  • README updated with OpenFOAM platform matrix and Docker usage guide
  • cp -r replaced with shutil.copytree for Windows compatibility

v0.2.2

07 Mar 13:36
ad65d7c

Choose a tag to compare

Added

  • CI workflow with Python 3.10–3.14 test matrix
  • PyPI publish workflow via trusted publishing on version tags
  • Dimension name validation (no spaces)

Fixed

  • Ax compatibility: Trial import, verbose kwarg, space restrictions
  • td_format returning "0 seconds" for zero timedelta
  • Multi-line f-strings for Python 3.10 compatibility
  • Flaky session test fixture with pytest-xdist
  • Skip tests gracefully when test data directory is absent

Changed

  • Bump ax-platform floor to >=1.0
  • Bump polars floor to >=1.11, replace deprecated streaming parameter
  • Fix package description: "library" instead of "framework"

v0.2.1

07 Mar 12:18
ba51795

Choose a tag to compare

Changed

  • Migrate packaging from Poetry to uv
  • Remove poetry.lock, requirements/, and flowboost/scripts/requirements.py
  • Add dependency version floors
  • Add PyPI classifiers and Python version badge
  • Add pytest-xdist to dev dependencies
  • Rewrite README: installation instructions, code examples, descriptions

Removed

  • CHANGELOG.md in favor of GitHub releases

v0.2.0

07 Mar 12:10
7f8f931

Choose a tag to compare

Thanks to @blttkgl for this release!

Added

  • Slurm scheduler support
  • New aerofoilNACA0012Steady example (replaces aachenBomb)
  • Case.copy() static method as alternative to foamCloneCase
  • Save objective outputs to case metadata
  • Design log with raw values
  • Top designs printing
  • Configurable submission script location
  • Max designs limit for optimizer sessions
  • Clean pending cases on session restart

Changed

  • Chronological job labeling
  • Case file prefix now includes dimension names
  • Session outputs multiple objectives, sorted by first objective
  • Metadata contains raw outputs only (no normalization)

Fixed

  • Ax interface stuck in random Sobol sampling
  • Type conversion for Ax parameter attachment
  • Function object reader: tab-separated headers, whitespace stripping
  • String parameter values in print_top_designs formatting
  • Job manager: return False when working directory doesn't exist

v0.1.1

07 Mar 12:09

Choose a tag to compare

Added

  • Support for reading and writing dimensioned entries + tests

Changed

  • Improved case cloning

Fixed

  • Linter warnings in tests
  • Typo in examples