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.