Skip to content

fix: Bump pymssql to >=2.3.6 for macOS arm64 wheel support - #6668

Merged
ntkathole merged 1 commit into
feast-dev:masterfrom
adarshsm:fix/pymssql-arm64-wheel
Jul 30, 2026
Merged

fix: Bump pymssql to >=2.3.6 for macOS arm64 wheel support#6668
ntkathole merged 1 commit into
feast-dev:masterfrom
adarshsm:fix/pymssql-arm64-wheel

Conversation

@adarshsm

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

make install-python-dependencies-dev fails on macOS arm64 (Apple Silicon) while building pymssql from source (#5636):

× Failed to build `pymssql==2.3.2`

The azure optional extra pins pymssql<2.3.3, which resolves to 2.3.2 — a release that ships no macOS arm64 wheel, so it falls back to a source (FreeTDS/Cython) build that fails. Because the ci extra pulls in azure, every contributor running the dev install on Apple Silicon hits this.

Why the cap existed: the <2.3.3 pin was added in #5193 ("offline source builds of the feature-server image") because pymssql 2.3.3 dropped its Linux wheels, which the offline (no-network) image build relies on.

Why bumping is safe: pymssql 2.3.6+ restored the Linux wheels and added macOS arm64 wheels, so >=2.3.6 fixes Apple Silicon dev installs without regressing the offline-build reason the cap was introduced:

version linux x86_64 linux aarch64 macOS arm64
2.3.2 (current pin)
2.3.3
2.3.6+

Which issue(s) this PR fixes:

Fixes #5636

Misc

  • Regenerated py3.10/3.11/3.12-ci-requirements.txt with uv pip compile -p <ver> --no-strip-extras pyproject.toml --extra ci --generate-hashes. pymssql has no runtime dependencies (requires_dist: None), so the lock diff is limited to the pymssql version + hashes — no other packages change.
  • Verified on macOS arm64: pip install --only-binary=:all: pymssql==2.3.2No matching distribution found, while pymssql>=2.3.6 installs 2.3.13 from a wheel and imports cleanly.
  • Kept a min-bound (>=2.3.6) to match the sibling pyodbc>=4.0.30 in the same extra; happy to add an upper bound (e.g. <2.4) if preferred.

Checks

Testing Strategy

  • Manual tests (verified wheel install on macOS arm64; confirmed the regenerated lock diff is pymssql-only)
  • Testing is not required for this change (dependency/packaging fix; no code paths changed)

@adarshsm
adarshsm requested a review from a team as a code owner July 30, 2026 11:20
@codecov-commenter

codecov-commenter commented Jul 30, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 46.44%. Comparing base (ca355cb) to head (1c2ad51).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #6668   +/-   ##
=======================================
  Coverage   46.44%   46.44%           
=======================================
  Files         414      414           
  Lines       50134    50134           
  Branches     7173     7173           
=======================================
  Hits        23285    23285           
  Misses      25212    25212           
  Partials     1637     1637           
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 47.75% <ø> (ø)

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ca355cb...1c2ad51. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@adarshsm
adarshsm force-pushed the fix/pymssql-arm64-wheel branch from 0cd6698 to ec88b4d Compare July 30, 2026 13:27
The `azure` extra pinned `pymssql<2.3.3`, which resolves to 2.3.2. That
release ships no macOS arm64 wheel, so `make install-python-dependencies-dev`
fails building pymssql from source on Apple Silicon (feast-dev#5636).

The `<2.3.3` cap was added in feast-dev#5193 because pymssql 2.3.3 dropped its Linux
wheels, which the offline feature-server image build relies on. pymssql 2.3.6+
restored the Linux wheels and added macOS arm64 wheels, so `>=2.3.6` fixes
Apple Silicon dev installs without regressing the offline build.

Regenerated the py3.10/3.11/3.12 CI requirement locks (pymssql 2.3.2 -> 2.3.13)
and the pixi lock. pymssql has no runtime dependencies, so no other packages
change.

Fixes feast-dev#5636
@adarshsm
adarshsm force-pushed the fix/pymssql-arm64-wheel branch from ec88b4d to 1c2ad51 Compare July 30, 2026 13:33
@ntkathole
ntkathole merged commit 181eb35 into feast-dev:master Jul 30, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Failed to run make install-python-dependencies-dev

3 participants