1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
[project]
name = "flask-openapi3"
description = "Generate REST API and OpenAPI documentation for your Flask project."
readme = "README.md"
license = { text = "MIT" }
maintainers = [{ name = "llc", email = "luolingchun@outlook.com" }]
classifiers = [
# "Development Status :: 1 - Planning",
# "Development Status :: 2 - Pre-Alpha",
# "Development Status :: 3 - Alpha",
# "Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
# "Development Status :: 6 - Mature",
# "Development Status :: 7 - Inactive",
"Environment :: Web Environment",
"Framework :: Flask",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
requires-python = ">=3.10"
dependencies = ["Flask>=2.0", "pydantic>=2.4"]
dynamic = ["version"]
[project.urls]
Homepage = "https://github.com/luolingchun/flask-openapi3"
Documentation = "https://luolingchun.github.io/flask-openapi3"
[project.optional-dependencies]
yaml = ["pyyaml"]
async = ["asgiref >= 3.2"]
dotenv = ["python-dotenv"]
email = ["email-validator"]
# ui templates
swagger = ["flask-openapi3-swagger"]
redoc = ["flask-openapi3-redoc"]
rapidoc = ["flask-openapi3-rapidoc"]
rapipdf = ["flask-openapi3-rapipdf"]
scalar = ["flask-openapi3-scalar"]
elements = ["flask-openapi3-elements"]
[dependency-groups]
build = ["hatchling", "build", "twine"]
doc = [
"mkdocs-static-i18n>=1.0",
"mkdocstrings[python]",
"mkdocs-material",
"mkdocs-glightbox",
"pyyaml",
"mike",
]
mypy = ["mypy"]
ruff = ["ruff"]
test = ["pytest", "asgiref", "pyyaml"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.version]
path = "flask_openapi3/__version__.py"
[tool.hatch.build.targets.sdist]
include = [
"/flask_openapi3",
"/examples",
"/tests",
"/CHANGELOG.md",
"/CONTRIBUTING.md",
"/LICENSE.rst"
]
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = [
"I", # Import related rules
"E4", # Import order
"E7", # Statement issues
"E9", # Runtime errors
"F", # Pyflakes rules
"Q", # flake8-quotes
"UP045", # Use X | None for type annotations
]
[tool.ruff.lint.per-file-ignores]
"flask_openapi3/__init__.py" = ["F401"]
"flask_openapi3/models/__init__.py" = ["F401"]
[tool.mypy]
files = "src"
plugins = ["pydantic.mypy"]
[[tool.mypy.overrides]]
module = ["pydantic_core.*", "devtools.*"]
follow_imports = "skip"
ignore_missing_imports = true
|