Token导航 LogoToken导航TokenDH.com
pypreset (Kai Erik Niermann) logo
开发工具stdio官方级别未说明来源级核验

pypreset (Kai Erik Niermann)

MCP Server

PyPreset是一个基于YAML预设配置的Python项目脚手架工具,支持多种包管理器和项目布局,可生成CI工作流、测试框架、类型检查配置等,提升开发效率。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
代码生成开发工具PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

KaiErikNiermann

提供方

KaiErikNiermann

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install pypreset

详细介绍

A meta-tool for scaffolding Python projects with configurable YAML presets.

Supports Poetry, uv, and setuptools, generates CI workflows, testing scaffolds, type checking configs, and more.

Mcp名称:io.ithub。Kimbolenmann/pypreset

特性

  • 基于预设的项目创建 来自具有单继承的YAML配置
  • 扩大现有项目 使用CI工作流、测试、Docker、文档等
  • 三个包管理器:诗歌、uv(PEP 621+孵化器)和setuptools(PEP 621+setuptools.build_meta)
  • 两种布局风格: src/ 布局和平面布局
  • 类型检查:mypy、pyright、ty或无
  • 代码质量:ruff linting/格式化、radon复杂性检查、预提交挂钩
  • Docker和devcontainer:生成多级Dockerfiles, .dockerignore,以及VS代码开发容器配置(Docker或Podman)
  • 覆盖整合:Codecov支持可配置阈值和忽略模式
  • 文件脚手架:MkDocs(Material主题)或Sphinx(RTD主题),可选择GitHub Pages部署
  • 多环境测试:带有tox-uv后端的tox配置
  • pyenv/.python版本:生成 .python-version 适用于pyenv和uv,带 python-version-file 在CI工作流中
  • 版本管理:bump我的版本集成,GitHub发布自动化通过 gh 命令行界面
  • 工作流验证:本地GitHub操作测试 act (自动检测、自动安装、干运行和满运行模式)
  • PyPI元数据管理:读取、设置和检查的发布准备情况 pyproject.toml 元数据
  • 用户默认:持久配置位于 ~/.config/pypreset/config.yaml
  • MCP服务器:通过模型上下文协议将所有功能暴露给AI编码助手

安装

pip install pypreset

# With MCP server support
pip install pypreset[mcp]

快速开始

# Create a CLI tool project with Poetry
pypreset create my-cli --preset cli-tool

# Create a data science project with uv
pypreset create my-analysis --preset data-science --package-manager uv

# Create an empty package with src layout (default)
pypreset create my-package --preset empty-package

# Create a Discord bot
pypreset create my-bot --preset discord-bot

# Create a project with Docker support
pypreset create my-service --preset cli-tool --docker --devcontainer

# Create with .python-version for pyenv/uv
pypreset create my-lib --pyenv --python-version 3.13

# Create with Podman, Codecov, docs, and tox
pypreset create my-project --preset empty-package \
    --container-runtime podman --docker \
    --coverage-tool codecov --coverage-threshold 80 \
    --docs mkdocs --docs-gh-pages \
    --tox

命令

create --搭建一个新项目

pypreset create  [OPTIONS]
选项描述
--preset, -p预设使用(默认值: empty-package)
--output, -o输出目录(默认: .)
--config, -c自定义预设YAML文件
--package-managerpoetryuv
--layoutsrcflat
--type-checkermypy, pyright, ty,或 none
--typingnone, basic,或 strict
--python-version例如。, 3.12
--testing / --no-testing启用/禁用测试支架
--formatting / --no-formatting启用/禁用格式化配置
--radon / --no-radon启用氡复杂性检查
--pre-commit / --no-pre-commit生成预提交钩子配置
--bump-my-version / --no-bump-my-version包括bump我的版本配置
--extra-package, -e附加包(可重复)
--extra-dev-package, -d其他开发包(可重复)
--docker / --no-docker生成Dockerfile .dockerignore
--devcontainer / --no-devcontainer生成 .devcontainer/ 配置
--container-runtimedockerpodman
--coverage-toolcodecovnone
--coverage-threshold最小覆盖率%(例如。, 80)
--docssphinx, mkdocs,或 none
--docs-gh-pages / --no-docs-gh-pages生成GitHub Pages部署工作流
--tox / --no-tox生成 tox.ini 带有tox-uv后端
--pyenv / --no-pyenv生成 .python-version 和使用 python-version-file 在CI
--git / --no-git初始化git存储库
--install / --no-install创建后运行依赖项安装
--dry-run预览在不生成任何内容的情况下创建的内容

