Problem
pyproject.toml is missing two runtime dependencies that are directly imported in the code:
requests-toolbelt — imported in src/opengradient/client/model_hub.py line 9 (from requests_toolbelt import MultipartEncoder), but not listed in [project.dependencies]
httpx — imported in src/opengradient/client/llm.py line 8 and src/opengradient/client/twins.py line 5, but not listed as a direct dependency (only available transitively through og-x402)
Steps to Reproduce
pip install opengradient
python -c "from opengradient.client.model_hub import ModelHub; print('ok')"
# ImportError: No module named 'requests_toolbelt'
Additional Issues
pyproject.toml Ruff target-version = "py310" does not match requires-python = ">=3.11"
- README CI badge URLs reference
OpenGradient/sdk which does not exist (should be OpenGradient/OpenGradient-SDK)
src/opengradient/cli.py has unreachable code after raise NotImplementedError in generate_image
Impact
Any user who installs the SDK via pip and uses ModelHub.upload() gets an ImportError. The httpx dependency is fragile — if og-x402 changes its dependency tree, httpx disappears and llm.py/twins.py break.
Problem
pyproject.tomlis missing two runtime dependencies that are directly imported in the code:requests-toolbelt— imported insrc/opengradient/client/model_hub.pyline 9 (from requests_toolbelt import MultipartEncoder), but not listed in[project.dependencies]httpx— imported insrc/opengradient/client/llm.pyline 8 andsrc/opengradient/client/twins.pyline 5, but not listed as a direct dependency (only available transitively throughog-x402)Steps to Reproduce
Additional Issues
pyproject.tomlRufftarget-version = "py310"does not matchrequires-python = ">=3.11"OpenGradient/sdkwhich does not exist (should beOpenGradient/OpenGradient-SDK)src/opengradient/cli.pyhas unreachable code afterraise NotImplementedErroringenerate_imageImpact
Any user who installs the SDK via pip and uses
ModelHub.upload()gets an ImportError. Thehttpxdependency is fragile — ifog-x402changes its dependency tree,httpxdisappears andllm.py/twins.pybreak.