sqlakit 0.11.0__tar.gz → 0.11.1__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 (30) hide show
  1. {sqlakit-0.11.0 → sqlakit-0.11.1}/PKG-INFO +2 -1
  2. {sqlakit-0.11.0 → sqlakit-0.11.1}/pyproject.toml +8 -5
  3. {sqlakit-0.11.0 → sqlakit-0.11.1}/pyproject.toml.orig +5 -4
  4. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_base.py +4 -1
  5. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/types.py +11 -5
  6. {sqlakit-0.11.0 → sqlakit-0.11.1}/LICENSE +0 -0
  7. {sqlakit-0.11.0 → sqlakit-0.11.1}/README.md +0 -0
  8. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/__init__.py +0 -0
  9. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_cli.py +0 -0
  10. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_db.py +0 -0
  11. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_debugserver.py +0 -0
  12. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_discovery.py +0 -0
  13. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_model.py +0 -0
  14. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_query.py +0 -0
  15. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_recording.py +0 -0
  16. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_registry.py +0 -0
  17. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_routing.py +0 -0
  18. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/_sql.py +0 -0
  19. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/asyncio/__init__.py +0 -0
  20. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/asyncio/_db.py +0 -0
  21. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/asyncio/_registry.py +0 -0
  22. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/asyncio/orm.py +0 -0
  23. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/asyncio/sql.py +0 -0
  24. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/debugserver.html +0 -0
  25. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/exceptions.py +0 -0
  26. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/orm.py +0 -0
  27. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/py.typed +0 -0
  28. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/pytest_plugin.py +0 -0
  29. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/sql.py +0 -0
  30. {sqlakit-0.11.0 → sqlakit-0.11.1}/sqlakit/testing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlakit
3
- Version: 0.11.0
3
+ Version: 0.11.1
4
4
  Summary: A toolkit for SQLAlchemy applications.
5
5
  Keywords: sqlalchemy,database,orm,sql,asyncio
6
6
  Author: Anton Ruhlov
@@ -19,6 +19,7 @@ Classifier: Topic :: Database
19
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
20
  Classifier: Typing :: Typed
21
21
  Requires-Dist: sqlalchemy>=2.0.22
22
+ Requires-Dist: typing-extensions>=4.13
22
23
  Requires-Dist: sqlalchemy[asyncio]>=2.0.22 ; extra == 'asyncio'
23
24
  Requires-Dist: sqlparse>=0.6.0 ; extra == 'debug'
24
25
  Requires-Dist: jinja2sql>=0.11.0 ; extra == 'sql'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sqlakit"
3
- version = "0.11.0"
3
+ version = "0.11.1"
4
4
  description = "A toolkit for SQLAlchemy applications."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -26,7 +26,10 @@ classifiers = [
26
26
  "Typing :: Typed",
27
27
  ]
28
28
  requires-python = ">=3.11"
29
- dependencies = ["sqlalchemy>=2.0.22"]
29
+ dependencies = [
30
+ "sqlalchemy>=2.0.22",
31
+ "typing-extensions>=4.13",
32
+ ]
30
33
 
31
34
  [[project.authors]]
32
35
  name = "Anton Ruhlov"
@@ -180,8 +183,8 @@ skip = "./.venv,./site,./uv.lock,./.git,./debugserver/node_modules,./debugserver
180
183
  [dependency-groups]
181
184
  dev = [
182
185
  "pytest>=9.1.1",
183
- "ty>=0.0.75",
184
- "ruff>=0.16.5",
186
+ "ty>=0.0.79",
187
+ "ruff>=0.16.6",
185
188
  "poethepoet>=0.48.0",
186
189
  "anyio>=4.14.2",
187
190
  "trio>=0.34.0",
@@ -208,5 +211,5 @@ docs = [
208
211
  "mkdocs>=1.6.1,<2",
209
212
  "mkdocs-material>=9.7.7",
210
213
  "mkdocstrings[python]>=1.0.6",
211
- "ruff>=0.16.3",
214
+ "ruff>=0.16.6",
212
215
  ]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sqlakit"
3
- version = "0.11.0"
3
+ version = "0.11.1"
4
4
  description = "A toolkit for SQLAlchemy applications."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -23,6 +23,7 @@ classifiers = [
23
23
  requires-python = ">=3.11"
24
24
  dependencies = [
25
25
  "sqlalchemy>=2.0.22",
26
+ "typing-extensions>=4.13",
26
27
  ]
27
28
 
28
29
  [project.scripts]
@@ -60,8 +61,8 @@ default-groups = ["dev", "docs"]
60
61
  [dependency-groups]
61
62
  dev = [
62
63
  "pytest>=9.1.1",
63
- "ty>=0.0.75",
64
- "ruff>=0.16.5",
64
+ "ty>=0.0.79",
65
+ "ruff>=0.16.6",
65
66
  "poethepoet>=0.48.0",
66
67
  "anyio>=4.14.2",
67
68
  "trio>=0.34.0",
@@ -88,7 +89,7 @@ docs = [
88
89
  "mkdocs>=1.6.1,<2",
89
90
  "mkdocs-material>=9.7.7",
90
91
  "mkdocstrings[python]>=1.0.6",
91
- "ruff>=0.16.3",
92
+ "ruff>=0.16.6",
92
93
  ]
93
94
 
94
95
  [tool.pytest.ini_options]
@@ -479,9 +479,12 @@ class BaseDatabase(Generic[ConnectionT, SessionT]):
479
479
  """
480
480
  return (self._name,)
481
481
 
482
- def __getitem__(self, alias: str) -> Self:
482
+ def __getitem__(self, alias: str) -> Any: # noqa: ANN401
483
483
  """Return this database, under the name it carries.
484
484
 
485
+ `Any` rather than `Self`, so a registry can narrow it to the databases
486
+ it holds.
487
+
485
488
  Raises:
486
489
  UnknownDatabaseError: if the alias is another database's.
487
490
 
@@ -1,6 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import TYPE_CHECKING, Any, Literal, TypeAlias, TypedDict
3
+ from typing import TYPE_CHECKING, Any, Literal, TypeAlias
4
+
5
+ from typing_extensions import TypedDict
4
6
 
5
7
  if TYPE_CHECKING:
6
8
  from collections.abc import Callable, Mapping, Sequence
@@ -27,8 +29,11 @@ TemplatesLike: TypeAlias = "str | Path | Sequence[str | Path] | Templates"
27
29
  """Where a database's SQL templates are: a path, several, or the object."""
28
30
 
29
31
 
30
- class EngineArgs(TypedDict, total=False):
31
- """Keyword arguments accepted by [`sqlalchemy.create_engine`](https://docs.sqlalchemy.org/en/20/core/engines.html#sqlalchemy.create_engine)."""
32
+ class EngineArgs(TypedDict, total=False, extra_items=Any):
33
+ """Keyword arguments accepted by [`sqlalchemy.create_engine`](https://docs.sqlalchemy.org/en/20/core/engines.html#sqlalchemy.create_engine).
34
+
35
+ The portable ones are listed. A dialect keyword is allowed too.
36
+ """
32
37
 
33
38
  connect_args: dict[str, Any]
34
39
  echo: bool | Literal["debug"]
@@ -61,10 +66,11 @@ class EngineArgs(TypedDict, total=False):
61
66
  use_insertmanyvalues: bool
62
67
 
63
68
 
64
- class SessionArgs(TypedDict, total=False):
69
+ class SessionArgs(TypedDict, total=False, extra_items=Any):
65
70
  """Keyword arguments accepted by `sqlalchemy.orm.sessionmaker`.
66
71
 
67
- No ``bind``: sessions bind to the connection of the surrounding block.
72
+ No ``bind``: sessions bind to the connection of the surrounding block. A
73
+ keyword this list does not have is allowed too.
68
74
  """
69
75
 
70
76
  autobegin: bool
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes