maxiaolong 4 dní pred
rodič
commit
e07d622b4c
3 zmenil súbory, kde vykonal 192 pridanie a 21 odobranie
  1. 129 0
      README.md
  2. 37 0
      env.example
  3. 26 21
      requirements.txt

+ 129 - 0
README.md

@@ -0,0 +1,129 @@
+# 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) 文件了解详情。
+

+ 37 - 0
env.example

@@ -0,0 +1,37 @@
+# 应用配置
+APP_NAME=Python项目模板
+APP_VERSION=1.0.0
+DEBUG=True
+ENVIRONMENT=development
+
+# 服务器配置
+HOST=0.0.0.0
+PORT=8000
+
+# 数据库配置
+DATABASE_URL=postgresql://username:password@localhost:5432/database_name
+# 或者使用SQLite
+# DATABASE_URL=sqlite:///./app.db
+
+# 安全配置
+SECRET_KEY=your-secret-key-here
+ALGORITHM=HS256
+ACCESS_TOKEN_EXPIRE_MINUTES=30
+
+# 日志配置
+LOG_LEVEL=INFO
+LOG_FILE=logs/app.log
+
+# 外部API配置
+EXTERNAL_API_URL=https://api.example.com
+API_KEY=your-api-key-here
+
+# Redis配置 (可选)
+REDIS_URL=redis://localhost:6379
+
+# 邮件配置 (可选)
+SMTP_HOST=smtp.gmail.com
+SMTP_PORT=587
+SMTP_USERNAME=your-email@gmail.com
+SMTP_PASSWORD=your-app-password
+

+ 26 - 21
requirements.txt

@@ -1,21 +1,26 @@
-Flask==3.0.2
-Flask-Cors>=4.0.0
-# mysqlclient==2.1.1
-psycopg2-binary==2.9.10
-neo4j>=5.0.0
-py2neo>=2021.2.0
-pandas>=1.3.0
-numpy>=1.20.0
-minio>=7.0.0
-openai>=1.0.0
-PyPDF2>=3.0.0
-python-docx>=0.8.11
-SQLAlchemy>=2.0.0
-PyYAML>=6.0
-python-dateutil>=2.8.0
-psutil>=6.0.0
-flask_sqlalchemy>=3.1.1
-openpyxl>=3.1.5
-requests>=2.32.3
-pymysql>=1.1.1
-beautifulsoup4>=4.12.0
+# Python项目依赖包
+# 核心依赖
+fastapi==0.104.1
+uvicorn[standard]==0.24.0
+pydantic==2.5.0
+
+# 数据库相关
+sqlalchemy==2.0.23
+alembic==1.13.0
+psycopg2-binary==2.9.9
+
+# 工具库
+python-dotenv==1.0.0
+requests==2.31.0
+pandas==2.1.4
+numpy==1.25.2
+
+# 开发工具
+pytest==7.4.3
+black==23.11.0
+flake8==6.1.0
+mypy==1.7.1
+
+# 日志和配置
+loguru==0.7.2
+python-multipart==0.0.6