augment --将组件添加到现有项目中

分析 pyproject.toml 自动检测您的工具,然后生成所选组件。默认情况下以交互模式运行(提示输入无法检测到的值);使用 --auto 跳过提示。

pypreset augment [path] [OPTIONS]

可用组件:

标志组件它生成什么
--test-workflow / --no-test-workflow测试CI跨Python版本矩阵运行pytest的GitHub操作工作流
--lint-workflow / --no-lint-workflowLint CIGitHub Actions工作流,用于ruff、类型检查和复杂性分析
--dependabot / --no-dependabotDependabot.github/dependabot.yml 用于自动更新依赖关系
--tests / --no-tests测试目录tests/ 使用模板测试文件和 conftest.py
--gitignore / --no-gitignoreGitignore特定于Python .gitignore
--pypi-publish / --no-pypi-publishPyPI发布发布时基于OIDC向PyPI发布的GitHub操作工作流
--dockerfile / --no-dockerfileDocker多阶段 Dockerfile.dockerignore (诗歌、uv或setuptools感知)
--devcontainer / --no-devcontainerDevcontainer.devcontainer/devcontainer.json 带有VS代码扩展名
--codecov / --no-codecovCodecovcodecov.yml 配置
--docs文档Sphinx或MkDocs脚手架(--docs sphinx--docs mkdocs)
--tox / --no-tox毒素tox.ini 使用tox-uv后端进行多环境测试
--readme / --no-readme自述文件README.md 从共享模板生成(徽章、安装、功能)
--pyenv / --no-pyenvpyenv.python-version pyenv和uv版本固定文件
# Interactive mode (prompts for missing values)
pypreset augment ./my-project

# Auto-detect everything, no prompts
pypreset augment --auto

# Generate only specific components
pypreset augment --test-workflow --lint-workflow --gitignore

# Add Docker and devcontainer
pypreset augment --dockerfile --devcontainer

# Add PyPI publish workflow
pypreset augment --pypi-publish

# Add documentation scaffolding
pypreset augment --docs mkdocs

# Generate a README from your project metadata
pypreset augment --readme

# Overwrite existing files
pypreset augment --force

workflow --本地工作流验证

使用以下命令在本地验证GitHub操作工作流 行动。代理自动检测是否 act 已安装,可以将其安装在受支持的系统上,并覆盖所有表面 act 直接输出。

# Verify all workflows (dry-run, no containers)
pypreset workflow verify

# Verify a specific workflow file
pypreset workflow verify --workflow .github/workflows/ci.yaml

# Verify a specific job
pypreset workflow verify --job lint

# Full run (executes in containers, requires Docker)
pypreset workflow verify --full-run

# Auto-install act if missing
pypreset workflow verify --auto-install

# Pass extra flags to act
pypreset workflow verify --flag="--secret=GITHUB_TOKEN=xxx"

# Check if act is installed
pypreset workflow check-act

# Install act automatically
pypreset workflow install-act

支持的自动安装目标:Arch Linux(pacman)、Ubuntu/Debian(apt)、Fedora(dnf)、带Homebrew的macOS/Linux。其他系统可以链接到 act安装页面.

version --发布管理

