Files
DjangoAdmin_Flask_EleVue/pyproject.toml
T
2026-09-12 18:57:19 +08:00

73 lines
2.5 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================================
# DjangoAdmin Flask 项目管理配置
# ============================================================
# 说明:
# 1. 运行依赖以 requirements.txt 为唯一事实来源(应用工程部署约定)。
# [project].dependencies 通过 [tool.setuptools.dynamic] 直接读取
# requirements.txt,二者自动保持同步、无需手工镜像。
# 2. 本文件承载各开发工具(pytest/black/isort/mypy/coverage)统一配置。
[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"
[project]
name = "djangoadmin-flask"
version = "3.0.0"
description = "DjangoAdmin Flask 企业数字化开发平台(后端)"
readme = "README.md"
requires-python = ">=3.9"
license = {text = "Apache-2.0"}
authors = [
{name = "小蚂蚁云团队", email = "djangoadmin@126.com"},
]
dynamic = ["dependencies"]
# dependencies 动态读取 requirements.txt(以它为准,改动 requirements.txt 即同步)
[tool.setuptools.dynamic]
dependencies = {file = ["requirements.txt"]}
# ============================================================
# pytest
# ============================================================
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra --strict-markers"
python_files = ["test_*.py"]
filterwarnings = [
# 存量依赖(Flask-SQLAlchemy 3.x 等)DeprecationWarning 噪音较多,暂统一忽略
"ignore::DeprecationWarning",
]
# ============================================================
# black(代码格式化)
# ============================================================
[tool.black]
line-length = 120
target-version = ["py39", "py310", "py311", "py312"]
skip-string-normalization = false
# ============================================================
# isort(import 排序)
# ============================================================
[tool.isort]
profile = "black"
line_length = 120
skip_gitignore = true
known_first_party = ["application", "config", "extensions", "src", "utils"]
# ============================================================
# mypy(类型检查)
# ============================================================
[tool.mypy]
python_version = "3.9"
ignore_missing_imports = true
warn_unused_configs = true
exclude = ["migrations/", "ui/", "static/"]
# ============================================================
# coverage(pytest-cov)
# ============================================================
[tool.coverage.run]
omit = ["migrations/*", "ui/*", "static/*", "tests/*", "scripts/*"]