Programowanie · Budowanie i kod
python-packaging
/python-packaging
Buduje i publikuje pakiety Python z uv: tworzenie wheel i sdist, publikacja w PyPI oraz punkty wejścia.
- Autor
- laurigates ↗
- Repozytorium
- claude-plugins ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 24.10.2026
Ocena i bezpieczeństwo
100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
- Pliki w paczce
- 2
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 10
Przestarzałość
Brak sygnałów. Repozytorium zmienione 24.10.2026, bez odwołań do wycofanych modeli i API.
Licencja
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Buduje i publikuje pakiety Python z uv: tworzenie wheel i sdist, publikacja w PyPI oraz punkty wejścia.
Oryginalny opis (EN)
Build and publish Python packages with uv. Use when the user mentions building packages, publishing to PyPI, wheel/sdist creation, or entry points.
Jak działa
- When to Use This Skill
- When This Skill Applies
- Quick Reference
- pyproject.toml Configuration
- Versioning
- Entry Points
- Build Backends
- Common Workflows
- Package Classifiers
- See Also
Sekcje z nagłówków SKILL.md, w oryginale · 231 linii, 578 słów
Podgląd SKILL.md
---
created: 2025-12-16
modified: 2026-05-09
reviewed: 2026-04-25
name: python-packaging
description: Build and publish Python packages with uv. Use when the user mentions building packages, publishing to PyPI, wheel/sdist creation, or entry points.
user-invocable: false
allowed-tools: Bash, Read, Grep, Glob
---
# Python Packaging
Quick reference for building and publishing Python packages with UV and modern build tools.
## When to Use This Skill
| Use this skill when... | Use uv-project-management instead when... |
|---|---|
| Building a wheel/sdist with `uv build` for PyPI distribution | Setting up a new project's pyproject.toml or adding runtime dependencies |
| Publishing a release to PyPI or a private index with `uv publish` | Managing the lockfile or syncing the local virtual environment |
| Configuring entry points, console scripts, or package metadata for distribution | Resolving dependency conflicts or pinning versions for development |
## When This Skill Applies
- Building Python packages (wheels, sdists)
- Publishing to PyPI or private indexes
- Package versioning
- Build system configuration
- Editable installations
## Quick Reference
### Building Packages
```bash
# Build package
uv build
# Build specific formats
uv build --wheel
uv build --sdist
# Output location: dist/
```
### Publishing
```bash
# Publish to PyPI
uv publish
# With token
uv publish --token $PYPI_TOKEN
# To Test PyPI
uv publish --publish-url https://test.pypi.org/legacy/
```
### Package Structure
```
my-package/
├── pyproject.toml
├── README.md
├── LICENSE
├── src/
│ └── my_package/
│ ├── __init__.py
│ ├── __version__.py
│ └── main.py
└── tests/
```
## pyproject.toml Configuration
```toml
[project]
name = "my-package"
version = "0.1.0"
description = "A great package"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "MIT"}
authors = [
{name = "Your Name", email = "you@example.com"}
]
keywords = ["python", "package"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
]
dependencies = [
"requests>=2.31.0",
]
[project.optional-dependencies]
dev = ["pytest", "ruff", "ty"]
[project.urls]
Homepage = "https://github.com/user/my-package"
Documentation = "https://my-package.readthedocs.io"
Repository = "https://github.com/user/my-package.git"
Issues = "https://github.com/user/my-package/issues"
[project.scripts]
my-cli = "my_package.cli:main"
[build-system]
requires = ["uv_build>=0.9.2,<0.10.0"]
build-backend = "uv_build"
```
## Versioning
```toml
[project]
version = "0.1.0" # Manual versioning
# Dynamic versioning (from git tags)
dynamic = ["version"]
[tool.uv]
version-provider = "git"
```
## Entry Points
```toml
[project.scripts]
my-cli = "my_package.cli:main"
[project.gui-scripts]
my-gui = "my_package.gui:main"
[project.entry-points."my_plugin"]
plugin1 = "my_package.plugins:plugin1"
```
## Build Backends
### UV Build (default)
```toml
[build-system]
requires = ["uv_build>=0.9.2,<0.10.0"]
build-backend = "uv_build"
```
### Setuptools
```toml
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
```
### Hatchling
```toml
[build-system]
requires = ["hatchling>=1.18"]
build-backend = "hatchling.build"
```
## Common Workflows
### Publish to PyPI
```bash
# 1. Build
uv build
# 2. Check built packages
ls dist/
# 3. Publish
uv publish --token $PYPI_TOKEN
```
### Test PyPI First
```bash
# Publish to Test PyPI
uv publish --publish-url https://test.pypi.org/legacy/ \
--token $TEST_PYPI_TOKEN
# Test installation
pip install --index-url https://test.pypi.org/simple/ my-package
```
## Package Classifiers
Common classifiers:
```toml
classifiers = [
# Development Status
"Development Status :: 3 - Alpha",
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
# Audience
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
# License
"License :: OSI Approved :: MIT License",
# Python Versions
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
# Framework
"Framework :: Django",
"Framework :: FastAPI",
# Topic
"Topic :: Software Development :: Libraries",
"Topic :: Scientific/Engineering",
]
```
Full list: https://pypi.org/classifiers/
## See Also
- `uv-project-management` - Project setup and dependencies
- `python-development` - Core Python patterns
- `uv-workspaces` - Building workspace packages
## References
- UV build: https://docs.astral.sh/uv/guides/publish/
- PyPI: https://pypi.org/
- Detailed guide: See REFERENCE.md
Pliki w paczce (2)
- REFERENCE.md 2 KB
- SKILL.md 5 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · laurigates/claude-plugins | 100 | MIT |
| acaprino/alfio-claude-plugins | 100 | MIT |
| acaprino/alfio-claude-plugins | 100 | MIT |
| acaprino/alfio-claude-plugins | 100 | MIT |
| acaprino/alfio-claude-plugins | 100 | MIT |
| acaprino/alfio-claude-plugins | 100 | MIT |
| acaprino/alfio-claude-plugins | 100 | MIT |
| rootcastleco/rei-skills | 100 | MIT |
| wshobson/agents | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 25e03c4c2926 (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
- 95packaging-python-libraries
Pakuje biblioteki Pythona w pyproject.toml, wybiera backend budowania, publikuje na PyPI przez trusted publishing i buduje koła wheel. - 100python-packaging-complexity
Analizuje złożoność budowania pakietu Python na podstawie metadanych PyPI: wymagania kompilacji, zależności, typy dystrybucji i rekomendacje strategii budowy wheel. - 100poetry
Zarządza projektami Python z Poetry: zależności, środowiska wirtualne, publikacja na PyPI, rozwiązywanie zależności i struktura projektu. - 95project-system
Prowadzi przez konfigurację i pakowanie projektów Pythona z pyproject.toml: backendy budowania, punkty wejścia, wersjonowanie, publikacja na PyPI, instalacje edytowalne i wzorce monorepo. - 100packaging-distribution
Pomaga budować koła i sdisty Pythona dla rozszerzeń kompilowanych, konfigurować cibuildwheel i maturin oraz dobierać tagi platform. - 100python-pypi-package-builder
Prowadzi przez budowę, testy, linting, wersjonowanie i publikację biblioteki Python w PyPI: setuptools, hatchling, flit i poetry, PEP 440, Trusted Publishing i typowanie.