python-dep-manager

Manages CondaPkg and PythonCall dependencies for CalibrateEmulateSample.jl.

90|16|Updated Apr 4, 2019
One-click install
npx skills add https://github.com/CliMA/CalibrateEmulateSample.jl --skill python-dep-manager
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: python-dep-manager
Source: https://github.com/CliMA/CalibrateEmulateSample.jl/tree/main/.claude/skills/python-dep-manager
Command: npx skills add https://github.com/CliMA/CalibrateEmulateSample.jl --skill python-dep-manager

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates the manual, error-prone troubleshooting required to manage the CondaPkg and PythonCall Python environment for the CalibrateEmulateSample.jl Julia package, which powers the scikit-learn and scipy dependencies of the SKLPy Gaussian process backend.

Core Features & Use Cases

  • Version Pinning and Updates: Pin, bump, or downgrade Python, scikit-learn, and scipy versions via the CondaPkg.toml manifest at the repo root.
  • Dependency Conflict Resolution: Fix Julia-side version conflicts between CondaPkg and PythonCall, stale Manifest issues, and Pkg.update failures related to these packages.
  • Import and Environment Debugging: Resolve Python import errors and out-of-sync CondaPkg environments that cause failures like "sklearn could not be imported".
  • Backend Type Renaming: Safely rename Julia dispatch types that wrap the Python backend, adding proper deprecation warnings for backwards compatibility. A common use case is fixing a broken Python environment after updating a dependency, or updating the installation documentation to match new pinned Python package versions.

Quick Start

Use the python-dep-manager skill to bump the scikit-learn version, resolve CondaPkg environment conflicts, or debug Python import errors in the CalibrateEmulateSample.jl repository.

Frequently Asked Questions about python-dep-manager

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve CondaPkg and PythonCall dependency conflicts in Julia?▼

Resolve CondaPkg and PythonCall dependency conflicts by updating the CondaPkg.toml manifest to pin compatible versions and clearing stale Julia Manifest files that trigger Pkg.update failures.

Why does scikit-learn fail to import after a Python dependency update in CalibrateEmulateSample.jl?▼

Scikit-learn fails to import after a Python dependency update due to an out-of-sync CondaPkg environment. Synchronize the environment and verify version pins in CondaPkg.toml to restore imports.

What is the best way to pin or downgrade Python and scipy versions for a Julia package?▼

Pin or downgrade Python and scipy versions by specifying exact version constraints within the repository's CondaPkg.toml manifest file, ensuring the Julia environment uses the correct Python backend.

Can I rename Julia dispatch types wrapping a Python backend without breaking backwards compatibility?▼

You can rename Julia dispatch types wrapping a Python backend without breaking backwards compatibility by applying deprecation warnings to the old type names, redirecting users to the new dispatch structure safely.

How do I fix Pkg.update failures related to CondaPkg in a Julia project?▼

Fix Pkg.update failures related to CondaPkg by resolving version conflicts between CondaPkg and PythonCall, clearing the stale Manifest, and synchronizing the Python environment defined in CondaPkg.toml.

Do I need to update documentation when bumping Python dependency versions in CalibrateEmulateSample.jl?▼

You need to update installation documentation when bumping Python dependency versions in CalibrateEmulateSample.jl to ensure the recorded setup instructions match the newly pinned scikit-learn and scipy versions.