managing-python-dependencies
/managing-python-dependencies
Pilnuje zależności Pythona: zamiast globalnego pip install stosuje narzędzia projektu, także w notebookach i nowych projektach.
- Repozytorium
- data-agent-kit-plugin ↗
- Licencja
- Apache-2.0
- Ostatnia zmiana repozytorium
- 12.11.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 12.11.2026, bez odwołań do wycofanych modeli i API.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
Co robi i kiedy
Pilnuje zależności Pythona: zamiast globalnego pip install stosuje narzędzia projektu, także w notebookach i nowych projektach.
Oryginalny opis (EN)
Ensures proper Python dependency management, avoiding global `pip install` and adhering to project-specific tooling. Use this skill if any of the following are true: 1. Attempting to run `pip install {package_name}`. 2. Python packages or dependencies need to be added or modified. 3. Initiating a new Python project. 4. Installing missing packages inside a notebook or Python project. 5. Generating Python code that includes `import` statements for third-party libraries. 6. Before executing Python scripts via the terminal to ensure the correct virtual environment is active.
Jak działa
- Dependency Manager Detection (Only When Installing)
- Default: venv + pip
- Prohibited
Podgląd SKILL.md
---
name: managing-python-dependencies
description: |
Ensures proper Python dependency management, avoiding global `pip install` and
adhering to project-specific tooling.
Use this skill if any of the following are true:
1. Attempting to run `pip install {package_name}`.
2. Python packages or dependencies need to be added or modified.
3. Initiating a new Python project.
4. Installing missing packages inside a notebook or Python project.
5. Generating Python code that includes `import` statements for third-party libraries.
6. Before executing Python scripts via the terminal to ensure the correct virtual environment is active.
license: Apache-2.0
metadata:
version: v4
publisher: google
---
# Python Dependency Management Rule
> [!CAUTION]
>
> **BEFORE any `pip install`**: You MUST first detect the project's existing
> dependency manager and use it correctly. Do NOT override the project's
> established tooling.
> [!NOTE]
>
> **Reactive Environment Check Bundling (Only When Installing)**: Do NOT run
> environment or package availability checks (`importlib.util.find_spec`,
> `pip list`, `ls uv.lock...`) proactively before writing code or creating a
> notebook. Only probe the environment when a package actually needs to be
> installed (for example, on `ModuleNotFoundError` / `ImportError` or an
> explicit user request to install dependencies).
>
> - **In Notebooks**: When a notebook cell execution tool (`execute_cell` /
> `notebook_execute_cell`) is available, check package availability
> (`import <pkg>` or `%pip list`) and install missing packages
> (`%pip install`) **inside notebook cells**, never via `python3 -c` or
> `pip` in the shell.
> - **In the Shell (Only When Installing)**: When a shell check is required
> before installing a missing package for a local script or project, you
> MUST NOT run multiple sequential 1-line shell check commands. Combine all
> environment and package availability probes into a single composite python
> one-liner or shell check step:
>
> ```bash
> python3 -c "import sys, importlib.util; print(f'Python {sys.version.split()[0]}'); [(print(f'{pkg}: {__import__(pkg).__version__}') if importlib.util.find_spec(pkg) else print(f'{pkg}: not found')) for pkg in ['pyspark', 'google.cloud.bigquery']]"
> ```
>
> This bundling also applies to dependency manager detection; when an install is
> needed, use a single `ls` or `find` command to check for all potential
> dependency manager configuration and lock files at once (e.g.
> `ls uv.lock poetry.lock Pipfile.lock requirements.txt pyproject.toml`).
## Dependency Manager Detection (Only When Installing)
Only run dependency manager detection when a package actually needs to be
installed (e.g., on `ModuleNotFoundError` / `ImportError` or when setting up a
missing local project environment)—never as an upfront pre-flight check before
creating or running a notebook. Before installing ANY Python package, check the
workspace for these files **in priority order**:
1. **Signal:** `uv.lock` or `pyproject.toml` with `[tool.uv]`
* **Tool:** **uv**
* **Install:** `uv add <package>`
* **Setup:** `uv sync`
2. **Signal:** `pyproject.toml` with `[tool.poetry]`
* **Tool:** **Poetry**
* **Install:** `poetry add <package>`
* **Setup:** `poetry install`
3. **Signal:** `Pipfile`
* **Tool:** **Pipenv**
* **Install:** `pipenv install <package>`
* **Setup:** `pipenv install`
4. **Signal:** `environment.yml`
* **Tool:** **Conda**
* **Install:** `conda install <package>`
* **Setup:** `conda env create -f environment.yml`
5. **Signal:** `requirements.txt` only
* **Tool:** **venv + pip**
* **Install:** `.venv/bin/pip install <package>`
* **Setup:** `.venv/bin/pip install -r requirements.txt`
6. **Signal:** None of the above
* **Tool:** **venv + pip** (default)
* **Install:** `.venv/bin/pip install <package>`
* **Setup:** `.venv/bin/pip install -r requirements.txt`
## Default: venv + pip
If no dependency manager is detected, use **venv + pip + requirements.txt** as
the default:
```bash
# Initialize environment
python3 -m venv .venv
# Add dependencies
.venv/bin/pip install <package>
# Preserve state
.venv/bin/pip freeze > requirements.txt
```
**Rules for venv + pip workflow:**
- Always use `.venv/bin/pip` or `.venv/bin/python` (explicit path).
- After installing, run: `.venv/bin/pip freeze > requirements.txt`.
- When setting up: `.venv/bin/pip install -r requirements.txt`.
## Prohibited
- **NEVER** run `pip install` globally
- **NEVER** override an existing dependency manager with a different one
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · googlecloudplatform/data-agent-kit-plugin | 100 | Apache-2.0 |
| thalesnola/TN-agy-config | 100 | Apache-2.0 |
| gemini-cli-extensions/data-agent-kit-starter-pack | 100 | Apache-2.0 |
| 420company/artemis | 95 | MIT |
Migawka bazy z 13.11.2026 · wersja paczki ed6cfa1d4f29 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100pip
Pomaga zarządzać zależnościami Pythona przez pip: requirements.txt, wheels, środowiska wirtualne, constraints i pip-tools, w tym instalowanie i blokowanie wersji. - 100uv-python-project-setup
Tworzy, naprawia i waliduje konfigurację projektu Pythona z uv: inicjalizacja aplikacji i bibliotek, zależności, środowiska wirtualne i workflow gotowe do CI. - 100uv
Instaluje pakiety Pythona, tworzy środowiska wirtualne, blokuje zależności i zarządza wersjami Pythona jednym szybkim narzędziem zastępującym pip, poetry, pyenv i virtualenv, w tym uvx i skrypty z inline dependencies. - 100python-dependency-management
Dodaje, aktualizuje i usuwa zależności Python w projektach uv, w tym grupy zależności i extras. - 100python-tooling
Zarządza pakietami Python, środowiskami wirtualnymi oraz lintingiem i formatowaniem kodu. - 100uv-package-manager
Pomaga w zarządzaniu zależnościami Pythona przez uv, tworzeniu środowisk wirtualnych i nowoczesnych projektów Python.