GeezerVison is showing github.com — fix: Bump pymssql to >=2.3.6 for macOS arm64 wheel support by adarshsm · Pull Request #6668 · feast-dev/feast
Conversation
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.2 → No 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)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
⚠️ Please install the to ensure uploads and comments are reliably processed by Codecov.
✅ 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

@@ 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
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.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.