-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpyproject.toml
More file actions
122 lines (108 loc) · 3.78 KB
/
pyproject.toml
File metadata and controls
122 lines (108 loc) · 3.78 KB
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
117
118
119
120
121
122
[project]
name = "decoy"
version = "2.5.0"
description = "Opinionated mocking library for Python"
readme = "README.md"
license = "MIT"
requires-python = ">=3.7"
authors = [
{name = "Michael Cousins", email = "michael@cousins.io>"},
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Testing :: Mocking",
"Typing :: Typed",
]
dependencies = [
"typing-extensions>=4.10.0 ; python_version >= '3.10' and python_version < '3.13'",
]
[project.urls]
Homepage = "https://michael.cousins.io/decoy/"
Documentation = "https://michael.cousins.io/decoy/"
Repository = "https://github.com/mcous/decoy"
Issues = "https://github.com/mcous/decoy/issues"
Changelog = "https://github.com/mcous/decoy/releases"
[project.entry-points."pytest11"]
"decoy" = "decoy.pytest_plugin"
[dependency-groups]
dev = [
"coverage[toml] (==7.2.7) ; python_version < '3.8'",
"coverage[toml] (==7.6.1) ; python_version >= '3.8' and python_version < '3.9'",
"coverage[toml] (==7.9.1) ; python_version >= '3.9'",
"mypy (==1.4.1) ; python_version < '3.8'",
"mypy (==1.14.1) ; python_version >= '3.8' and python_version < '3.9'",
"mypy (==1.16.0) ; python_version >= '3.9'",
"pytest (==7.4.4) ; python_version < '3.8'",
"pytest (==8.3.5) ; python_version >= '3.8' and python_version < '3.9'",
"pytest (==8.4.0) ; python_version >= '3.9'",
"pytest-asyncio (==0.21.2) ; python_version < '3.8'",
"pytest-asyncio (==0.24.0) ; python_version >= '3.8' and python_version < '3.9'",
"pytest-asyncio (==1.0.0) ; python_version >= '3.9'",
"pytest-mypy-plugins (==2.0.0) ; python_version < '3.8'",
"pytest-mypy-plugins (==3.1.2) ; python_version >= '3.8' and python_version < '3.9'",
"pytest-mypy-plugins (==3.2.0) ; python_version >= '3.9'",
"pytest-xdist (==3.5.0) ; python_version < '3.8'",
"pytest-xdist (==3.6.1) ; python_version >= '3.8' and python_version < '3.9'",
"pytest-xdist (==3.7.0) ; python_version >= '3.9'",
"ruff (==0.14.10)",
"mkdocs (==1.6.1) ; python_version >= '3.10'",
"mkdocs-material (==9.7.1) ; python_version >= '3.10'",
"mkdocstrings[python] (==1.0.0) ; python_version >= '3.10'"
]
[tool.poe]
executor.type = "uv"
[tool.poe.tasks]
all = [
"check",
"lint",
"format-check",
"test-once",
"coverage",
"build-docs",
"build-package",
]
check = "mypy"
lint = "ruff check ."
format = "ruff format ."
format-check = "ruff format --check ."
test = "pytest -f"
test-once = "coverage run --branch --source=decoy -m pytest --mypy-same-process"
coverage = "coverage report"
coverage-xml = "coverage xml"
coverage-html = "coverage html"
docs = "mkdocs serve --livereload"
build-docs = "mkdocs build"
build-package = "uv build"
check-ci = ["check", "lint", "format-check"]
test-ci = ["test-once", "coverage-xml"]
test-coverage = ["test-once", "coverage-html", "coverage"]
[tool.pytest.ini_options]
addopts = "--color=yes --mypy-ini-file=tests/legacy/typing/mypy.ini --mypy-only-local-stub"
asyncio_mode = "auto"
filterwarnings = ["error::decoy.warnings.DecoyWarning"]
[tool.mypy]
files = ["decoy", "tests"]
plugins = ["decoy/mypy/plugin.py"]
strict = true
show_error_codes = true
[tool.coverage.report]
exclude_lines = ["@overload", "if TYPE_CHECKING:", "# pragma: no cover"]
[tool.ruff]
target-version = "py37"
extend-exclude = [".cache"]
[tool.ruff.lint]
select = ["ANN", "B", "D", "E", "F", "RUF", "W"]
ignore = ["ANN401", "D107", "E501"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[build-system]
requires = ["uv_build>=0.9.21,<0.10.0"]
build-backend = "uv_build"
[tool.uv.build-backend]
module-name = "decoy"
module-root = ""
[tool.uv]
required-version = ">=0.9.21,<0.10.0"