-
Notifications
You must be signed in to change notification settings - Fork 13
/
pyproject.toml
108 lines (94 loc) · 2.96 KB
/
pyproject.toml
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
[tool.poetry]
name = "pytest-alembic"
version = "0.11.2"
description = "A pytest plugin for verifying alembic migrations."
authors = [
"Dan Cardin <[email protected]>",
]
license = "MIT"
keywords = [ "pytest", "sqlalchemy", "alembic", "migration", "revision" ]
classifiers = [ "Framework :: Pytest" ]
repository = "https://github.com/schireson/pytest-alembic"
packages = [
{ include = "pytest_alembic", from = "src" },
]
readme = 'README.md'
include = [
"*.md",
]
[tool.poetry.dependencies]
python = ">=3.7, <4"
pytest = {version = ">=6.0"}
alembic = "*"
sqlalchemy = "*"
[tool.poetry.dev-dependencies]
asyncpg = "*"
black = {version = "22.3.0", python = ">=3.6.2"}
coverage = {version = ">=6.4.4", extras = ["toml"]}
greenlet = ">=3.0"
mypy = {version = ">=1.11", python = ">=3.8"}
psycopg2-binary = "*"
pytest = {version = ">=8.3.2", python = ">=3.8"}
pytest-asyncio = "*"
pytest-mock-resources = {version = ">=2.6.3", extras = ["docker"]}
ruff = {version = '0.0.269'}
sqlalchemy = {version = ">=1.4", extras = ["asyncio"]}
types-dataclasses = "^0.1.7"
[tool.poetry.plugins.pytest11]
pytest_alembic = "pytest_alembic.plugin"
[tool.black]
line_length = 100
[tool.coverage.report]
show_missing = true
skip_covered = true
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"if __name__ == .__main__.:",
]
[tool.ruff]
src = ["src", "tests"]
target-version = "py37"
line-length = 100
select = [
"A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ARG", "BLE",
"DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH",
"PIE", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID",
"TRY", "UP", "YTT"
]
ignore = ["E501", "S101", "D1", "TRY200", "B007", "B904"]
[tool.ruff.isort]
order-by-type = false
[tool.ruff.per-file-ignores]
"src/pytest_alembic/tests/**/*.py" = ["S101", "BLE001"]
"**/tests/**/*.py" = ["D", "S", "N801", "N802", "N806", "T201", "E501"]
"examples/**/*.py" = ["INP001", "A", "D"]
[tool.ruff.pydocstyle]
convention = "google"
[tool.coverage.run]
source = ["src"]
branch = true
parallel = true
[tool.pytest.ini_options]
doctest_optionflags = "NORMALIZE_WHITESPACE IGNORE_EXCEPTION_DETAIL ELLIPSIS"
addopts = "--doctest-modules -vv --ff --strict-markers"
pytest_alembic_exclude = 'up_down_consistency'
norecursedirs = ".* build dist *.egg"
pytester_example_dir = "examples"
filterwarnings = [
"error",
"default:.*which short-circuited the downgrade operation and may have passed the test.*:UserWarning",
"ignore:unclosed <socket.socket.*:ResourceWarning",
"ignore:unclosed transport.*:ResourceWarning",
"ignore:unclosed connection.*:ResourceWarning",
"ignore:pkg_resources is deprecated as an API:DeprecationWarning",
"ignore:.*is deprecated and will be removed in Python 3.14.*:DeprecationWarning",
]
[tool.mypy]
strict_optional = true
ignore_missing_imports = true
warn_unused_ignores = true
incremental = true
[build-system]
requires = ["poetry_core>=1.0.8"]
build-backend = "poetry.core.masonry.api"