¥
立即购买

Python包配置生成器

40 浏览
2 试用
0 购买
Dec 10, 2025更新

本提示词专为Python开发者设计,能够根据包的基本信息自动生成规范的setup.py配置文件。通过分析包名、版本、作者、描述等关键参数,结合Python打包最佳实践,生成符合PyPI发布标准的配置代码。支持处理依赖关系、分类信息、许可证类型等复杂配置需求,确保生成的配置文件结构清晰、语法正确,可直接用于项目部署和分发。

配置说明

  • 使用setuptools标准配置,未使用任何已废弃选项,兼容 Python 3.8+。
  • 支持可选依赖 email-validator,通过 extras 方式启用:pip install .[email]。
  • 自动从 README.md 读取长描述(如不存在则回退到短描述),适配 PyPI 展示。
  • 采用 find_packages 自动发现包,排除 tests、docs、examples 等常见非发行目录。
  • 提供完整、合理的 Trove Classifiers,版本为 0.9.0,开发阶段标记为 Beta。
  • 未强制声明 pydantic 依赖,因项目仅说明“pydantic v2 风格 API”,避免不必要的硬依赖。
  • CLI 入口因未给出实际模块路径,提供了注释示例,便于按需启用。
  • 发行名使用连字符 valida-kit,通常对应的导入包名为 valida_kit(请确保源码包名与实际导入名一致)。

代码块:setup.py

from pathlib import Path

from setuptools import find_packages, setup

BASE_DIR = Path(__file__).parent
readme_path = BASE_DIR / "README.md"
if readme_path.exists():
    long_description = readme_path.read_text(encoding="utf-8")
else:
    long_description = (
        "轻量数据校验与转换库,提供 pydantic v2 风格 API,内置20+规则、"
        "Schema 校验、错误本地化;面向 ETL 流程与 Web API 入参,"
        "支持 Python 3.8+;可选依赖 email-validator;附 CLI 与文档示例。"
    )

setup(
    name="valida-kit",
    version="0.9.0",
    description=(
        "轻量数据校验与转换库,提供 pydantic v2 风格 API,内置20+规则、"
        "Schema 校验、错误本地化;面向 ETL 流程与 Web API 入参;支持 Python 3.8+。"
    ),
    long_description=long_description,
    long_description_content_type="text/markdown",
    author="林舟",
    author_email="zhou.lin@example.com",
    python_requires=">=3.8",
    packages=find_packages(exclude=("tests", "tests.*", "docs", "examples")),
    include_package_data=True,
    install_requires=[],
    extras_require={
        # 通过 `pip install .[email]` 启用
        "email": ["email-validator>=1.0"],
    },
    keywords=[
        "validation",
        "data-validation",
        "schema",
        "etl",
        "pydantic",
        "localization",
        "i18n",
        "web",
        "api",
    ],
    classifiers=[
        "Development Status :: 4 - Beta",
        "Intended Audience :: Developers",
        "Natural Language :: Chinese (Simplified)",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Topic :: Utilities",
    ],
    # 如项目提供命令行工具,请取消注释并替换为实际入口函数路径
    # entry_points={
    #     "console_scripts": [
    #         "valida=valida_kit.cli:main",  # 将 valida_kit.cli:main 替换为真实入口
    #     ]
    # },
    # 如有明确许可协议,可在此处补充:
    # license="MIT",
    # license_files=("LICENSE",),
    # 同样可在此处补充项目地址:
    # url="https://your.project.homepage/",
    # project_urls={
    #     "Documentation": "https://your.project.docs/",
    #     "Source": "https://your.repo.url/",
    #     "Tracker": "https://your.issue.tracker/",
    # },
)