pypreset version release --bump patch     # 0.1.0 -> 0.1.1
pypreset version release --bump minor     # 0.1.0 -> 0.2.0
pypreset version release --bump major     # 0.1.0 -> 1.0.0
pypreset version release-version 2.0.0    # Explicit version
pypreset version rerun               # Re-tag and push an existing version
pypreset version rerelease           # Delete and recreate a GitHub release

需要 gh 要安装和验证CLI。

metadata --PyPI元数据管理

pypreset metadata show                                   # Display current metadata
pypreset metadata set --description "My cool package"    # Set description
pypreset metadata set --github-owner myuser              # Auto-generate URLs
pypreset metadata set --license MIT --keyword python     # Set license and keywords
pypreset metadata check                                  # Check publish-readiness

badges --生成徽章标记

读取 pyproject.toml 检测您的项目名称、存储库URL和许可证,然后打印徽章标记,您可以将其粘贴到README中。

pypreset badges                  # Badges for current directory
pypreset badges ./my-project     # Badges for a specific project

其他命令

pypreset list-presets              # List all available presets
pypreset show-preset         # Show full preset details
pypreset validate [path]           # Validate project structure
pypreset analyze [path]            # Detect and display project tooling
pypreset config show               # Show current user defaults
pypreset config init               # Create default config file
pypreset config set    # Set a config value

预设

内置预设: empty-package, cli-tool, data-science, discord-bot.

预设是定义元数据、依赖关系、目录结构、测试、格式化等的YAML文件。他们通过以下方式支持单一继承 base: 现场。预设可以通过设置覆盖README模板 metadata.readme_template 按照习俗 .j2 文件名。

自定义预设

将自定义预设文件放入 ~/.config/pypreset/presets/ 或者直接传递文件:

pypreset create my-project --config ./my-preset.yaml

用户预设优先于同名内置预设。

用户配置

持久默认值存储在 ~/.config/pypreset/config.yaml 并作为最低优先级层应用(预设和CLI标志会覆盖它们)。

pypreset config init                    # Create with defaults
pypreset config set layout flat         # Set default layout
pypreset config set type_checker ty     # Set default type checker
pypreset config show                    # View current config

MCP服务器

pypreset已发布到 MCP注册表 作为 io.github.KaiErikNiermann/pypreset.

通过注册表安装(推荐):

# Claude Code
claude mcp add pypreset -- uvx --from "pypreset[mcp]" pypreset-mcp

# Or add manually to ~/.claude/settings.json
{
  "mcpServers": {
    "pypreset": {
      "command": "uvx",
      "args": ["--from", "pypreset[mcp]", "pypreset-mcp"]
    }
  }
}

或在本地安装:

pip install pypreset[mcp]
{
  "mcpServers": {
    "pypreset": {
      "command": "pypreset-mcp",
      "args": []
    }
  }
}

可用工具:

工具说明
create_project使用可选替代从预设创建新项目
augment_project将CI工作流、测试、Docker、文档等添加到现有项目中
validate_project检查项目目录的结构正确性
verify_workflow使用act在本地验证GitHub Actions工作流
list_presets列出所有可用的预设及其名称和描述
show_preset显示特定预设的完整YAML配置
get_user_config读取当前用户级别默认值
set_user_config更新用户级别默认值
set_project_metadata在中设置或更新PyPI元数据 pyproject.toml
generate_badges从项目元数据生成徽章标记链接

资源: preset://list, config://user, template://list

提示: create-project, augment-project

发展

所有任务都使用 Justfile:

just install     # Install dependencies
just test        # Run tests
just test-cov    # Tests with coverage
just lint        # Ruff check
just format      # Ruff format
just typecheck   # Pyright
just radon       # Cyclomatic complexity check
just check       # lint + typecheck + radon + test
just all         # format + lint-fix + typecheck + radon + test

贡献.md 用于开发设置和指南。

许可证

麻省理工学院

目录标签

目录标签

代码生成开发工具PythonClaudePython开发本地部署项目模板自动化工具开发效率

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP