Skip to content

fix: relax ruamel.yaml constraint to support Airflow 3.2+ environments#2763

Open
cschanhniem wants to merge 1 commit into
sodadata:mainfrom
cschanhniem:fix/relax-ruamel-yaml-constraint
Open

fix: relax ruamel.yaml constraint to support Airflow 3.2+ environments#2763
cschanhniem wants to merge 1 commit into
sodadata:mainfrom
cschanhniem:fix/relax-ruamel-yaml-constraint

Conversation

@cschanhniem

Copy link
Copy Markdown

Summary

soda-core pins ruamel.yaml to <0.18.0, but Apache Airflow 3.2.1 constraints require ruamel.yaml==0.19.1. This makes soda-core (and all connector packages depending on it) uninstallable in Airflow 3.2+ environments using official constraint files.

Fixes #2746

Changes

  • Relaxed the upper bound from <0.18.0 to <0.20.0

Why this is safe

The core APIs used by soda-core — YAML(), CommentedMap, CommentedSeq, MarkedYAMLError, .lc line/column tracking — are stable across ruamel.yaml 0.17.x through 0.19.x.

Current usage across the codebase:

  • soda-core/src/soda_core/common/yaml.py: YAML(), CommentedMap, CommentedSeq, MarkedYAMLError
  • soda-core/src/soda_core/contracts/impl/contract_verification_impl.py: from ruamel.yaml import YAML

None of these APIs have changed in a breaking way between 0.17 and 0.19.

Test plan

  • Existing tests should pass (no API changes, only metadata bound relaxed)
  • Verified the constraint is resolvable with Airflow 3.2.1's ruamel.yaml==0.19.1

Closes #2746

soda-core pins ruamel.yaml to <0.18.0, but Apache Airflow 3.2.1
constraints require ruamel.yaml==0.19.1. This prevents running Soda
data quality checks inside Airflow environments using official constraints.

The core APIs used by soda-core (YAML(), CommentedMap, CommentedSeq,
MarkedYAMLError, .lc line/col tracking) are stable across ruamel.yaml
0.17.x through 0.19.x. Expanding the upper bound to <0.20.0 removes
the blocker for Airflow users without changing the minimum supported
version.

Refs: sodadata#2746

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
@CLAassistant

CLAassistant commented Jun 19, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@sonarqubecloud

Copy link
Copy Markdown

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.

soda-core 4.7.0 incompatible with Airflow 3.2.1 constraints due to ruamel.yaml version conflict

2 participants