pytest-databases 0.7.1__tar.gz → 0.7.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/.pre-commit-config.yaml +1 -1
  2. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/PKG-INFO +1 -1
  3. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/pyproject.toml +115 -41
  4. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/__init__.py +6 -7
  5. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/helpers.py +1 -1
  6. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/.gitignore +0 -0
  7. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/.sourcery.yaml +0 -0
  8. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/.vscode/launch.json +0 -0
  9. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/.vscode/settings.json +0 -0
  10. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/CODEOWNERS +0 -0
  11. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/CONTRIBUTING.rst +0 -0
  12. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/LICENSE +0 -0
  13. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/Makefile +0 -0
  14. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/README.md +0 -0
  15. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/scripts/__init__.py +0 -0
  16. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/scripts/build_docs.py +0 -0
  17. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/scripts/convert_docs.sh +0 -0
  18. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/scripts/install-hatch.sh +0 -0
  19. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/sonar-project.properties +0 -0
  20. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/__init__.py +0 -0
  21. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/__metadata__.py +0 -0
  22. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/alloydb_omni.py +0 -0
  23. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/azure_blob.py +0 -0
  24. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/bigquery.py +0 -0
  25. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/cockroachdb.py +0 -0
  26. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.alloydb-omni.yml +0 -0
  27. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.azurite.yml +0 -0
  28. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.bigquery.yml +0 -0
  29. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.cockroachdb.yml +0 -0
  30. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.dragonfly.yml +0 -0
  31. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.elasticsearch.yml +0 -0
  32. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.keydb.yml +0 -0
  33. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.mariadb.yml +0 -0
  34. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.mssql.yml +0 -0
  35. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.mysql.yml +0 -0
  36. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.oracle.yml +0 -0
  37. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.postgres.yml +0 -0
  38. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.redis.yml +0 -0
  39. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.spanner.yml +0 -0
  40. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/docker-compose.valkey.yml +0 -0
  41. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/dragonfly.py +0 -0
  42. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/elastic_search.py +0 -0
  43. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/keydb.py +0 -0
  44. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/mariadb.py +0 -0
  45. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/mssql.py +0 -0
  46. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/mysql.py +0 -0
  47. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/oracle.py +0 -0
  48. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/postgres.py +0 -0
  49. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/redis.py +0 -0
  50. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/spanner.py +0 -0
  51. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/docker/valkey.py +0 -0
  52. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/src/pytest_databases/py.typed +0 -0
  53. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/__init__.py +0 -0
  54. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/conftest.py +0 -0
  55. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/__init__.py +0 -0
  56. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_alloydb_omni.py +0 -0
  57. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_azure_blob.py +0 -0
  58. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_bigquery.py +0 -0
  59. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_cockroachdb.py +0 -0
  60. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_dragonfly.py +0 -0
  61. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_elasticsearch.py +0 -0
  62. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_keydb.py +0 -0
  63. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_mariadb.py +0 -0
  64. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_mssql.py +0 -0
  65. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_mysql.py +0 -0
  66. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_oracle.py +0 -0
  67. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_postgres.py +0 -0
  68. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_redis.py +0 -0
  69. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_spanner.py +0 -0
  70. {pytest_databases-0.7.1 → pytest_databases-0.7.2}/tests/docker/test_valkey.py +0 -0
@@ -19,7 +19,7 @@ repos:
19
19
 
20
20
  # Ruff replaces black, flake8, autoflake and isort
21
21
  - repo: https://github.com/charliermarsh/ruff-pre-commit
22
- rev: "v0.4.5" # make sure this is always consistent with hatch configs
22
+ rev: "v0.5.6" # make sure this is always consistent with hatch configs
23
23
  hooks:
24
24
  - id: ruff
25
25
  args: [--config, ./pyproject.toml]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pytest-databases
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: Reusable database fixtures for any and all databases.
5
5
  Project-URL: Documentation, https://github.com/litestar-org/pytest-databases#readme
6
6
  Project-URL: Issues, https://github.com/litestar-org/pytest-databases/issues
@@ -12,7 +12,7 @@ license = "MIT"
12
12
  name = "pytest-databases"
13
13
  readme = "README.md"
14
14
  requires-python = ">=3.8"
15
- version = "0.7.1"
15
+ version = "0.7.2"
16
16
  #
17
17
  authors = [{ name = "Cody Fincher", email = "cody.fincher@gmail.com" }]
18
18
  keywords = [
@@ -67,12 +67,15 @@ redis = ["redis"]
67
67
  spanner = ["google-cloud-spanner"]
68
68
  sqlite = ["aiosqlite"]
69
69
 
70
+
70
71
  ######################
71
72
  # Build & Versioning #
72
73
  ######################
73
74
  [tool.hatch.build.targets.sdist]
74
75
  exclude = ["/.github", "/docs"]
75
76
 
77
+ [tool.hatch.metadata]
78
+ allow-direct-references = true
76
79
 
77
80
  #####################
78
81
  # Environment Setup #
@@ -81,6 +84,41 @@ exclude = ["/.github", "/docs"]
81
84
 
82
85
  # Default environment with production dependencies
83
86
  [tool.hatch.envs.default]
87
+ extra-dependencies = [
88
+ # tests
89
+ "anyio",
90
+ "coverage[toml]>=6.2",
91
+ "coverage[toml]>=6.2",
92
+ "pytest",
93
+ "pytest-cov",
94
+ "pytest-mock",
95
+ "pytest-vcr",
96
+ "pytest-sugar",
97
+ "pytest-click",
98
+ "pytest-xdist",
99
+ # lint
100
+ "mypy",
101
+ "ruff",
102
+ "pylint",
103
+ "pre-commit",
104
+ "types-click",
105
+ "types-six",
106
+ "types-decorator",
107
+ "types-pyyaml",
108
+ "asyncpg-stubs",
109
+ "types-docutils",
110
+ "types-redis",
111
+ # docs
112
+ "sphinx>=7.1.2",
113
+ "sphinx-autobuild>=2021.3.14",
114
+ "sphinx-copybutton>=0.5.2",
115
+ "litestar-sphinx-theme @ git+https://github.com/litestar-org/litestar-sphinx-theme.git",
116
+ "sphinx-click>=5.0.1",
117
+ "sphinx-toolbox>=3.5.0",
118
+ "sphinx-design>=0.5.0",
119
+ "sphinxcontrib-mermaid>=0.9.2",
120
+ "auto-pytabs[sphinx]>=0.4.0",
121
+ ]
84
122
  installer = "uv"
85
123
  python = "3.12"
86
124
 
@@ -88,9 +126,10 @@ python = "3.12"
88
126
  # Test environment with test-only dependencies
89
127
  [tool.hatch.envs.test]
90
128
  extra-dependencies = [
91
- "cython",
129
+ # tests
92
130
  "anyio",
93
131
  "coverage[toml]>=6.2",
132
+ "coverage[toml]>=6.2",
94
133
  "pytest",
95
134
  "pytest-cov",
96
135
  "pytest-mock",
@@ -98,6 +137,28 @@ extra-dependencies = [
98
137
  "pytest-sugar",
99
138
  "pytest-click",
100
139
  "pytest-xdist",
140
+ # lint
141
+ "mypy",
142
+ "ruff",
143
+ "pylint",
144
+ "pre-commit",
145
+ "types-click",
146
+ "types-six",
147
+ "types-decorator",
148
+ "types-pyyaml",
149
+ "asyncpg-stubs",
150
+ "types-docutils",
151
+ "types-redis",
152
+ # docs
153
+ "sphinx>=7.1.2",
154
+ "sphinx-autobuild>=2021.3.14",
155
+ "sphinx-copybutton>=0.5.2",
156
+ "litestar-sphinx-theme @ git+https://github.com/litestar-org/litestar-sphinx-theme.git",
157
+ "sphinx-click>=5.0.1",
158
+ "sphinx-toolbox>=3.5.0",
159
+ "sphinx-design>=0.5.0",
160
+ "sphinxcontrib-mermaid>=0.9.2",
161
+ "auto-pytabs[sphinx]>=0.4.0",
101
162
  ]
102
163
  features = [
103
164
  "oracle",
@@ -135,11 +196,9 @@ no-cov = "cov --no-cov"
135
196
  [tool.hatch.envs.docs]
136
197
  extra-dependencies = [
137
198
  # tests
138
- "nodeenv",
139
- # required test dependencies
140
- "cython",
141
199
  "anyio",
142
200
  "coverage[toml]>=6.2",
201
+ "coverage[toml]>=6.2",
143
202
  "pytest",
144
203
  "pytest-cov",
145
204
  "pytest-mock",
@@ -147,7 +206,19 @@ extra-dependencies = [
147
206
  "pytest-sugar",
148
207
  "pytest-click",
149
208
  "pytest-xdist",
150
- # Plugins
209
+ # lint
210
+ "mypy",
211
+ "ruff",
212
+ "pylint",
213
+ "pre-commit",
214
+ "types-click",
215
+ "types-six",
216
+ "types-decorator",
217
+ "types-pyyaml",
218
+ "asyncpg-stubs",
219
+ "types-docutils",
220
+ "types-redis",
221
+ # docs
151
222
  "sphinx>=7.1.2",
152
223
  "sphinx-autobuild>=2021.3.14",
153
224
  "sphinx-copybutton>=0.5.2",
@@ -190,11 +261,9 @@ build-check = ["build", "validate"]
190
261
  [tool.hatch.envs.local]
191
262
  extra-dependencies = [
192
263
  # tests
193
- "nodeenv",
194
- # required test dependencies
195
- "cython",
196
264
  "anyio",
197
265
  "coverage[toml]>=6.2",
266
+ "coverage[toml]>=6.2",
198
267
  "pytest",
199
268
  "pytest-cov",
200
269
  "pytest-mock",
@@ -202,21 +271,7 @@ extra-dependencies = [
202
271
  "pytest-sugar",
203
272
  "pytest-click",
204
273
  "pytest-xdist",
205
- # Plugins
206
- "sphinx>=7.1.2",
207
- "sphinx-autobuild>=2021.3.14",
208
- "sphinx-copybutton>=0.5.2",
209
- "litestar-sphinx-theme @ git+https://github.com/litestar-org/litestar-sphinx-theme.git",
210
- "sphinx-click>=5.0.1",
211
- "sphinx-toolbox>=3.5.0",
212
- "sphinx-design>=0.5.0",
213
- "sphinxcontrib-mermaid>=0.9.2",
214
- "auto-pytabs[sphinx]>=0.4.0",
215
- # cli databasae brwoser
216
- "harlequin",
217
- # linting
218
- "cython",
219
- "anyio",
274
+ # lint
220
275
  "mypy",
221
276
  "ruff",
222
277
  "pylint",
@@ -228,6 +283,16 @@ extra-dependencies = [
228
283
  "asyncpg-stubs",
229
284
  "types-docutils",
230
285
  "types-redis",
286
+ # docs
287
+ "sphinx>=7.1.2",
288
+ "sphinx-autobuild>=2021.3.14",
289
+ "sphinx-copybutton>=0.5.2",
290
+ "litestar-sphinx-theme @ git+https://github.com/litestar-org/litestar-sphinx-theme.git",
291
+ "sphinx-click>=5.0.1",
292
+ "sphinx-toolbox>=3.5.0",
293
+ "sphinx-design>=0.5.0",
294
+ "sphinxcontrib-mermaid>=0.9.2",
295
+ "auto-pytabs[sphinx]>=0.4.0",
231
296
  ]
232
297
  features = [
233
298
  "oracle",
@@ -249,11 +314,19 @@ type = "virtual"
249
314
 
250
315
  # Lint environment
251
316
  [tool.hatch.envs.lint]
252
- detached = true
253
317
  extra-dependencies = [
254
- "pyyaml>=6",
255
- "cython",
318
+ # tests
256
319
  "anyio",
320
+ "coverage[toml]>=6.2",
321
+ "coverage[toml]>=6.2",
322
+ "pytest",
323
+ "pytest-cov",
324
+ "pytest-mock",
325
+ "pytest-vcr",
326
+ "pytest-sugar",
327
+ "pytest-click",
328
+ "pytest-xdist",
329
+ # lint
257
330
  "mypy",
258
331
  "ruff",
259
332
  "pylint",
@@ -265,21 +338,18 @@ extra-dependencies = [
265
338
  "asyncpg-stubs",
266
339
  "types-docutils",
267
340
  "types-redis",
341
+ # docs
342
+ "sphinx>=7.1.2",
343
+ "sphinx-autobuild>=2021.3.14",
344
+ "sphinx-copybutton>=0.5.2",
345
+ "litestar-sphinx-theme @ git+https://github.com/litestar-org/litestar-sphinx-theme.git",
346
+ "sphinx-click>=5.0.1",
347
+ "sphinx-toolbox>=3.5.0",
348
+ "sphinx-design>=0.5.0",
349
+ "sphinxcontrib-mermaid>=0.9.2",
350
+ "auto-pytabs[sphinx]>=0.4.0",
268
351
  ]
269
- features = [
270
- "oracle",
271
- "mysql",
272
- "mssql",
273
- "postgres",
274
- "spanner",
275
- "cockroachdb",
276
- "redis",
277
- "elasticsearch7",
278
- "elasticsearch8",
279
- "bigquery",
280
- ]
281
- python = "3.11"
282
- template = "docs"
352
+ python = "3.12"
283
353
  type = "virtual"
284
354
 
285
355
  [tool.hatch.envs.lint.scripts]
@@ -515,6 +585,10 @@ lint.ignore = [
515
585
  "COM812",
516
586
  "PLR0917",
517
587
  "CPY001", # copywrite check
588
+ "DOC201", # `return` is not documented in docstring
589
+ "DOC501", # Raised exception missing from docstring
590
+ "DOC502", # Raised exception missing from docstring
591
+ "A005", # module shadows builtin
518
592
  ]
519
593
  lint.select = ["ALL"]
520
594
  # Allow unused variables when underscore-prefixed.
@@ -4,22 +4,21 @@ import asyncio
4
4
  import os
5
5
  import re
6
6
  import subprocess # noqa: S404
7
- import sys
8
7
  import timeit
9
8
  from typing import TYPE_CHECKING, Any, Callable, Iterable
10
9
 
11
- import pytest
12
-
13
10
  from pytest_databases.helpers import simple_string_hash, wrap_sync
14
11
 
15
12
  if TYPE_CHECKING:
16
13
  from collections.abc import Awaitable, Generator
17
14
  from pathlib import Path
18
15
 
16
+ TRUE_VALUES = {"True", "true", "1", "yes", "Y", "T"}
17
+
19
18
 
20
19
  async def wait_until_responsive(
21
20
  check: Callable[..., Awaitable],
22
- timeout: float,
21
+ timeout: float, # noqa: ASYNC109
23
22
  pause: float,
24
23
  **kwargs: Any,
25
24
  ) -> None:
@@ -43,8 +42,8 @@ async def wait_until_responsive(
43
42
  raise RuntimeError(msg)
44
43
 
45
44
 
46
- SKIP_DOCKER_COMPOSE: bool = bool(os.environ.get("SKIP_DOCKER_COMPOSE", False))
47
- USE_LEGACY_DOCKER_COMPOSE: bool = bool(os.environ.get("USE_LEGACY_DOCKER_COMPOSE", False))
45
+ SKIP_DOCKER_COMPOSE: bool = os.environ.get("SKIP_DOCKER_COMPOSE", "False") in TRUE_VALUES
46
+ USE_LEGACY_DOCKER_COMPOSE: bool = os.environ.get("USE_LEGACY_DOCKER_COMPOSE", "False") in TRUE_VALUES
48
47
  COMPOSE_PROJECT_NAME: str = f"pytest-databases-{simple_string_hash(__file__)}"
49
48
 
50
49
 
@@ -88,7 +87,7 @@ class DockerServiceRegistry:
88
87
  docker_compose_files: list[Path],
89
88
  *,
90
89
  check: Callable[..., Any],
91
- timeout: float = 30,
90
+ timeout: float = 30, # noqa: ASYNC109
92
91
  pause: float = 0.1,
93
92
  **kwargs: Any,
94
93
  ) -> None:
@@ -22,7 +22,7 @@ class _ContextManagerWrapper:
22
22
  self._cm = cm
23
23
 
24
24
  async def __aenter__(self) -> T:
25
- return self._cm.__enter__()
25
+ return self._cm.__enter__() # type: ignore[return-value]
26
26
 
27
27
  async def __aexit__(
28
28
  self,