| name | dependency-update |
| description | Run this to update project dependencies |
| disable-model-invocation | true |
I need you to update the dependencies in pyproject.toml.
The process to go through is:
- Notice how we do versioning. We make sure that we do not auto upgrade to the major version. For example, "openai[aiohttp]>=2.9,<3.0", means we will never upgrade to v3.x. You will just be updating minor versions. Note that for dev dependencies we don't need to pin to be less than the major version. Do not touch anything outside
dependencies, [dependency-groups], or [build-system].requires.
- For each dependency, go to its PyPI JSON site. For example, for the openai package that is: https://pypi.org/pypi/openai/json Get the latest release version.
- Now bump the dependency in pyproject.toml. For example, if the current version in the pyproject.toml is
>=1.05,<2.0, but on Pypi the latest version is 1.11, change the dependency to >=1.11,<2.0
- If you notice a major version upgrade (ex v2 to v3), let the user know of each of those cases, but do not make the change yourself.
- Bump the
uv_build pin in [build-system].requires to the latest version on PyPI (https://pypi.org/pypi/uv-build/json), using the same >=X.Y.Z,<X.(Y+1).0 style as the other pins. Major version bumps are allowed here. After updating, run uv build from the root and confirm it does not emit the build_system.requires ... does not contain the current uv version warning.
- Update the
rev fields in .pre-commit-config.yaml to the latest versions of each hook (check PyPI for the corresponding packages). Run prek run --all-files to verify the hooks still pass.
- Update the
uses: action versions in every workflow file under .github/workflows/. For each action (e.g. actions/checkout, astral-sh/setup-uv), look up the latest release with gh api repos/<owner>/<repo>/releases/latest --jq '.tag_name' (e.g. v8.1.0) and determine the new major (e.g. v8). Before pinning to the floating major tag, verify it actually exists with gh api repos/<owner>/<repo>/git/refs/tags/<major> (some publishers like astral-sh/setup-uv do not always push a floating vN tag immediately after a new major). If the floating major tag exists, pin to it (e.g. @v8); otherwise pin to the exact release tag (e.g. @v8.1.0). Leave floating branch refs like pypa/gh-action-pypi-publish@release/v1 alone since they are the upstream-recommended pattern.
- Make sure all the checks still pass by running
uv run ruff format && uv run ruff check --fix && uv run ty check from the root.
- Run
uv sync -U --all-extras --all-groups to update the lock file.
- Set up local reference repositories for the supported provider SDKs:
- Ensure
ai_working/ exists.
- For each repository below, determine the version currently installed in the project's uv environment with
uv run python -c "from importlib.metadata import version; print(version('<package>'))":
openai-python: package openai, repository https://github.com/openai/openai-python.git
python-genai: package google-genai, repository https://github.com/googleapis/python-genai.git
anthropic-sdk-python: package anthropic, repository https://github.com/anthropics/anthropic-sdk-python.git
- Remove any existing checkout at the corresponding
ai_working/<repository> path.
- Prefer a shallow, single-branch clone of the tag matching the installed version. Confirm the exact tag name first with
git ls-remote --tags <repo-url> because repositories may use either v<version> or <version> tags. Clone the matching tag with git clone --depth 1 --single-branch --branch <tag> <repo-url> <local-path>.
- If no tag matches the installed version, shallow-clone the default branch with
git clone --depth 1 --single-branch <repo-url> <local-path> and explicitly report the version mismatch.
- Check
AGENTS.md to ensure each cloned repository is listed. Add any missing repository names without additional notes.
- Briefly summarize the updated dependencies, hook and workflow action versions, and reference repository revisions.