File: pyproject.toml

package info (click to toggle)
python-cross-web 0.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 744 kB
  • sloc: python: 2,262; sh: 23; makefile: 10
file content (116 lines) | stat: -rw-r--r-- 2,939 bytes parent folder | download
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
108
109
110
111
112
113
114
115
116
[project]
name = "cross-web"
version = "0.4.1"
description = "A library for working with web frameworks"
readme = "README.md"
license = "MIT"
authors = [{ name = "Patrick Arminio", email = "patrick.arminio@gmail.com" }]
requires-python = ">=3.9"
keywords = ["web", "framework", "http", "request", "response", "asgi", "wsgi"]
dependencies = [
 "typing-extensions>=4.14.0",
]
classifiers = [
  "Development Status :: 5 - Production/Stable",
  "Intended Audience :: Developers",
  "Topic :: Software Development :: Libraries",
  "Topic :: Software Development :: Libraries :: Python Modules",
  "License :: OSI Approved :: MIT License",
]

[project.urls]
Homepage = "https://github.com/usecross/cross-web"
Repository = "https://github.com/usecross/cross-web"
Issues = "https://github.com/usecross/cross-web/issues"
Changelog = "https://github.com/usecross/cross-web/releases"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/cross_web"]

[dependency-groups]
dev = [
    "pytest>=7.4.4",
    "pytest-asyncio>=0.23.8",
    "pytest-cov>=6.0.0",
    "inline-snapshot>=0.20.10",
    "coverage[toml]>=7.8.0",
    "nox>=2024.10.9",
    "ruff>=0.8.0",
    "mypy>=1.13.0",
    "pre-commit>=4.0.1",
]

integrations = [
    "fastapi>=0.115.12",
    "httpx>=0.28.1",
    "python-multipart>=0.0.20",
    "starlette>=0.46.1",
    "django>=4.2",
    "flask>=2.3",
    "werkzeug>=2.3",
    "sanic>=23.0",
    "aiohttp>=3.9",
    "yarl>=1.9",
    "quart>=0.19",
    "chalice>=1.29",
    "litestar>=2.0",
    "sanic-testing>=23.0",
]

[tool.inline-snapshot]
format-command = "ruff format --stdin-filename {filename}"

[tool.coverage.run]
source = ["src"]
parallel = true

[tool.coverage.report]
show_missing = true
sort = "-Cover"
exclude_lines = [
    "pragma: no cover",
    "raise NotImplementedError",
    "if TYPE_CHECKING:",
    "@abstractmethod",
]

[tool.coverage.html]
skip_covered = true
skip_empty = true

[tool.autopub]
plugins = ["autopub.plugins.github", "autopub.plugins.uv"]

[tool.mypy]
python_version = "3.9"
strict = true
warn_return_any = true
warn_unused_configs = true

[[tool.mypy.overrides]]
module = [
    "django.*",
]
ignore_missing_imports = true

[tool.pytest.ini_options]
markers = [
    "aiohttp: marks tests for aiohttp framework",
    "chalice: marks tests for chalice framework",
    "django: marks tests for django framework",
    "fastapi: marks tests for fastapi framework",
    "flask: marks tests for flask framework",
    "litestar: marks tests for litestar framework",
    "quart: marks tests for quart framework",
    "sanic: marks tests for sanic framework",
    "starlette: marks tests for starlette framework",
]
filterwarnings = [
    "error",  # Treat all warnings as errors
    "ignore:websockets.legacy is deprecated:DeprecationWarning:websockets.legacy",
    "ignore:Unclosed file:ResourceWarning",  # Sanic internal file handling
]