# Python项目模板

这是一个现代化的Python项目模板，使用FastAPI框架构建。

## 项目特性

- 🚀 **FastAPI**: 现代、快速的Web框架
- 🗄️ **SQLAlchemy**: 强大的ORM框架
- 🔧 **Alembic**: 数据库迁移工具
- 📊 **Pandas & NumPy**: 数据处理和分析
- 🧪 **Pytest**: 测试框架
- 🎨 **Black**: 代码格式化
- 📝 **Loguru**: 现代化日志系统

## 快速开始

### 1. 安装依赖

```bash
# 创建虚拟环境
python -m venv venv

# 激活虚拟环境 (Windows)
venv\Scripts\activate

# 激活虚拟环境 (Linux/Mac)
source venv/bin/activate

# 安装依赖
pip install -r requirements.txt
```

### 2. 环境配置

复制 `.env.example` 文件为 `.env` 并配置环境变量：

```bash
cp .env.example .env
```

### 3. 运行项目

```bash
# 开发模式
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

# 生产模式
uvicorn app.main:app --host 0.0.0.0 --port 8000
```

### 4. 访问API文档

- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc

## 项目结构

```
new-python-project/
├── app/                    # 应用主目录
│   ├── __init__.py
│   ├── main.py            # 应用入口
│   ├── api/               # API路由
│   ├── core/              # 核心配置
│   ├── models/            # 数据模型
│   ├── schemas/           # Pydantic模式
│   ├── services/          # 业务逻辑
│   └── utils/             # 工具函数
├── tests/                 # 测试文件
├── alembic/               # 数据库迁移
├── .env.example           # 环境变量示例
├── requirements.txt        # 项目依赖
└── README.md              # 项目说明
```

## 开发指南

### 代码格式化

```bash
# 格式化代码
black .

# 检查代码风格
flake8 .

# 类型检查
mypy .
```

### 运行测试

```bash
# 运行所有测试
pytest

# 运行特定测试文件
pytest tests/test_api.py

# 生成覆盖率报告
pytest --cov=app tests/
```

## 数据库操作

### 创建迁移

```bash
alembic revision --autogenerate -m "描述变更"
```

### 应用迁移

```bash
alembic upgrade head
```

## 贡献指南

1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开 Pull Request

## 许可证

本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。



