build: make langgraph-cli[inmem] an optional dependency - #354
Conversation
rng1995
left a comment
There was a problem hiding this comment.
[Automated SkillSpector Review]
Requesting changes. Moving the dependency to an extra is sound, and the Make target remains valid, but the committed lockfile was not regenerated. Exact-head uv lock --check reports that uv.lock needs an update; the release workflow uses uv sync --locked --extra dev, so the current patch breaks that installation path. Commit the updated lock and verify plain versus dev installs.
fb1fcfd to
5315b84
Compare
rng1995
left a comment
There was a problem hiding this comment.
[Automated SkillSpector Re-review]
Requesting changes on the fix commit, not the original dependency split. The original stale-lock blocker is addressed and its thread is resolved: uv lock --check, runtime-only uv sync --locked --no-dev, and dev uv sync --locked --extra dev all pass as intended. However, the submitted lock regeneration upgrades 60 existing packages and adds 4 unrelated transitive packages. Reproducing a normal uv lock from adf9cb yields an 18-line update (11 additions, 7 deletions) with zero package-version changes. Please replace the full refresh with the minimal lock update, then rerun the locked-install checks.
| @@ -10,25 +10,25 @@ resolution-markers = [ | |||
|
|
|||
| [[package]] | |||
| name = "annotated-doc" | |||
| version = "0.0.4" | |||
| version = "0.0.5" | |||
There was a problem hiding this comment.
Blocking: The lockfile was regenerated as a full upgrade rather than the scoped metadata update this PR needs. Compared with the existing lock, this changes 2,044 lines, upgrades 60 packages (including openai, LangChain, boto3/botocore, cryptography, and dev tooling), and adds 4 transitive packages. Starting from parent adf9cb and running plain uv lock produced only 18 changed lines and no package-version changes. Please regenerate from the committed lock without --upgrade (and without deleting it) so this PR does not silently bundle a broad dependency update.
There was a problem hiding this comment.
@rng1995 This has been fixed in 8af8bd7. The uv.lock now contains only a scoped 9-line change (4 insertions, 5 deletions) adding the langgraph-dev optional group metadata, not a full upgrade. pyproject.toml moves langgraph-cli into the optional langgraph-dev group, and the dev extra references it. No other packages are upgraded.
langgraph-cli[inmem] was declared as a hard runtime dependency, but nothing under src/skillspector/ imports it. Its only consumers are the `make langgraph-dev` target (which invokes the `langgraph` CLI) and developers who need the LangGraph Studio server. Move it to a new `langgraph-dev` optional dependency group and include it in the `dev` extra so the existing `make langgraph-dev` workflow continues to work unchanged. Runtime-only installs (`uv sync --locked --no-dev`) no longer pull in langgraph-cli or its transitive deps. The uv.lock is updated with a scoped metadata change (no package upgrades) so `uv lock --check` passes on the exact head. Signed-off-by: badhope <weed33834@users.noreply.github.com>
5315b84 to
8af8bd7
Compare
…IA#354) Signed-off-by: badhope <game33834@outlook.com>
d00e703 to
2b4ac3e
Compare
|
Hi @rng1995 and maintainers — the DCO issue is now fixed. The branch was rewritten so all commits in this PR carry a proper The only remaining blocker is that CI runs on this fork PR require maintainer approval (currently @rng1995 if possible, could you re-review the latest head (2b4ac3e)? The previous CHANGES_REQUESTED was against an older commit. |
Summary
Fixes #343.
langgraph-cli[inmem]was declared as a hard runtime dependency in[project.dependencies], but nothing undersrc/skillspector/imports it. Its only consumers in the repo are themake langgraph-devtarget andlanggraph.json— both developer tooling for LangGraph Studio.Because it is a runtime dependency, every install of the skillspector CLI — including ones that never run the dev server — pulls in the full LangGraph API server stack:
langgraph-api+langgraph-runtime-inmemgrpcio,grpcio-tools,grpcio-health-checkingopentelemetry-api,opentelemetry-sdk,opentelemetry-exporter-otlp-proto-http,opentelemetry-exporter-prometheusuvicorn,starlette,sse-starlette,structlog,cloudpickle,croniter,watchfilesChanges
langgraph-cli[inmem]>=0.4.14from[project.dependencies]to a new[project.optional-dependencies] langgraph-devextra.skillspector[langgraph-dev]to the existingdevextra somake install-dev(uv sync --all-extras/pip install -e ".[dev]") is unaffected.langgraph-devtarget now checks for thelanggraphcommand and prints a helpful install hint (pip install 'skillspector[langgraph-dev]') if it is missing.Verification
langgraph(the graph library) remains a hard dependency —src/skillspector/graph.pyimportsfrom langgraph.graph import END, START, StateGraph.src/skillspector/code importslanggraph_cliorlanggraph.cli.pyproject.tomlparses correctly (validated withtomllib).langgraph-clidirectly.make install-devstill installs langgraph-cli via thedev→langgraph-devextra chain.期待多多合作,互相帮助。