Automate AutoGluon conda-forge feedstock version upgrades. Use when the user wants to upgrade AutoGluon to a new version in conda-forge, create PRs for AutoGluon conda feedstocks, or update autogluon.common, autogluon.core, autogluon.features, autogluon.tabular, autogluon.multimodal, autogluon.timeseries, or autogluon meta-package feedstocks.
CRITICAL: DO NOT MERGE PULL REQUESTS. Only create PRs. The user will review and merge them manually.
gh --version
If not installed, stop and tell the user to install from https://github.com/cli/cli#installation and run gh auth login.
gh auth status
If not authenticated, ask user to run gh auth login.
Ask for:
1.5.0)~/autogluon-feedstock-upgrade)mkdir -p {WORKING_DIR}
cd {WORKING_DIR}
gh repo fork conda-forge/autogluon.common-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.features-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.core-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.tabular-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.multimodal-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.timeseries-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon-feedstock --clone=true --remote=true
curl -sL "https://github.com/autogluon/autogluon/archive/refs/tags/v{NEW_VERSION}.tar.gz" -o /tmp/autogluon-{NEW_VERSION}.tar.gz
openssl sha256 /tmp/autogluon-{NEW_VERSION}.tar.gz | awk '{print $2}'
rm /tmp/autogluon-{NEW_VERSION}.tar.gz
If curl fails with 404, ask user to verify the version number.
Read from {WORKING_DIR}/autogluon.common-feedstock/recipe/meta.yaml:
{% set version = "X.Y.Z" %}
Fetch _setup_utils.py for both versions:
https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{NEW_VERSION}/core/src/autogluon/core/_setup_utils.pyhttps://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{OLD_VERSION}/core/src/autogluon/core/_setup_utils.pyExtract DEPENDENT_PACKAGES dictionary and PYTHON_REQUIRES string.
For each subpackage (common, features, core, tabular, multimodal, timeseries, autogluon), fetch:
https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{NEW_VERSION}/{SUBPACKAGE}/setup.py
The install_requires shows which DEPENDENT_PACKAGES each subpackage needs.
Compare old vs new. Summarize:
Present summary to user and ask for confirmation before proceeding.
Process in dependency order:
| Order | Feedstock | Dependencies | |-------|-----------|--------------| | 1 | autogluon.common-feedstock | (none) | | 2 | autogluon.features-feedstock | common | | 3 | autogluon.core-feedstock | common | | 4 | autogluon.tabular-feedstock | core, features | | 5 | autogluon.multimodal-feedstock | core | | 6 | autogluon.timeseries-feedstock | core, tabular | | 7 | autogluon-feedstock | all subpackages |
cd {WORKING_DIR}/{FEEDSTOCK_NAME}
git fetch upstream
git checkout main
git reset --hard upstream/main
git checkout -b {NEW_VERSION}
After creating branch, read recipe/meta.yaml to understand current structure.
{% set version = "{NEW_VERSION}" %}number: 0python >={{ python_min }},<{NEW_PYTHON_MAX}DEPENDENT_PACKAGESRules:
autogluon.* dependencies as =={{ version }}setup.pyIf minimum Python changed, update .ci_support/linux_64_.yaml:
python_min:
- '{NEW_PYTHON_MIN}'
For each feedstock:
cd {WORKING_DIR}/{FEEDSTOCK_NAME}
git add recipe/meta.yaml
git commit -m "Update to v{NEW_VERSION}"
git push -u origin {NEW_VERSION}
For each feedstock:
cd {WORKING_DIR}/{FEEDSTOCK_NAME}
gh pr create \
--repo conda-forge/{FEEDSTOCK_NAME} \
--title "Update to v{NEW_VERSION}" \
--body "$(cat <<'EOF'
## Summary
- Update {PACKAGE_NAME} to version {NEW_VERSION}
- Updated dependency version bounds from upstream
## Dependency Changes
{LIST_RELEVANT_CHANGES}
## Checklist
* [x] Used a personal fork of the feedstock to propose changes
* [x] Reset the build number to `0`
* [ ] Re-rendered (Use `@conda-forge-admin, please rerender` in a comment)
EOF
)"
List all 7 created PRs with clickable links.
Merge PRs in dependency order:
autogluon.common(no dependencies)autogluon.featuresandautogluon.core(parallel)autogluon.tabularandautogluon.multimodal(parallel)autogluon.timeseriesautogluon(meta-package)
After each PR's CI passes:
- Comment:
@conda-forge-admin, please rerender- Wait for rerender bot to update
- Once CI passes again, merge
- Wait for package to be published before merging dependent PRs
autogluon.common (base - no AG deps)
│
├── autogluon.features (depends: common)
│
├── autogluon.core (depends: common)
│ │
│ ├── autogluon.tabular (depends: core, features)
│ │
│ ├── autogluon.multimodal (depends: core)
│ │
│ └── autogluon.timeseries (depends: core, tabular)
│
└── autogluon [meta-package] (depends: all subpackages)
| Resource | URL |
|----------|-----|
| Release tarball | https://github.com/autogluon/autogluon/archive/refs/tags/v{VERSION}.tar.gz |
| Version bounds file | https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{VERSION}/core/src/autogluon/core/_setup_utils.py |
| Package setup.py | https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{VERSION}/{SUBPACKAGE}/setup.py |
| PyPI Name | Conda-Forge Name | |-----------|------------------| | torch | pytorch | | Pillow | pillow | | scikit-learn | scikit-learn | | PyYAML | pyyaml | | opencv-python | opencv | | tensorflow | tensorflow |
npx skills add autogluon/autogluon-conda-upgrade下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawhub CLI.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
Capture and automate macOS UI with the Peekaboo CLI.
Category:developer