Skip to content

fix: relax beautifulsoup4 pin to support Frappe v16 (#198)#205

Merged
buildswithpaul merged 1 commit into
developfrom
bug/198-relax-beautifulsoup4-pin
Jun 10, 2026
Merged

fix: relax beautifulsoup4 pin to support Frappe v16 (#198)#205
buildswithpaul merged 1 commit into
developfrom
bug/198-relax-beautifulsoup4-pin

Conversation

@buildswithpaul

Copy link
Copy Markdown
Owner

Summary

Fixes Observation 1 of #198 — the beautifulsoup4~=4.12.2 pin downgrades bs4 on Frappe v16 benches.

Root cause (verified against both Frappe versions)

  • Frappe v15: beautifulsoup4~=4.12.2 (locks to 4.12.*)
  • Frappe v16: beautifulsoup4~=4.13.5 (locks to 4.13.*)

FAC's ~=4.12.2 intersects with v16's requirement only at 4.12.x, so bench get-app downgrades bs4 from 4.13.x to 4.12.x on a v16 bench — exactly the reporter's pip freeze evidence (4.13.5 → 4.12.3).

Fix

-"beautifulsoup4~=4.12.2",  # Compatible with frappe ~=4.12.2 requirement
+"beautifulsoup4>=4.12,<5",  # Span Frappe v15 (~=4.12.2) and v16 (~=4.13.5) without forcing a downgrade

>=4.12,<5 is satisfiable on both v15 (4.12.x) and v16 (4.13.x) and no longer forces a downgrade. FAC uses bs4 only as a transitive convenience and relies on no 4.12-vs-4.13 behavioral difference.

Scope

This PR covers Observation 1 only. Observation 2 (moving the heavy analytics deps to an optional [analytics] extra) is a larger, mildly-breaking packaging change with plugin-loading implications and is tracked separately.

Checklist

  • Conventional commit (fix:)
  • Targets develop
  • No code/DocType changes (dependency metadata only)

FAC pinned beautifulsoup4~=4.12.2, which locks to the 4.12.* series. Frappe
v15 requires ~=4.12.2 but Frappe v16 requires ~=4.13.5, so installing FAC on a
v16 bench resolved bs4 down to 4.12.x — downgrading a dependency the rest of
the bench expected at 4.13.x.

Relax to beautifulsoup4>=4.12,<5 so the constraint spans both Frappe v15
(4.12.x) and v16 (4.13.x) without forcing a downgrade. FAC uses bs4 only as a
transitive convenience and does not depend on any 4.12-vs-4.13 behavior.

Fixes #198 (Observation 1). Observation 2 (optional analytics extras) is a
larger packaging change tracked separately.
@buildswithpaul buildswithpaul added the bug Something isn't working label Jun 10, 2026
@buildswithpaul buildswithpaul merged commit 5baa21c into develop Jun 10, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

beautifulsoup4 ~=4.12.2 pin downgrades dependency in v16-style benches; analytics deps should be optional extras

2 participants