Skip to content
Agentmart
Submit a tool

python-full-deps

Resolve the full install-time dependency tree for a Python package.

Skill by jeremyeder

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jeremyeder-python-full-deps

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Resolve the full install-time dependency tree for a Python package. Use when the user needs all transitive dependencies, full dependency list, or install requirements resolved for a specific Python version with environment markers.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/python-full-deps

Tools it pre-approves 2

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash
  • Read

What's inside

Skill name
python-full-deps
Description
Resolve the full install-time dependency tree for a Python package. Use when the user needs all transitive dependencies, full dependency list, or install requirements resolved for a specific Python version with environment markers.
License
Apache-2.0
Compatibility
Requires network access to PyPI. Requires uv (preferred) or pip >= 22.2 (fallback).
Allowed tools
Bash, Read
Instructions
81 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Pre-approves any shell command
  • Instructions call the network

Files (2)

  • SKILL.md
  • resolve_full_deps.py · scripts/

SKILL.md (first lines)

# Python Full Dependency Tree

Resolve and return the complete set of packages that would be installed for a given Python package (entire transitive dependency tree), resolved for a specific Python version so environment markers are respected.

## When to use

- User asks for "full dependency tree", "all dependencies", "transitive dependencies", or "install requirements" of a Python package.
- User needs the full picture of install-time dependencies (not just direct deps from metadata).
- User wants to understand the total footprint of a package in a container image or environment.
- Complement to `python-packaging-complexity` when the full resolved tree is needed beyond direct metadata.

## When NOT to use

- User only needs **direct** (first-level) dependencies -- use `python-packaging-complexity` instead, which reads PyPI metadata without resolution.
- User is asking about **build-time** dependencies (e.g. setuptools, CMake, Cython) -- those are not included in install-time resolution.
- User is asking about **dev/test** dependencies (e.g. pytest, mypy) -- those are extras, not default install deps.
- User is asking about **license**, **source**, or **build complexity** analysis -- use the corresponding `python-packaging-*` skills.

## Inputs

| Parameter       | Required | Default | Description                         |
|-----------------|----------|---------|-------------------------------------|
| package name    | Yes      | —       | PyPI project name (e.g. `vllm`)     |
| package version | No       | latest  | e.g. `0.4.0`                        |
| Python version  | No       | 3.12    | e.g. `3.11`, `3.12`                 |

## Instructions

When a user asks about the full dependency tree, all transitive dependencies, or install requirements for a Python package:

1. **Run the helper script** with the package name and optional version/Python version:

   ```bash
   python3 scripts/resolve_full_deps.py <package> [version] [python_version]
   ```

   The script automatically tries `uv pip compile` first (fast, supports cross-version resolution). If `uv` is not installed, it falls back to `pip install --dry-run --report` in a temporary venv.

2. **Present the output** to the user:
   - Output is sorted alphabetically and deduplicated.
   - Each line is `name==version` with PEP 503 normalized names.
   - Warnings/errors go to stderr and should be relayed to the user.

3. **Provide context** based on the results:
   - Total number of transitive dependencies.
   - Notable packages in the tree (e.g. `torch`, `numpy`, `cuda` related packages).
   - If the user is assessing container image size or supply-chain risk, highlight the dependency count and any heavy packages.

## Output format

Return a **sorted, unique** set of normalized dependencies. Include version unless the user asked for names only.

- One dependency per line: `name==version`
- Or as a list: `["package-a==1.0.0", "package-b==2.1.0"]`

### Example

```bash
$ python3 scripts/resolve_full_deps.py requests 2.32.3
certifi==2024.8.30
charset-normalizer==3.4.1
idna==3.10
requests==2.32.3
urllib3==2.3.0
```

Interpretation: `requests 2.32.3` pulls in 4 transitive dependencies (5 total including itself).

## Error handling

- **`uv` not found**: The script automatically falls back to pip. If the user sees a stderr warning about this, suggest installing [uv](https://docs.astral.sh/uv/) for faster resolution.
- **Package not found on PyPI**: The script exits with a non-zero code and an error on stderr. Verify the package name spelling and whether a specific version exists.
- **Network errors / timeouts**: Both `uv` and `pip` need network access to PyPI. If resolution times out (150s), suggest retrying or checking network connectivity.
- **pip version too old**: The `--report` flag requires pip >= 22.2. If the fallback fails with an unrecognized argument error, advise upgrading pip.

## Integration with other skills

- **`python-packaging-complexity`**: Use that skill first to get direct dependencies and build complexity, then use this skill to get the full transitive tree. Together they give a complete picture.
- **`python-packaging-license-checker`** / **`python-packaging-license-finder`**: After getting the full dep list from this skill, feed individual packages into the license skills to audit the entire tree.

From jeremyeder/ai-helpers-plugin, Apache-2.0.

More from jeremyeder/ai-helpers-plugin

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Mar 30, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jeremyeder

Cite this page

python-full-deps skill. Agent Mart. https://agentmart.dev/skills/jeremyeder-python-full-deps (last updated 2026-10-24)