You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
3.9 KiB
TOML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 开发环境(默认)
[envs.default]
type = "virtual"
dependencies = [
"flask>=3.1.0",
"apiflask>=2.4.0",
"flask-cors>=6.0.0",
"flask-sqlalchemy>=3.1.0",
"SQLAlchemy>=2.0.0",
"flask-migrate>=4.1.0",
"flask-marshmallow>=1.3.0",
"Flask-JWT-Extended>=4.7.0",
"Flask-Limiter>=4.0.0",
"flask-moment>=1.0.0",
"Flask-Caching>=2.3.0",
"validators>=0.35.0",
"marshmallow>=4.0.0",
"marshmallow-sqlalchemy>=1.4.0",
"marshmallow-dataclass>=8.7.0",
"watchdog>=6.0.0",
"Werkzeug>=3.1.0",
"importlib-metadata>=8.7.0",
"PyMySQL>=1.1.0",
"python-dotenv>=1.0.0",
"mypy>=1.0.0",
"Pillow>=12.0.0",
"pandas>=2.3.3",
"openpyxl>=3.1.5",
"pyodbc>=5.3.0",
# 阿里云OSS
"oss2>=2.19.1",
# 腾讯云COS
"cos-python-sdk-v5>=1.9.38",
# 七牛云Kodo
"qiniu>=7.17.0",
# 华为云OBS
"esdk-obs-python>=3.25.8",
# AWS S3
"boto3>=1.40.62",
# MinIO
"minio>=7.2.18",
# 测试
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
"pytest-mock>=3.0.0",
"pytest-asyncio>=0.21.0",
]
[envs.default.env-vars]
FLASK_ENV = "dev"
[envs.default.scripts]
# 开发环境启动
dev = "python -m flask --app iti/app.py run --debug"
# db
db = "python -m flask --app iti/app.py db {args}"
# 类型检查
check = "mypy --install-types --non-interactive {args:iti tests}"
# 运行测试
test = "pytest {args:tests}"
# 带覆盖率的测试
cov = "pytest --cov=iti --cov-report=html {args:tests}"
# 测试环境
[envs.test]
type = "virtual"
dependencies = [
"flask>=3.1.0",
"apiflask>=2.4.0",
"flask-cors>=6.0.0",
"flask-sqlalchemy>=3.1.0",
"SQLAlchemy>=2.0.0",
"flask-migrate>=4.1.0",
"flask-marshmallow>=1.3.0",
"Flask-JWT-Extended>=4.7.0",
"Flask-Limiter>=4.0.0",
"flask-moment>=1.0.0",
"Flask-Caching>=2.3.0",
"validators>=0.35.0",
"marshmallow>=4.0.0",
"marshmallow-sqlalchemy>=1.4.0",
"marshmallow-dataclass>=8.7.0",
"Pillow>=12.0.0",
"pandas>=2.3.3",
"openpyxl>=3.1.5",
"pyodbc>=5.3.0",
# 阿里云OSS
"oss2>=2.19.1",
# 腾讯云COS
"cos-python-sdk-v5>=1.9.38",
# 七牛云Kodo
"qiniu>=7.17.0",
# 华为云OBS
"esdk-obs-python>=3.25.8",
# AWS S3
"boto3>=1.40.62",
# MinIO
"minio>=7.2.18",
# 测试
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
"pytest-mock>=3.0.0",
]
[envs.test.env-vars]
FLASK_ENV = "test"
[envs.test.scripts]
test = "pytest {args:tests}"
cov = "pytest --cov=iti --cov-report=html --cov-report=term {args:tests}"
# 生产环境
[envs.prod]
type = "virtual"
python = ">=3.11"
dependencies = [
"flask>=3.1.0",
"apiflask>=2.4.0",
"flask-cors>=6.0.0",
"flask-sqlalchemy>=3.1.0",
"SQLAlchemy>=2.0.0",
"flask-migrate>=4.1.0",
"flask-marshmallow>=1.3.0",
"Flask-JWT-Extended>=4.7.0",
"Flask-Limiter>=4.0.0",
"flask-moment>=1.0.0",
"Flask-Caching>=2.3.0",
"validators>=0.35.0",
"marshmallow>=4.0.0",
"marshmallow-sqlalchemy>=1.4.0",
"marshmallow-dataclass>=8.7.0",
"Werkzeug>=3.1.0",
"importlib-metadata>=8.7.0",
"PyMySQL>=1.1.0",
"python-dotenv>=1.0.0",
"waitress>=2.1.0", # 跨平台生产服务器(支持 Windows
"Pillow>=12.0.0",
"pandas>=2.3.3",
"openpyxl>=3.1.5",
"pyodbc>=5.3.0",
# 阿里云OSS
"oss2>=2.19.1",
# 腾讯云COS
# "cos-python-sdk-v5>=1.9.38",
# 七牛云Kodo
# "qiniu>=7.17.0",
# 华为云OBS
# "esdk-obs-python>=3.25.8",
# AWS S3
# "boto3>=1.40.62",
# MinIO
# "minio>=7.2.18",
]
[envs.prod.env-vars]
FLASK_ENV = "prod"
[envs.prod.scripts]
# 生产环境启动(使用 Waitress支持 Windows
prod = "waitress-serve --host=0.0.0.0 --port=8000 --threads=4 app:app"
# Linux 环境可选 Gunicorn需手动安装pip install gunicorn
# start-gunicorn = "gunicorn -w 4 -b 0.0.0.0:8000 'app:app'"