К основному содержанию
скилл Claude Code CX Codex Cursor

python-packaging — скилл для Claude Code: что делает и как установить

Скилл помогает собрать Python-библиотеку или CLI-инструмент в устанавливаемый пакет и подготовить публикацию в PyPI. Подходит для настройки структуры проекта.

Установить в Claude Code · Через маркетплейс плагинов Все способы и платформы ↓
/plugin marketplace add wshobson/agents
/plugin install python-development@claude-code-workflows
Открыть на GitHub

Что делает python-packaging

python-packaging описывает структуру Python-проектов для распространения: рекомендует layout с src/, файл pyproject.toml, тесты, README и LICENSE. Скилл помогает настроить метаданные пакета, зависимости, версии, entry points для CLI, wheel и source distribution.

В материалах разобраны setuptools, hatchling, flit и poetry, стандарты PEP 517/518, PEP 621 и PEP 660, а также публикация в PyPI, TestPyPI и приватные репозитории. Для подробных шаблонов предусмотрен файл references/details.md.

Ставьте его, если нужно оформить Python-код как библиотеку или CLI-пакет для установки. Для небольшой внутренней папки без распространения такой скилл избыточен.

Какие задачи решает

  • собрать Python-библиотеку в устанавливаемый пакет
  • настроить pyproject.toml и метаданные проекта
  • создать CLI-инструмент с entry points
  • подготовить wheel и source distribution
  • опубликовать пакет в PyPI или приватном репозитории

Примеры запросов агенту

  • Собери библиотеку из `src/package_name/` в пакет для PyPI.
  • Настрой `pyproject.toml` для CLI-инструмента с зависимостями и entry points.
  • Подготовь wheel и source distribution, затем проверь публикацию через TestPyPI.

Как установить python-packaging

1Через маркетплейс плагинов

/plugin marketplace add wshobson/agents
/plugin install python-development@claude-code-workflows

2Через Skills CLI (Vercel)

npx skills add wshobson/agents --skill python-packaging -a claude-code

3Вручную: положить файлы

~/.claude/skills/python-packaging/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/python-packaging/

Похожие

migrate-to-shoehorn Matt Pocock Переводит type assertions с as в тестах на функции из @total-typescript/shoehorn. Нужен для частичных объектов и намеренно неверных данных в проверках. Claude Code 475 388установок typescript-advanced-types Seth Hobson Помогает агенту писать сложную типизацию TypeScript: generics, conditional types и преобразования типов. Нужен для библиотек, API-клиентов и строгих конфигураций. Claude Code CX Codex Cursor 92 169установок dotnet-best-practices официальный github Проверяет выделенный .NET/C# код по правилам проекта: от структуры и DI до тестов, логирования и безопасности. Нужен при ревью или доработке решения. GitHub Copilot 15 752установок nuget-manager официальный github Управляет NuGet-пакетами в .NET-проектах через dotnet CLI. Нужен при добавлении, удалении и обновлении зависимостей. GitHub Copilot 14 360установок typescript-mcp-server-generator официальный github Генерирует TypeScript-проект MCP-сервера с инструментами, ресурсами и конфигурацией. Пригодится, когда нужно быстро заложить сервер на MCP TypeScript SDK v2. GitHub Copilot 12 050установок java-junit официальный github Пишет, проверяет и исправляет Java-тесты на JUnit, AssertJ и Mockito. Нужен при добавлении, рефакторинге или разборе падений тестов в Maven и Gradle. GitHub Copilot 11 632установок

Вопросы о python-packaging

Как установить python-packaging в Claude Code?

Выполните npx skills add wshobson/agents --skill python-packaging -a claude-code. Файл скилла появится в ~/.claude/skills/python-packaging/SKILL.md.

Что делает python-packaging?

Скилл помогает создать структуру Python-пакета, настроить pyproject.toml, зависимости и метаданные. Он также описывает сборку wheel и source distribution и публикацию в PyPI.

Какие инструменты упаковки Python разбирает скилл?

В нём описаны setuptools, hatchling, flit и poetry, а также стандарты PEP 517/518, PEP 621 и PEP 660.

Исходный текст

SKILL.md · MIT
---
name: python-packaging
description: Create distributable Python packages with proper project structure, setup.py/pyproject.toml, and publishing to PyPI. Use when packaging Python libraries, creating CLI tools, or distributing Python code.
---

# Python Packaging

Comprehensive guide to creating, structuring, and distributing Python packages using modern packaging tools, pyproject.toml, and publishing to PyPI.

## When to Use This Skill

- Creating Python libraries for distribution
- Building command-line tools with entry points
- Publishing packages to PyPI or private repositories
- Setting up Python project structure
- Creating installable packages with dependencies
- Building wheels and source distributions
- Versioning and releasing Python packages
- Creating namespace packages
- Implementing package metadata and classifiers

## Core Concepts

### 1. Package Structure

- **Source layout**: `src/package_name/` (recommended)
- **Flat layout**: `package_name/` (simpler but less flexible)
- **Package metadata**: pyproject.toml, setup.py, or setup.cfg
- **Distribution formats**: wheel (.whl) and source distribution (.tar.gz)

### 2. Modern Packaging Standards

- **PEP 517/518**: Build system requirements
- **PEP 621**: Metadata in pyproject.toml
- **PEP 660**: Editable installs
- **pyproject.toml**: Single source of configuration

### 3. Build Backends

- **setuptools**: Traditional, widely used
- **hatchling**: Modern, opinionated
- **flit**: Lightweight, for pure Python
- **poetry**: Dependency management + packaging

### 4. Distribution

- **PyPI**: Python Package Index (public)
- **TestPyPI**: Testing before production
- **Private repositories**: JFrog, AWS CodeArtifact, etc.

## Quick Start

### Minimal Package Structure

```
my-package/
├── pyproject.toml
├── README.md
├── LICENSE
├── src/
│   └── my_package/
│       ├── __init__.py
│       └── module.py
└── tests/
    └── test_module.py
```

### Minimal pyproject.toml

```toml
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "my-package"
version = "0.1.0"
description = "A short description"
authors = [{name = "Your Name", email = "[email protected]"}]
readme = "README.md"
requires-python = ">=3.8"
dependencies = [
    "requests>=2.28.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=7.0",
    "black>=22.0",
]
```

## Package Structure Patterns

### Pattern 1: Source Layout (Recommended)

```
my-package/
├── pyproject.toml
├── README.md
├── LICENSE
├── .gitignore
├── src/
│   └── my_package/
│       ├── __init__.py
│       ├── core.py
│       ├── utils.py
│       └── py.typed          # For type hints
├── tests/
│   ├── __init__.py
│   ├── test_core.py
│   └── test_utils.py
└── docs/
    └── index.md
```

**Advantages:**

- Prevents accidentally importing from source
- Cleaner test imports
- Better isolation

**pyproject.toml for source layout:**

```toml
[tool.setuptools.packages.find]
where = ["src"]
```

### Pattern 2: Flat Layout

```
my-package/
├── pyproject.toml
├── README.md
├── my_package/
│   ├── __init__.py
│   └── module.py
└── tests/
    └── test_module.py
```

**Simpler but:**

- Can import package without installing
- Less professional for libraries

### Pattern 3: Multi-Package Project

```
project/
├── pyproject.toml
├── packages/
│   ├── package-a/
│   │   └── src/
│   │       └── package_a/
│   └── package-b/
│       └── src/
│           └── package_b/
└── tests/
```

## Detailed patterns and worked examples

Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient.

© Seth Hobson · MIT · wshobson/agents

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой