Skip to content

feat: introduce single-stream ProcessUnit variants of Mixer and Splitter#1449

Merged
olelod merged 1 commit intomainfrom
refactor/mixers-and-splitters-v2
Mar 24, 2026
Merged

feat: introduce single-stream ProcessUnit variants of Mixer and Splitter#1449
olelod merged 1 commit intomainfrom
refactor/mixers-and-splitters-v2

Conversation

@olelod
Copy link
Copy Markdown
Contributor

@olelod olelod commented Mar 19, 2026

If several streams enter between two stages, there will be one mixer for each of them. Same with splitters, if several streams/rates leave between two stages.

  • Rename Mixer → LegacyMixer
  • Rename Splitter → LegacySplitter
  • Introduce Mixer(ProcessUnit) in process_units/mixer.py: adds one external stream to a stream
  • Introduce Splitter(ProcessUnit) in process_units/splitter.py: removes a fixed rate from a stream
  • Add tests for new Mixer and Splitter

Type of Work

  • Patch: X.Y.Z+1. NEGLIGIBLE visible changes, does not change input or output - OR changes behaviour. Use chore:, refactor: etc
  • Minor: X.Y+1.Z. Minor changes, might ADD new input (YAML), or other backwards-compatible changes. Use feat:, fix:
  • Major: X+1.Y.Z. Major and most likely BREAKING changes, wo. backwards compatibility, or removing temporary backwards compatibility functionality. Use ! or BREAKING:.

See here (internal): https://github.com/equinor/ecalc-internal/discussions/1044

Have you remembered and considered?

  • IF FEAT: I have remembered to update documentation
  • IF FIX OR FEAT: I have remembered to update manual changelog (docs/drafts/next.draft.md)
  • IF BREAKING: I have remembered to update migration guide (docs/docs/migration_guides/)
  • IF BREAKING: I have committed with BREAKING: in footer or ! in header
  • I have added tests (if not, comment why)
  • I have used conventional commits syntax (if you squash, make sure that conventional commit is used)
  • I have included the Github issue nr in the footer!

What is this PR all about?

What else did you consider?

Between the lines?

@olelod olelod requested a review from a team as a code owner March 19, 2026 16:56
@olelod olelod force-pushed the refactor/mixers-and-splitters-v2 branch 2 times, most recently from b7656d0 to 4225c7c Compare March 19, 2026 17:05
…ocessUnit variants

- Rename Mixer → LegacyMixer (mixer/mixer.py → legacy_mixer/legacy_mixer.py)
- Rename Splitter → LegacySplitter (splitter/splitter.py → legacy_splitter/legacy_splitter.py)
- Introduce Mixer(ProcessUnit) in process_units/mixer.py: adds one external stream to a through-stream
- Introduce Splitter(ProcessUnit) in process_units/splitter.py: removes a fixed rate from a through-stream
- Add tests for new Mixer and Splitter
@olelod olelod force-pushed the refactor/mixers-and-splitters-v2 branch from 4225c7c to 3f089e1 Compare March 24, 2026 05:54
@olelod olelod merged commit ea02f9a into main Mar 24, 2026
24 checks passed
@olelod olelod deleted the refactor/mixers-and-splitters-v2 branch March 24, 2026 05:58
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.

2 participants