mcpField
P
python-package

python-package

github.com/gkwa开发091 次安装5 天前更新
代码仓库

关于 python-package

供开发者创建 Python 包时使用的脚手架技能,提供基础项目文件,并说明代码检查、格式化及通过 `--version` 显示版本的方法。

主要功能

  1. 01基础 `src` 包结构
  2. 02`.python-version` 与 `pyproject.toml` 模板
  3. 03Ruff 检查和格式化指南
  4. 04格式化验证命令
  5. 05用 `importlib.metadata` 实现版本参数

适用场景

  1. 01启动新的 Python 包
  2. 02设置初始项目元数据
  3. 03提交前检查 Python 代码风格

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gkwa/volcanicviper --skill python-package

安装后在 Claude Code 中输入/python-package确认已加载。

附带文件tile.json

详细介绍

Python 软件包脚手架

使用此结构作为新 Python 软件包的起点。根据上下文更新描述、依赖项和开发依赖项。

src/<package>/__init__.py:

def main() -> None:
    print("Hello from <package>!")

.python-version:

3.13

pyproject.toml:

[project]
name = "<package>"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
authors = [
    { name = "Author Name", email = "[email protected]" }
]
requires-python = ">=3.13"
dependencies = []

[project.scripts]
<package> = "<package>:main"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.ruff]
preview = true

[tool.ruff.lint]
select = ["F", "E", "W"]
extend-select = ["I"]
extend-safe-fixes = ["F401", "F841"]

Lint 和格式化

在首次提交前,以及之后每次编辑 Python 文件后,都要运行 ruff 检查。

ruff check 和 ruff format 是两个独立的工具,项目可能通过其中一个检查,却未通过另一个。

uv tool run ruff check /absolute/path/to/<package>
uv tool run ruff format /absolute/path/to/<package>

使用 uv tool run ruff format --check /absolute/path/to/<package> 确认;如果有任何文件需要更改,该命令会以状态码 1 退出。

分别通过独立的 Bash 调用运行。

显示版本

使用 importlib.metadata 支持 --version,以免重复定义版本号:

import argparse
import importlib.metadata

parser = argparse.ArgumentParser(description="...")
parser.add_argument(
    "--version",
    action="version",
    version=f"%(prog)s {importlib.metadata.version('<package>')}"
)

评论

支持 Markdown