autogluon-conda-upgrade

0
0
Source

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.

Install

mkdir -p .claude/skills/autogluon-conda-upgrade && curl -L -o skill.zip "https://mcp.directory/api/skills/download/8132" && unzip -o skill.zip -d .claude/skills/autogluon-conda-upgrade && rm skill.zip

Installs to .claude/skills/autogluon-conda-upgrade

About this skill

AutoGluon Conda Feedstock Upgrade Workflow

CRITICAL: DO NOT MERGE PULL REQUESTS. Only create PRs. The user will review and merge them manually.

Step 1: Prerequisites Check

1.1 Check GitHub CLI

gh --version

If not installed, stop and tell the user to install from https://github.com/cli/cli#installation and run gh auth login.

1.2 Check Authentication

gh auth status

If not authenticated, ask user to run gh auth login.

1.3 Gather User Input

Ask for:

  • New AutoGluon version number (e.g., 1.5.0)
  • Working directory (default: ~/autogluon-feedstock-upgrade)

Step 2: Setup Working Directory and Fork/Clone Repos

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

Step 3: Compute SHA256 Hash

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.

Step 4: Fetch and Analyze Dependencies

4.1 Get Current (Old) Version

Read from {WORKING_DIR}/autogluon.common-feedstock/recipe/meta.yaml:

{% set version = "X.Y.Z" %}

4.2 Fetch Version Bounds

Fetch _setup_utils.py for both versions:

  • New: https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{NEW_VERSION}/core/src/autogluon/core/_setup_utils.py
  • Old: https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{OLD_VERSION}/core/src/autogluon/core/_setup_utils.py

Extract DEPENDENT_PACKAGES dictionary and PYTHON_REQUIRES string.

4.3 Fetch Package-Specific Setup Files

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.

4.4 Create Dependency Change Summary

Compare old vs new. Summarize:

  1. Changed version bounds
  2. Added dependencies
  3. Removed dependencies
  4. Python version changes

Present summary to user and ask for confirmation before proceeding.

Step 5: Update Each Feedstock

Process in dependency order:

OrderFeedstockDependencies
1autogluon.common-feedstock(none)
2autogluon.features-feedstockcommon
3autogluon.core-feedstockcommon
4autogluon.tabular-feedstockcore, features
5autogluon.multimodal-feedstockcore
6autogluon.timeseries-feedstockcore, tabular
7autogluon-feedstockall subpackages

For Each Feedstock:

5.1 Sync Fork and Create Branch (DO THIS FIRST)

cd {WORKING_DIR}/{FEEDSTOCK_NAME}
git fetch upstream
git checkout main
git reset --hard upstream/main
git checkout -b {NEW_VERSION}

5.2 Read Current meta.yaml

After creating branch, read recipe/meta.yaml to understand current structure.

5.3 Update meta.yaml

  1. Update version: {% set version = "{NEW_VERSION}" %}
  2. Update sha256: Use computed hash
  3. Reset build number: number: 0
  4. Update Python version (if changed): python >={{ python_min }},<{NEW_PYTHON_MAX}
  5. Update dependency version bounds: Match DEPENDENT_PACKAGES

Rules:

  • Keep autogluon.* dependencies as =={{ version }}
  • Only include dependencies from that package's setup.py
  • Preserve existing comments
  • Use conda naming (see Package Name Mappings below)

5.4 Handle python_min Changes

If minimum Python changed, update .ci_support/linux_64_.yaml:

python_min:
- '{NEW_PYTHON_MIN}'

Step 6: Commit and Push

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}

Step 7: Create Pull Requests

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
)"

Step 8: Final Summary

8.1 Provide PR Links

List all 7 created PRs with clickable links.

8.2 Merge Order Reminder

Merge PRs in dependency order:

  1. autogluon.common (no dependencies)
  2. autogluon.features and autogluon.core (parallel)
  3. autogluon.tabular and autogluon.multimodal (parallel)
  4. autogluon.timeseries
  5. autogluon (meta-package)

8.3 Post-Merge Instructions

After each PR's CI passes:

  1. Comment: @conda-forge-admin, please rerender
  2. Wait for rerender bot to update
  3. Once CI passes again, merge
  4. Wait for package to be published before merging dependent PRs

Appendix A: Dependency Tree

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)

Appendix B: URL Patterns

ResourceURL
Release tarballhttps://github.com/autogluon/autogluon/archive/refs/tags/v{VERSION}.tar.gz
Version bounds filehttps://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{VERSION}/core/src/autogluon/core/_setup_utils.py
Package setup.pyhttps://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{VERSION}/{SUBPACKAGE}/setup.py

Appendix C: Sample PRs

Appendix D: Package Name Mappings

PyPI NameConda-Forge Name
torchpytorch
Pillowpillow
scikit-learnscikit-learn
PyYAMLpyyaml
opencv-pythonopencv
tensorflowtensorflow

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

9521,094

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

846846

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

571700

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

548492

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

673466

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

514280

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.