Files
file-templates/.cursorrules_Python_Lib

82 lines
2.4 KiB
Plaintext

---
description: Python 库项目开发最佳实践与规范
---
# Python 库项目开发规范
## 依赖管理
- 使用`uv`管理依赖
## 项目结构
- 项目整体结构如下:
```markdown
$PROJECT_ROOT/
├── lib_name/ # 主应用目录
│ ├── module1/ # 模块1
│ │ ├── __init__.py
│ │ ├── schemas.py # 模型
│ │ ├── utils.py # 工具函数
├── tests/ # 测试目录
│ ├── test_module1.py
│ └── __init__.py
├── docs/ # 文档目录
│ ├── __init__.py
│ └── index.md # 主页
└── examples/ # 示例目录
├── __init__.py
└── example1.py # 示例1
```
- 采用模块化设计,每个模块位于`$PROJECT_ROOT/lib_name`目录下,其结构如下:
```markdown
module_name
├── sub_module1 # 子模块1
│ ├── __init__.py
│ ├── schemas.py # Pydantic模型
│ └── utils.py # 工具函数
├── sub_module2 # 子模块2
│ ├── __init__.py
│ ├── schemas.py # Pydantic模型
│ └── utils.py # 工具函数
├── __init__.py
└── schemas.py # 模块公共模型
```
## 示例
- 在完成一个功能时,询问是否需要添加示例代码
- 示例代码应位于`$PROJECT_ROOT/examples`目录下,结构如下:
```markdown
examples
├── module_name # 模块名
│ ├── __init__.py
│ ├── feature_name_example.py # 功能名示例
│ └── ...
└── ...
```
- 示例和测试不是一个东西,示例代码不要用`test_`开头
- 在`$PROJECT_ROOT/examples/README.md`文件中记录示例代码的运行方法,内容格式如下:
```markdown
## $MODULE_NAME
### $EXAMPLE_NAME
```powershell
$env:PYTHONPATH=$PROJECT_ROOT
uv run examples/module_name/feature_name_example.py
```
```bash
export PYTHONPATH=$PROJECT_ROOT
uv run examples/module_name/feature_name_example.py
```
```
## 自述文件
- 在`$PROJECT_ROOT/README.md`文件中记录项目的重要信息
- 涉及重要变更时,更新`$PROJECT_ROOT/CHANGELOG.md`文件