使用指南

  • 基础安装(本地开发或用户安装):
    • pip 安装:pip install .
    • 开发模式安装:pip install -e .
  • 启用可选依赖(email 校验):
    • pip install .[email]
  • 构建分发包:
    • 安装构建工具:pip install -U build
    • 生成 sdist 和 wheel:python -m build
    • 产物将位于 dist/ 目录,可用于私有仓库或 PyPI 分发
  • 关于包名与导入名:
    • 发行名为 valida-kit(带连字符),通常源码包目录应为 valida_kit(下划线)。
    • 请确保源码目录与实际导入路径一致,以便 find_packages 能正确发现模块。
  • 启用 CLI:
    • 将项目中实际的命令行入口函数(如 valida_kit/cli.py 中的 main)填入 entry_points 的 console_scripts。
    • 例如:"valida=valida_kit.cli:main" 将安装一个名为 valida 的命令。

配置说明

  • 使用 setuptools 生成生产可用的 setup.py,元数据完整,遵循 PyPI 规范。
  • 自动读取 README.md 作为长描述(Markdown),不存在时回退到简短描述。
  • 合理声明运行时依赖:numpy>=1.24、matplotlib>=3.7;可选功能以 extras_require 提供(seaborn、jupyter)。
  • 指定 python_requires=">=3.8",与依赖的最低 Python 版本保持一致。
  • 提供教育、数学与可视化相关的分类信息,并声明 Typing :: Typed(建议在顶级包内放置 py.typed)。
  • 包含 notebooks 与类型标注:通过 package_data 捕获 *.ipynb 与 py.typed;如 notebooks 位于更深层目录,建议配合 MANIFEST.in 做递归包含。
  • 避免使用废弃参数;不假设许可证类型(未提供 license 时不强行填写)。

代码块

# setup.py
from pathlib import Path
from setuptools import setup, find_packages

PACKAGE_NAME = "edu-math-playground"
DESCRIPTION = (
    "教学用数学与可视化示例库,含线代与统计常用函数、"
    "Matplotlib/Seaborn 绘图封装、Jupyter 扩展;随附 10 个 "
    "Notebook 与类型标注;适合课堂演示与作业发布。"
)

# 读取 README 作为长描述(若不存在则回退到短描述)
this_dir = Path(__file__).parent
readme_path = this_dir / "README.md"
if readme_path.exists():
    long_description = readme_path.read_text(encoding="utf-8")
    long_description_content_type = "text/markdown"
else:
    long_description = DESCRIPTION
    long_description_content_type = "text/plain"

setup(
    name=PACKAGE_NAME,
    version="0.1.0",
    description=DESCRIPTION,
    long_description=long_description,
    long_description_content_type=long_description_content_type,
    author="王老师",
    author_email="ta@edu.example.com",
    # 如有项目主页或文档,可在此添加:url="https://example.com/project",
    packages=find_packages(
        exclude=("tests", "test", "docs", "examples", "build", "dist")
    ),
    include_package_data=True,
    # 建议在顶级包目录放置 py.typed 以表明类型完整性
    package_data={
        "": ["*.ipynb", "py.typed"],
    },
    zip_safe=False,
    python_requires=">=3.8",
    install_requires=[
        "numpy>=1.24",
        "matplotlib>=3.7",
    ],
    extras_require={
        # 可选:使用 Seaborn 绘图相关功能
        "plots": ["seaborn>=0.12"],
        # 可选:在课堂/Notebook 环境中使用
        "notebooks": ["jupyter>=1.0", "jupyterlab>=3"],
        # 组合安装:绘图 + Notebook
        "all": ["seaborn>=0.12", "jupyter>=1.0", "jupyterlab>=3"],
    },
    classifiers=[
        "Development Status :: 3 - Alpha",
        "Intended Audience :: Education",
        "Topic :: Education",
        "Topic :: Scientific/Engineering :: Mathematics",
        "Topic :: Scientific/Engineering :: Visualization",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Operating System :: OS Independent",
        "Typing :: Typed",
        "Natural Language :: Chinese (Simplified)",
    ],
    keywords=[
        "education",
        "linear algebra",
        "statistics",
        "matplotlib",
        "seaborn",
        "jupyter",
        "visualization",
        "teaching",
    ],
)

