spakky-fastapi 1.6.3__tar.gz → 1.7.0__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: spakky-fastapi
3
- Version: 1.6.3
3
+ Version: 1.7.0
4
4
  Summary: Highly abstracted Framework core to use DDD & DI/IoC & AOP & Etc...
5
5
  Author: Spakky
6
6
  Author-email: sejong418@icloud.com
@@ -9,10 +9,10 @@ Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
- Requires-Dist: fastapi (>=0.109.2,<0.110.0)
13
- Requires-Dist: orjson (>=3.9.15,<4.0.0)
14
- Requires-Dist: spakky-core (>=1.6,<2.0)
15
- Requires-Dist: websockets (>=12.0,<13.0)
12
+ Requires-Dist: fastapi (>=0.115.5,<0.116.0)
13
+ Requires-Dist: orjson (>=3.10.11,<4.0.0)
14
+ Requires-Dist: spakky-core (>=1.8,<2.0)
15
+ Requires-Dist: websockets (>=14.1,<15.0)
16
16
  Description-Content-Type: text/markdown
17
17
 
18
18
  <h1 align="center">Spakky FastAPI</h1>
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "spakky-fastapi"
3
- version = "1.6.3"
3
+ version = "1.7.0"
4
4
  description = "Highly abstracted Framework core to use DDD & DI/IoC & AOP & Etc..."
5
5
  authors = ["Spakky <sejong418@icloud.com>"]
6
6
  readme = "README.md"
@@ -11,26 +11,29 @@ build-backend = "poetry.core.masonry.api"
11
11
 
12
12
  [tool.poetry.dependencies]
13
13
  python = ">=3.10"
14
- fastapi = "^0.109.2"
15
- spakky-core = "^1.6"
16
- websockets = "^12.0"
17
- orjson = "^3.9.15"
14
+ fastapi = "^0.115.5"
15
+ spakky-core = "^1.8"
16
+ websockets = "^14.1"
17
+ orjson = "^3.10.11"
18
18
 
19
19
  [tool.poetry.group.dev.dependencies]
20
20
  pylint = "^3.0.2"
21
- black = "^23.11.0"
21
+ black = "^24.4.2"
22
22
  isort = "^5.12.0"
23
23
  pytest = "^7.4.3"
24
24
  pytest-cov = "^4.1.0"
25
25
  pytest-asyncio = "^0.21.1"
26
- httpx = "^0.26.0"
26
+ pytest-xdist = "^3.6.1"
27
27
  toml = "^0.10.2"
28
+ httpx = "^0.27.2"
28
29
 
29
30
  [tool.poetry.group.ci.dependencies]
30
31
  pylint = "^3.0.2"
31
32
  pytest = "^7.4.3"
32
33
  pytest-cov = "^4.1.0"
33
34
  pytest-asyncio = "^0.21.1"
35
+ pytest-xdist = "^3.6.1"
36
+ httpx = "^0.27.2"
34
37
 
35
38
  [tool.black]
36
39
  line-length = 90
@@ -60,6 +63,7 @@ disable = """
60
63
  missing-module-docstring,
61
64
  missing-class-docstring,
62
65
  missing-function-docstring,
66
+ too-many-positional-arguments,
63
67
  too-many-instance-attributes,
64
68
  too-few-public-methods,
65
69
  unnecessary-ellipsis,
@@ -81,7 +85,9 @@ addopts = """
81
85
  --cov-report=xml
82
86
  --no-cov-on-fail
83
87
  --strict-markers
88
+ --dist=loadfile
84
89
  -p no:warnings
90
+ -n auto
85
91
  -vv
86
92
  """
87
93
 
@@ -4,7 +4,7 @@ from dataclasses import asdict
4
4
 
5
5
  from fastapi import APIRouter, FastAPI
6
6
  from fastapi.exceptions import FastAPIError
7
- from fastapi.utils import create_response_field # type: ignore
7
+ from fastapi.utils import create_model_field # type: ignore
8
8
  from spakky.application.interfaces.container import IPodContainer
9
9
  from spakky.application.interfaces.post_processor import IPodPostProcessor
10
10
  from spakky.pod.order import Order
@@ -49,7 +49,7 @@ class FastAPIPostProcessor(IPodPostProcessor):
49
49
  return_annotation: type | None = signature(method).return_annotation
50
50
  if return_annotation is not None:
51
51
  try:
52
- create_response_field("", return_annotation)
52
+ create_model_field("", return_annotation)
53
53
  except FastAPIError:
54
54
  pass
55
55
  else:
@@ -503,6 +503,6 @@ def websocket(
503
503
  )
504
504
 
505
505
 
506
- @dataclass
506
+ @dataclass(eq=False)
507
507
  class ApiController(Controller):
508
508
  tags: list[str | Enum] | None = None
File without changes