Skip to content

Bump gufe / openfe / feflow runtime env pins to current latest stable#512

Merged
dotsdl merged 1 commit into
mainfrom
bump-deps-feflow-0.2.1
Jul 2, 2026
Merged

Bump gufe / openfe / feflow runtime env pins to current latest stable#512
dotsdl merged 1 commit into
mainfrom
bump-deps-feflow-0.2.1

Conversation

@dotsdl

@dotsdl dotsdl commented Jun 26, 2026

Copy link
Copy Markdown
Member

Summary

Extracted from #507 to unblock other inflight PRs that need the newer dependency set without waiting for the larger feature work.

feflow 0.2.1 hit conda-forge and now pins gufe >=1.9.0,<2 and openfe >=1.10.0,<2. The existing pins (gufe=1.6.1 / openfe=1.6.1 / feflow=0.1.4 in the deployment envs, gufe=1.7.1 / openfe=1.8.0 in test) leave callers unable to use feflow 0.2.1 against an alchemiscale env.

This PR bumps the trio to the latest mutually-compatible exact pins across the four runtime env files:

File Before After
devtools/conda-envs/test.yml gufe=1.7.1, openfe=1.8.0, feflow>=0.1.4 gufe=1.10.0, openfe=1.11.1, feflow=0.2.1
devtools/conda-envs/alchemiscale-server.yml gufe=1.6.1, openfe=1.6.1, feflow=0.1.4 gufe=1.10.0, openfe=1.11.1, feflow=0.2.1
devtools/conda-envs/alchemiscale-compute.yml gufe=1.6.1, openfe=1.6.1, feflow=0.1.4 gufe=1.10.0, openfe=1.11.1, feflow=0.2.1
devtools/conda-envs/alchemiscale-client.yml gufe=1.6.1, openfe=1.6.1, feflow=0.1.4 gufe=1.10.0, openfe=1.11.1, feflow=0.2.1

Version cascade arithmetic

  • feflow=0.2.1 requires gufe >=1.9.0,<2 and openfe >=1.10.0,<2.
  • openfe-base=1.11.1 requires gufe >=1.10.0,<1.11 → so openfe=1.11.1 forces gufe=1.10.0 exactly.
  • openfe-base=1.10.0 requires gufe >=1.9.0,<1.10 (the other arm of the cascade).
  • The 1.11.1 / 1.10.0 pair was picked as the current latest stable.

Why docs.yml is intentionally unchanged

The docs build runs sphinx 9's autodoc, which imports gufe.settings.models and trips on:

ph: PositiveFloat | None = Field(None, description="Simulation pH.")
    ~~~~~~~~~~~~~~^~~~~~
TypeError: unsupported operand type(s) for |: 'PositiveFloat' and 'NoneType'

This works fine in gufe 1.3.0 (pydantic v1, PositiveFloat is a class with __or__) but breaks in gufe >=1.8.0 (pydantic v2, PositiveFloat is Annotated[float, ...], no __or__). docs.yml only needs gufe for intersphinx and type-hint resolution, so leaving it at 1.3.0 keeps the docs build green; the docs env bump is a separate concern, not part of this maintenance PR.

Validation

This trio was applied on #507 and CI confirmed green across the test matrix (3.11/3.12/3.13) and ReadTheDocs.

Test plan

  • CI tests matrix green on ubuntu / 3.11, 3.12, 3.13
  • CI black green
  • docs/readthedocs.org green (it's not changed here, so this is just confirming nothing else regressed)

🤖 Generated with Claude Code

feflow 0.2.1 hit conda-forge and now pins gufe >=1.9.0,<2 and
openfe >=1.10.0,<2. The existing pins (gufe=1.6.1 / openfe=1.6.1 /
feflow=0.1.4 across the deployment envs, and gufe=1.7.1 / openfe=1.8.0
in test) leave callers unable to use feflow 0.2.1 against an
alchemiscale env.

Bump the trio to the latest mutually-compatible exact pins:

  - gufe = 1.10.0   (satisfies openfe 1.11.1's gufe >=1.10.0,<1.11)
  - openfe = 1.11.1 (satisfies feflow 0.2.1's openfe >=1.10.0,<2)
  - feflow = 0.2.1  (latest stable)

Apply across the four runtime env files: test, server, compute,
client. devtools/conda-envs/docs.yml is intentionally unchanged --
the docs build runs sphinx 9's autodoc, which trips on the
`PositiveFloat | None` annotation in gufe >=1.8.0 (works with
pydantic v1 in gufe 1.3.0; pydantic v2 in gufe 1.10.0 makes
PositiveFloat an `Annotated[float, ...]` with no `__or__`). docs.yml
only needs gufe for intersphinx and type-hint resolution, so leaving
it at 1.3.0 keeps the docs build green; addressing the docs gufe
bump is a separate concern from this maintenance bump.

Extracted from PR #507 to unblock other inflight PRs needing the
newer dependency set.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.54%. Comparing base (08a386c) to head (6bc391a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #512   +/-   ##
=======================================
  Coverage   80.54%   80.54%           
=======================================
  Files          31       31           
  Lines        4877     4877           
=======================================
  Hits         3928     3928           
  Misses        949      949           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dotsdl dotsdl left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm satisfied with these changes.

@dotsdl dotsdl merged commit 0939a1f into main Jul 2, 2026
7 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.

1 participant