Skip to content

Release 3.6.0#96

Merged
corentincarton merged 55 commits into
mainfrom
develop
May 7, 2026
Merged

Release 3.6.0#96
corentincarton merged 55 commits into
mainfrom
develop

Conversation

@corentincarton
Copy link
Copy Markdown
Collaborator

@corentincarton corentincarton commented May 7, 2026

Description

This pull request introduces significant improvements and refactoring to the handling of repeat attributes, follow logic, and mathematical operations in the codebase. It unifies and refines the repeat attribute system, simplifies the follow logic to allow following nodes directly, and adds support for multiplication in expression trees. Additionally, several documentation and API adjustments were made to reflect these changes.

Repeat Attribute System Refactor:

  • Introduced a new base Repeat class and updated all repeat attribute classes (RepeatDay, RepeatString, RepeatEnumerated, RepeatDateList, RepeatInteger, RepeatDate) to inherit from it, centralizing repeat logic and improving consistency. [1] [2] [3] [4] [5] [6]
  • Removed the string_or_enumerated helper and deprecated repeat construction via lists in make_variable, enforcing explicit repeat attribute instantiation. [1] [2]
  • Added a repeat property to base nodes, defaulting to None, to standardize repeat attribute access.

Follow Logic Simplification:

  • Refactored the Follow attribute to allow following a node or its repeat attribute directly, rather than requiring a repeat attribute, making the API more intuitive and flexible.
  • Updated documentation and examples to reflect this new follow logic, including in notebooks and docstrings. [1] [2]

Mathematical Expression Enhancements:

  • Added a Mul (multiplication) operation to the expression system and updated all relevant expression and repeat attribute classes to support multiplication, in addition to addition and subtraction. [1] [2] [3] [4] [5] [6]

Documentation and API Reference Updates:

  • Updated API references and introductory course notebooks to match the new repeat and follow logic, including replacing ExternYMD with ExternRepeat and updating class listings. [1] [2] [3]
  • Clarified and extended docstrings for several classes, including Mirror, and improved parameter validation (e.g., for polling intervals). [1] [2]

Miscellaneous Improvements:

  • Updated the Teams notification GitHub Action to use the correct repository.
  • Various code cleanup and minor bug fixes, such as handling None in _create and minor simplifications in expressions. [1] [2] [3]

These changes collectively improve the maintainability, usability, and flexibility of the repeat and follow features, while ensuring the documentation and API remain consistent and clear.

Contributor Declaration

By opening this pull request, I affirm the following:

  • All authors agree to the Contributor License Agreement.
  • The code follows the project's coding standards.
  • I have performed self-review and added comments where needed.
  • I have added or updated tests to verify that my changes are effective and functional.
  • I have run all existing tests and confirmed they pass.

📚 Documentation preview 📚: https://pyflow-workflow-generator--96.org.readthedocs.build/en/96/

@corentincarton corentincarton merged commit ae9924e into main May 7, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants