{{ message }}
fix(deps): pin ty and cap nebula5-python to restore the ty CI jobs - #1519
Open
edwinyyyu wants to merge 1 commit into
Open
fix(deps): pin ty and cap nebula5-python to restore the ty CI jobs#1519edwinyyyu wants to merge 1 commit into
edwinyyyu wants to merge 1 commit into
Conversation
15 tasks
PR MemMachine#1477 refreshed the whole uv.lock (139 packages changed version) alongside its feature work. Two of those bumps broke the `ty static check` jobs, on main and on every PR branched from it since: * ty 0.0.38 -> 0.0.59. `ty~=0.0.38` expands to `>=0.0.38, ==0.0.*`, which for a pre-1.0 checker that adds diagnostics every release is not a pin. 0.0.59 reports 1 new error in the client package and 7 more in the server package. * nebula5-python 5.2.2 -> 5.3.0. 5.3.0 removed `NebulaAsyncClient`, `SessionConfig` and `SessionPoolConfig` from `nebulagraph_python.client` (now `AsyncNebulaClient`, `ConnectionConfig`, `NebulaPoolConfig`), giving 10 unresolved-import errors. That is a real runtime break for the nebula backend, not just a typing one. 5.3.0 also adds `pool==0.1.2.dev0` and HuggingFace `datasets` as runtime dependencies. Pin `ty==0.0.38`, matching the existing `ruff==0.15.14` convention, so checker upgrades arrive as their own reviewable Dependabot PR rather than riding along in an unrelated lockfile refresh. Cap `nebula5-python<5.3` until the 5.3 client API port is done. Relocking changes only those two packages, plus dropping the three transitive deps `pool` had dragged in. The spaCy/multihop additions from MemMachine#1477 are untouched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Edwin Yu <edwinyyyu@gmail.com>
edwinyyyu
force-pushed
the
fix/pin-ty-and-nebula
branch
from
August 25, 2026 22:58
2baf80a to
8deec1b
Compare
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 CI is red
The
ty static check client/server packagejobs have been failing on main and on every PR branched from it since #1477 landed (2d28c1c, Aug 14). It is not PR-specific and it is not a CI auto-upgrade -- the workflow already runsuv run --frozen, so it faithfully installs whateveruv.locksays.#1477 refreshed the whole
uv.lockalongside its feature work: 139 packages changed version, 24 were added. Two of those bumps broke the type checker:1.
ty0.0.38 -> 0.0.59pyproject.tomlsaysty~=0.0.38, which expands to>=0.0.38, ==0.0.*. For a pre-1.0 checker that adds diagnostics on essentially every release, that is not a pin -- anything below 0.1.0 is fair game. So a routine relock jumped the checker 21 releases forward.0.0.59 reports 1 new error in the client package and 7 more in the server package (
not-subscriptable,missing-argumenton pydantic models, etc.) that 0.0.38 did not.2.
nebula5-python5.2.2 -> 5.3.05.3.0 restructured
nebulagraph_python.client, deletingclient.py,_session.pyand_session_pool.py.NebulaAsyncClient,SessionConfigandSessionPoolConfigno longer exist (they are nowAsyncNebulaClient,ConnectionConfigandNebulaPoolConfig, with session pooling replaced by connection pooling). That produces the remaining 10unresolved-importerrors.This one is worth calling out separately: it is a real runtime break of the nebula backend, not just a typing complaint.
tyis the only reason we noticed. 5.3.0 also addspool==0.1.2.dev0and HuggingFacedatasetsas hard runtime dependencies.Evidence
Checked out at
2d28c1c1and its parent,uv sync --frozen --all-extras, then ran the exact CI commands:d7856f23(parent)2d28c1c1(#1477)2d28c1c1, ty forced back to 0.0.38The third row is what separates the two causes: 7 of the 17 server errors are the new
ty, the other 10 are the newnebula5-python.The fix
ty~=0.0.38->ty==0.0.38, matching the existingruff==0.15.14convention in the same dependency group. Checker upgrades then arrive as their own reviewable Dependabot PR (asty0.0.32 -> 0.0.35 and 0.0.24 -> 0.0.32 did), where the accompanying code fixes can land with the bump, instead of riding along invisibly in an unrelated lockfile refresh.nebula5-python>=5.2.1->nebula5-python>=5.2.1,<5.3, restoring the version the code is actually written against.pool,datasets,dillandmultiprocess, which only entered the lock as transitive deps of nebula 5.3.0. The spaCy/multihop additions from [Feat] add RaragQueryAgent, an optimized ChainOfQueryAgent for multi-hop retrieval #1477 are untouched.Verification
All six
lint.ymlty matrix cells pass locally on this branch:ruff check,ruff format --checkanduv lock --checkalso pass.Follow-ups, deliberately not in this PR
ty0.0.59 and fix the 8 diagnostics it surfaces. Better as its own PR so the code changes are reviewed against the checker change.check-uvlockfile.ymlverifies thatuv.lockis consistent withpyproject.toml, but nothing flags a PR that silently moves 139 unrelated packages. Exact-pinning the two linters that gate CI closes the sharpest edge of this; a broader policy is a separate discussion.🤖 Generated with Claude Code