fastapi-toolsets 5.1.4__tar.gz → 5.1.5__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.
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/PKG-INFO +1 -1
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/pyproject.toml +5 -2
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/pyproject.toml.orig +2 -1
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/__init__.py +1 -1
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/crud/search.py +2 -2
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/db/locks.py +1 -1
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/fixtures/utils.py +4 -1
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/LICENSE +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/README.md +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/_imports.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/app.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/commands/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/commands/fixtures.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/config.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/pyproject.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/utils.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/crud/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/crud/factory.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/db/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/db/core.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/db/m2m.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/db/testing.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/db/watch.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/dependencies.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/exceptions/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/exceptions/exceptions.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/exceptions/handler.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/fixtures/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/fixtures/enum.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/fixtures/registry.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/logger.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/metrics/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/metrics/handler.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/metrics/registry.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/models/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/models/columns.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/models/watched.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/py.typed +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/pytest/__init__.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/pytest/plugin.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/pytest/utils.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/schemas.py +0 -0
- {fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fastapi-toolsets"
|
|
3
|
-
version = "5.1.
|
|
3
|
+
version = "5.1.5"
|
|
4
4
|
description = "Production-ready utilities for FastAPI applications"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
@@ -115,7 +115,10 @@ extend-immutable-calls = [
|
|
|
115
115
|
|
|
116
116
|
[tool.pytest.ini_options]
|
|
117
117
|
testpaths = ["tests"]
|
|
118
|
-
filterwarnings = [
|
|
118
|
+
filterwarnings = [
|
|
119
|
+
"ignore::DeprecationWarning",
|
|
120
|
+
"error::sqlalchemy.exc.SADeprecationWarning",
|
|
121
|
+
]
|
|
119
122
|
|
|
120
123
|
[tool.coverage.run]
|
|
121
124
|
source = ["src/fastapi_toolsets"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fastapi-toolsets"
|
|
3
|
-
version = "5.1.
|
|
3
|
+
version = "5.1.5"
|
|
4
4
|
description = "Production-ready utilities for FastAPI applications"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
@@ -110,6 +110,7 @@ extend-immutable-calls = ["fastapi.Depends", "fastapi.Security"]
|
|
|
110
110
|
testpaths = ["tests"]
|
|
111
111
|
filterwarnings = [
|
|
112
112
|
"ignore::DeprecationWarning",
|
|
113
|
+
"error::sqlalchemy.exc.SADeprecationWarning",
|
|
113
114
|
]
|
|
114
115
|
|
|
115
116
|
[tool.coverage.run]
|
|
@@ -5,7 +5,7 @@ from collections.abc import Sequence
|
|
|
5
5
|
from dataclasses import dataclass, replace
|
|
6
6
|
from typing import TYPE_CHECKING, Any, Literal
|
|
7
7
|
|
|
8
|
-
from sqlalchemy import String, and_, distinct, func, or_, select
|
|
8
|
+
from sqlalchemy import String, and_, any_, distinct, func, or_, select
|
|
9
9
|
from sqlalchemy.dialects.postgresql import aggregate_order_by
|
|
10
10
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
11
11
|
from sqlalchemy.orm import DeclarativeBase
|
|
@@ -383,7 +383,7 @@ def build_filter_by(
|
|
|
383
383
|
if isinstance(value, list):
|
|
384
384
|
filters[key] = column.overlap(value)
|
|
385
385
|
else:
|
|
386
|
-
filters[key] = column
|
|
386
|
+
filters[key] = any_(column) == value
|
|
387
387
|
elif isinstance(col_type, Enum):
|
|
388
388
|
enum_class = col_type.enum_class
|
|
389
389
|
if enum_class is not None:
|
|
@@ -215,7 +215,7 @@ async def advisory_lock(
|
|
|
215
215
|
f"Advisory lock {key!r} could not be acquired within {timeout}."
|
|
216
216
|
) from e
|
|
217
217
|
raise # pragma: no cover
|
|
218
|
-
acquired = result.
|
|
218
|
+
acquired = result.scalar_one() if nowait else True
|
|
219
219
|
try:
|
|
220
220
|
yield acquired
|
|
221
221
|
finally:
|
|
@@ -247,7 +247,10 @@ async def _reload_with_relationships(
|
|
|
247
247
|
pk_attr = getattr(model, pk_key)
|
|
248
248
|
pks = [getattr(inst, pk_key) for inst in instances]
|
|
249
249
|
result = await session.execute(
|
|
250
|
-
select(model)
|
|
250
|
+
select(model)
|
|
251
|
+
.where(pk_attr.in_(pks))
|
|
252
|
+
.options(*load_options)
|
|
253
|
+
.execution_options(populate_existing=True)
|
|
251
254
|
)
|
|
252
255
|
by_pk = {getattr(row, pk_key): row for row in result.unique().scalars()}
|
|
253
256
|
return [by_pk[pk] for pk in pks]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/commands/__init__.py
RENAMED
|
File without changes
|
{fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/cli/commands/fixtures.py
RENAMED
|
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
|
{fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/exceptions/__init__.py
RENAMED
|
File without changes
|
{fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/exceptions/exceptions.py
RENAMED
|
File without changes
|
{fastapi_toolsets-5.1.4 → fastapi_toolsets-5.1.5}/src/fastapi_toolsets/exceptions/handler.py
RENAMED
|
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
|