SK-2872: Public Release - Clean up and upgrade SDK production dependencies#267
Merged
Conversation
Devesh-Skyflow
approved these changes
Jun 12, 2026
skyflow-bharti
approved these changes
Jun 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
install_requireswere never imported inskyflow/source — everypip install skyflowwas pulling them in unnecessarilycryptography,httpx,coverage,codespell,ruffhad no version constraints, meaning any version including breaking or vulnerable ones could silently installrequests ~= 2.32.3used compatible-release operator which locks to2.32.x— same pattern that caused dependency conflicts for existing customers. Loosened to floor-only>= 2.28.0Goal
pip install skyflowresolves with a clean minimal set of runtime deps that don't conflict with consumers' existing environmentsrequirements.txtmirrorssetup.py install_requiresexactlyChanges
Removed from
install_requires(4 deps)python_dateutilskyflow/setuptoolssetup.pyitself, not at runtimeurllib3requestsDateTimeskyflow/Updated constraints
pydantic>= 2>= 2.0.0>= 1.9.2but floor set to>= 2.0.0— SDK uses pydantic v2 API throughout, v1.x would cause import errorspydantic-core>= 2.18.2typing-extensions>= 4.7.1>= 4.0.0httpx>= 0.21.2PyJWT>= 2.12, < 3>= 2.12, < 3requests~= 2.32.3>= 2.28.0cryptography>= 44.0.2python-dotenv>= 1.0, < 2>= 1.1.0, < 2Dev extras updated
codespell>= 2.4.1ruff>= 0.9.0pre-commit>= 4.3.0Testing
>=(floor-only) as required for a published SDK — consumers can resolve alongside their own dependency graphs without conflicts