fastapi-sqlalchemy-toolkit 0.7.7__tar.gz → 0.7.8__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 (59) hide show
  1. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/PKG-INFO +1 -1
  2. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/fastapi_sqlalchemy_toolkit/model_manager.py +5 -6
  3. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/pyproject.toml +1 -1
  4. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/.flake8 +0 -0
  5. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/.github/workflows/docker-test.yml +0 -0
  6. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/.github/workflows/python-publish.yml +0 -0
  7. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/.gitignore +0 -0
  8. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/.pylintrc +0 -0
  9. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/AUTHORS +0 -0
  10. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/LICENSE +0 -0
  11. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/Makefile +0 -0
  12. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/README.md +0 -0
  13. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/benefits.md +0 -0
  14. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/db_validation.md +0 -0
  15. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/extension.md +0 -0
  16. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/filtering.md +0 -0
  17. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/index.md +0 -0
  18. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/benefits.md +0 -0
  19. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/db_validation.md +0 -0
  20. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/extension.md +0 -0
  21. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/filtering.md +0 -0
  22. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/index.md +0 -0
  23. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/sorting.md +0 -0
  24. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/transactions.md +0 -0
  25. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/usage.md +0 -0
  26. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/ru/utils.md +0 -0
  27. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/sorting.md +0 -0
  28. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/transactions.md +0 -0
  29. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/usage.md +0 -0
  30. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/docs/utils.md +0 -0
  31. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/.env +0 -0
  32. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/__init__.py +0 -0
  33. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/api/__init__.py +0 -0
  34. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/api/api.py +0 -0
  35. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/api/deps.py +0 -0
  36. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/api/endpoints/__init__.py +0 -0
  37. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/api/endpoints/child.py +0 -0
  38. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/config.py +0 -0
  39. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/db.py +0 -0
  40. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/main.py +0 -0
  41. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/managers.py +0 -0
  42. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/models.py +0 -0
  43. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/examples/app/schemas.py +0 -0
  44. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/fastapi_sqlalchemy_toolkit/__init__.py +0 -0
  45. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/fastapi_sqlalchemy_toolkit/filters.py +0 -0
  46. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/fastapi_sqlalchemy_toolkit/ordering.py +0 -0
  47. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/fastapi_sqlalchemy_toolkit/utils.py +0 -0
  48. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/mkdocs.yml +0 -0
  49. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/requirements/base.txt +0 -0
  50. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/requirements/docs.txt +0 -0
  51. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/requirements/lint.txt +0 -0
  52. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/requirements/test.txt +0 -0
  53. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/tests/Dockerfile +0 -0
  54. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/tests/__init__.py +0 -0
  55. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/tests/conftest.py +0 -0
  56. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/tests/db.py +0 -0
  57. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/tests/docker-compose.yml +0 -0
  58. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/tests/models.py +0 -0
  59. {fastapi_sqlalchemy_toolkit-0.7.7 → fastapi_sqlalchemy_toolkit-0.7.8}/tests/test_public_methods.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fastapi_sqlalchemy_toolkit
3
- Version: 0.7.7
3
+ Version: 0.7.8
4
4
  Summary: FastAPI SQLAlchemy Toolkit
5
5
  Project-URL: Homepage, https://github.com/e-kondr01/fastapi-sqlalchemy-toolkit
6
6
  Author-email: Egor Kondrashov <e.kondr01@gmail.com>
@@ -1,6 +1,6 @@
1
1
  # ruff: noqa: UP006
2
2
  from collections.abc import Callable, Iterable
3
- from typing import Any, List # noqa: UP035
3
+ from typing import Any, Generic, List, TypeVar # noqa: UP035
4
4
 
5
5
  from fastapi import HTTPException, status
6
6
  from fastapi_pagination.bases import BasePage
@@ -30,6 +30,9 @@ from sqlalchemy.sql.selectable import Exists
30
30
 
31
31
  from .filters import null_query_values
32
32
 
33
+ ModelT = TypeVar("ModelT", bound=DeclarativeBase)
34
+ CreateSchemaT = TypeVar("CreateSchemaT", bound=BaseModel)
35
+ UpdateSchemaT = TypeVar("UpdateSchemaT", bound=BaseModel)
33
36
  ModelDict = dict[str, Any]
34
37
 
35
38
 
@@ -39,11 +42,7 @@ def sqlalchemy_model_to_dict(model: DeclarativeBase) -> dict:
39
42
  return db_obj_dict
40
43
 
41
44
 
42
- class ModelManager[
43
- ModelT: DeclarativeBase,
44
- CreateSchemaT: BaseModel,
45
- UpdateSchemaT: BaseModel,
46
- ]:
45
+ class ModelManager(Generic[ModelT, CreateSchemaT, UpdateSchemaT]):
47
46
  def __init__(
48
47
  self,
49
48
  model: type[ModelT],
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "fastapi_sqlalchemy_toolkit"
7
- version = "0.7.7"
7
+ version = "0.7.8"
8
8
  authors = [
9
9
  { name="Egor Kondrashov", email="e.kondr01@gmail.com" },
10
10
  ]