Skip to content

Phlex v0.4.2

Choose a tag to compare

@knoepfel knoepfel released this 08 Oct 17:00
· 75 commits to main since this release
ae084f4

Important

This is a prototype release. It is known to have incomplete functionality with respect to the Phlex conceptual design; backwards compatibility of API is not guaranteed. The following API is intended for use:

  • PHLEX_REGISTER_ALGORITHMS(...) opener for registering physics algorithms
  • PHLEX_REGISTER_PROVIDERS(...) opener for registering explicit data-product providers
  • PHLEX_REGISTER_SOURCE(...) opener for registering a user-defined input source
  • PHLEX_REGISTER_DRIVER(...) opener for registering a user-defined framework-driver function
  • PHLEX_REGISTER_RESOURCES(...) opener for registering resource plugins
  • Anything in the top-level phlex namespace

Interfaces in phlex::experimental may change; interfaces containing internal or detail should not be directly used.


Phlex v0.4.2 is a patch release that corrects a Python algorithm-registration defect present in Phlex v0.4.1:

  • Positive concurrency arguments supplied when registering Python transforms and observers were not applied correctly

No new features are introduced. Users who specify concurrency settings through the Python interface are encouraged to upgrade.

Instructions for building code that uses Phlex and running simple Phlex jobs can be found in the phlex-examples repository.

Note

Phlex v0.4.2 uses C++23. You will need a compiler with sufficient C++23 support to build and install this release (GCC 15, LLVM 21, etc.).


Bug Fixes

  1. Honor Python algorithm concurrency settings (#952, included via #953)

The Python registration interface parsed the concurrency argument but, for positive values, constructed the concurrency setting from the existing internal value instead of the supplied argument. Python transforms and observers now use the requested positive concurrency value, including for their associated conversion nodes. Omitting the argument or supplying a value at or below zero continues to select serial execution.

The release also removes obsolete commented-out provider-registration examples; this cleanup does not change executable behavior.


Included Pull Requests

Full Changelog: v0.4.1...v0.4.2