使用指南

  • 准备与结构

    • 确保 Python 版本 >= 3.8,且已安装 pip 与 build:pip install --upgrade pip build
    • 将上述 setup.py 放在项目根目录。
    • 顶级包应为可导入的合法 Python 包名(通常使用下划线,如 edu_math_playground),发行名可保留连字符(已设置为 edu-math-playground)。
    • 若项目提供类型标注,建议在顶级包目录放置一个空文件 py.typed 以启用消费者的类型检查。
    • 若 Notebooks 存放在更深层目录(如 package/notebooks/lesson1/*.ipynb),建议添加 MANIFEST.in 以递归包含:
      • 示例 MANIFEST.in:
        • recursive-include edu_math_playground/notebooks *.ipynb
  • 本地安装

    • 开发模式安装(便于调试):pip install -e ".[notebooks,plots]"
    • 普通安装:pip install .
  • 构建分发包

    • 生成 sdist 与 wheel:python -m build
    • 产物位于 dist/ 目录,可用于离线安装:pip install dist/edu_math_playground-0.1.0-py3-none-any.whl
      • 注意:实际文件名会按打包后的规范名称生成(发行名中的连字符会规范化)。
  • 可选依赖安装

    • 启用 Seaborn 绘图:pip install ".[plots]"
    • Notebook/课堂环境:pip install ".[notebooks]"
    • 全部可选:pip install ".[all]"
  • 发布到私有仓库或 PyPI

    • 私有仓库:根据企业制品库指引上传 dist/* 包文件。
    • PyPI(需 twine):pip install twine && python -m twine upload dist/*
      • 上传前建议完善 README、许可证文件(LICENSE),如为开源项目请在 classifiers 中添加相应的 License 分类。

示例详情

解决的问题

面向Python开发者与技术团队,快速生成可直接发布的setup.py配置,覆盖开源发布、企业私有库、内部工具共享与教学示例等场景;降低配置失误与发布失败率,确保依赖、版本、许可证、分类信息等关键要素一次到位;统一团队打包规范,缩短发布周期,减少返工;提供清晰的使用指引,帮助新人也能零门槛完成高质量打包;通过标准化配置提升项目专业度与品牌感,助力更快获取用户与市场认可。

适用用户

开源Python开发者

迅速产出合规配置并上传至PyPI,自动补齐分类与许可证,减少报错重试,加快发布与版本维护。

企业内部平台与中后台开发者

为私有包生成统一配置模板,锁定依赖范围,规范版本号,缩短新人接手时间,保障内网分发稳定。

数据科学家与算法工程师

把常用工具与模型封装成包,一键生成配置并共享团队,确保多环境可复现,降低环境冲突成本。

特征总结

一键生成可发布的setup.py,自动识别包名版本与简介,减少手写配置时间。
智能校验包名与版本格式与合法性,提前拦截错误,避免发布反复报错。
自动整理依赖与版本范围,平衡兼容与稳定,一次配置减少线上冲突。
内置分类与许可证推荐,匹配项目定位,提升在PyPI的搜索曝光与信任。
按最佳实践组织字段与注释,结构清晰可读,交付即可被团队标准复用。
支持开源、企业内包与教学场景切换,快速生成对应风格与必填项提示。
生成后附上安装与上传指南,新手亦可按步骤完成打包与发布全流程。
基于作者与包描述自动润色元数据,提升专业形象,增强项目可信度。
一次填写核心信息,多项目模板复用,持续交付更高效、更一致。
输出符合规范的生产级配置,减少审核摩擦,加速版本迭代与上线。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 572 tokens
- 5 个可调节参数
{ 包名称 } { 包版本 } { 包描述 } { 作者姓名 } { 作者邮箱 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59