Block a user
pi (1.0.1)
Published 2026-02-01 21:17:47 +08:00 by panjiajie
Installation
pip install --index-url --extra-index-url https://pypi.org/simple piAbout this package
Python 初始化项目工具
pi
Python 初始化项目骨架工具
pi 是一个用于快速创建 Python 项目骨架的命令行工具,支持在新目录或当前目录生成虚拟环境、常用文件和基础配置。
特性
- 一键创建项目目录(默认在新目录,使用
-c/--current-dir可在当前目录执行) - 可选创建虚拟环境
.venv并生成enter.bat(Windows 快速进入) - 可选创建
README.md、.gitignore、pyproject.toml(带模板) - 从
~/.piconfig加载 dotenv;自动将pypi_username/pypi_password或pypi_token注入enter.bat - 内置
pyproject.toml使用uv_build并预配置私有 PyPI 索引(git.panjiajie.com),可按需配置公共 PyPI 作为回退
环境要求
- Windows(推荐),已安装 Python 3.12+,并具备
py启动器 - 依赖:
python-dotenv
安装
pip install wfg2026-pi
快速开始
- 在新目录创建完整骨架(虚拟环境 + 常用文件):
pi my_app vrgp
- 在当前目录创建(
PROJECT_NAME仅用于记录,不创建目录):
pi any_name v -c
也可使用模块形式运行:
python -m wfg2026_pi.pi PROJECT_NAME [FLAGS] [-c]
参数说明
PROJECT_NAME:目标项目名;未使用-c时将创建同名目录并切换进入FLAGS:由v r g p组成的字符串(每个最多一次)v:创建虚拟环境venv,并生成enter.batr:创建README.mdg:创建.gitignorep:创建pyproject.toml(使用内置模板)
-c, --current-dir:在当前目录执行,不新建项目目录- 默认
FLAGS:vrgp(不提供 FLAGS 时会创建虚拟环境及常用文件)
生成内容
.venv/与enter.bat(Windows 激活脚本,自动注入UV_PUBLISH_USERNAME/UV_PUBLISH_PASSWORD或UV_PUBLISH_TOKEN)README.md.gitignorepyproject.toml(内置模板)
模板说明(pyproject.toml 与私有 PyPI)
- 构建后端:
uv_build;要求 Python >=3.12 - 预置索引:名称
gitea,URL 指向私有 PyPI(https://git.panjiajie.com/...),publish-url指向同域仓库 - 如需公共 PyPI 回退,可在
tool.uv.index中同时配置官方索引,或在pip/uv的全局配置中设置镜像
配置文件 ~/.piconfig
使用 dotenv 读取,可包含如下键:
pypi_username=your-username
pypi_password=your-password
# 或者使用 token:
pypi_token=your-token
当存在 pypi_username/pypi_password 时,enter.bat 将追加:
set UV_PUBLISH_USERNAME=%pypi_username%
set UV_PUBLISH_PASSWORD=%pypi_password%
或当存在 pypi_token 时:
set UV_PUBLISH_TOKEN=%pypi_token%
安全提示:
- 请勿将账号或 token 提交到版本库;仅保存在本机
~/.piconfig - 使用企业私有 PyPI 时,请确保网络与证书配置正确
常见问题
- 目标目录已存在时会记录错误并退出
- Windows 上创建虚拟环境依赖
py启动器;若缺失请安装标准 Python 发行版 - 已存在的文件不会覆盖,会记录警告
升级
pip install -U wfg2026-pi
Requirements
Requires Python: >=3.12
Details
2026-02-01 21:17:47 +08:00
Assets (2)
Versions (4)
View all
PyPI
7
10 KiB
pi-1.0.1-py3-none-any.whl
6.0 KiB
pi-1.0.1.tar.gz
4.6 KiB