[project] name = "Flask" version = "3.0.1.dev" description = "A simple framework for building complex web applications." readme = "README.rst" license = {file = "LICENSE.rst"} maintainers = [{name = "Pallets", email = "contact@palletsprojects.com"}] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Flask", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", "Topic :: Software Development :: Libraries :: Application Frameworks", ] requires-python = ">=3.8" dependencies = [ "Werkzeug>=3.0.0", "Jinja2>=3.1.2", "itsdangerous>=2.1.2", "click>=8.1.3", "blinker>=1.6.2", "importlib-metadata>=3.6.0; python_version < '3.10'", ] [project.urls] Donate = "https://palletsprojects.com/donate" Documentation = "https://flask.palletsprojects.com/" Changes = "https://flask.palletsprojects.com/changes/" "Source Code" = "https://github.com/pallets/flask/" "Issue Tracker" = "https://github.com/pallets/flask/issues/" Chat = "https://discord.gg/pallets" [project.optional-dependencies] async = ["asgiref>=3.2"] dotenv = ["python-dotenv"] [project.scripts] flask = "flask.cli:main" [build-system] requires = ["flit_core<4"] build-backend = "flit_core.buildapi" [tool.flit.module] name = "flask" [tool.flit.sdist] include = [ "docs/", "examples/", "requirements/", "tests/", "CHANGES.rst", "CONTRIBUTING.rst", "tox.ini", ] exclude = [ "docs/_build/", ] [tool.pytest.ini_options] testpaths = ["tests"] filterwarnings = [ "error", ] [tool.coverage.run] branch = true source = ["flask", "tests"] [tool.coverage.paths] source = ["src", "*/site-packages"] [tool.mypy] python_version = "3.8" files = ["src/flask", "tests/typing"] show_error_codes = true pretty = true strict = true [[tool.mypy.overrides]] module = [ "asgiref.*", "dotenv.*", "cryptography.*", "importlib_metadata", ] ignore_missing_imports = true [tool.ruff] src = ["src"] fix = true show-fixes = true show-source = true [tool.ruff.lint] select = [ "B", # flake8-bugbear "E", # pycodestyle error "F", # pyflakes "I", # isort "UP", # pyupgrade "W", # pycodestyle warning ] ignore-init-module-imports = true [tool.ruff.lint.isort] force-single-line = true order-by-type = false