sanic-api 0.3.0a1__tar.gz → 0.3.0a3__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. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/.gitignore +2 -0
  2. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/PKG-INFO +2 -2
  3. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/pyproject.toml +2 -2
  4. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/requirements-dev.lock +10 -10
  5. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/requirements.lock +8 -8
  6. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/__init__.py +1 -1
  7. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/api/request.py +23 -23
  8. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/.pre-commit-config.yaml +0 -0
  9. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/CHANGELOG.md +0 -0
  10. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/COMMIT_GUIDE.MD +0 -0
  11. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/LICENSE.txt +0 -0
  12. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/README.md +0 -0
  13. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/example/__init__.py +0 -0
  14. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/example/app.py +0 -0
  15. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/example/log.txt +0 -0
  16. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/example/mini_app.py +0 -0
  17. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/images/logo.png +0 -0
  18. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/api/__init__.py +0 -0
  19. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/api/model.py +0 -0
  20. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/api/response.py +0 -0
  21. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/app.py +0 -0
  22. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/config/__init__.py +0 -0
  23. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/config/setting.py +0 -0
  24. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/logger/__init__.py +0 -0
  25. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/logger/config.py +0 -0
  26. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/logger/extension.py +0 -0
  27. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/openapi/__init__.py +0 -0
  28. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/openapi/extension.py +0 -0
  29. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/utils/__init__.py +0 -0
  30. {sanic_api-0.3.0a1 → sanic_api-0.3.0a3}/src/sanic_api/utils/enum.py +0 -0
@@ -10,6 +10,8 @@ __pycache__/
10
10
  # pycharm
11
11
  .idea/
12
12
 
13
+ .DS_Store
14
+
13
15
  # rye
14
16
  .python-version
15
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: sanic-api
3
- Version: 0.3.0a1
3
+ Version: 0.3.0a3
4
4
  Summary: Sanic 框架实用API工具集,拥有自动生成文档、参数校验、配置的导入、日志功能的优化等功能,更好的助力接口的开发
5
5
  Project-URL: homepage, https://github.com/x-haose/sanic-api
6
6
  Project-URL: repository, https://github.com/x-haose/sanic-api
@@ -28,7 +28,7 @@ Requires-Dist: loki-logger-handler>=0.1.4
28
28
  Requires-Dist: orjson>=3.8.6
29
29
  Requires-Dist: pydantic-settings[toml,yaml]>=2.5.2
30
30
  Requires-Dist: pydantic[dotenv]>=2.9.2
31
- Requires-Dist: requests>=2.32.3
31
+ Requires-Dist: requests<2.32.dev0,>=2.31.0
32
32
  Requires-Dist: sanic-ext>=23.12.0
33
33
  Requires-Dist: sanic>=23.12.0
34
34
  Requires-Dist: sentry-sdk>=2.17.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sanic-api"
3
- version = "0.3.0a1"
3
+ version = "0.3.0a3"
4
4
  keywords = ["Sanic", "异步", "Sanic扩展"]
5
5
  description = "Sanic 框架实用API工具集,拥有自动生成文档、参数校验、配置的导入、日志功能的优化等功能,更好的助力接口的开发"
6
6
  authors = [
@@ -44,7 +44,7 @@ dependencies = [
44
44
  "sentry-sdk>=2.17.0",
45
45
  # loki日志推送
46
46
  "loki-logger-handler>=0.1.4",
47
- "requests>=2.32.3",
47
+ "requests>=2.31.0,<2.32.dev0",
48
48
  ]
49
49
 
50
50
  [project.urls]
@@ -30,9 +30,9 @@ hs-config==0.1.3a5
30
30
  html5tagger==1.3.0
31
31
  # via sanic
32
32
  # via tracerite
33
- httptools==0.6.1
33
+ httptools==0.6.4
34
34
  # via sanic
35
- identify==2.6.1
35
+ identify==2.6.2
36
36
  # via pre-commit
37
37
  idna==3.10
38
38
  # via requests
@@ -44,7 +44,7 @@ multidict==6.1.0
44
44
  # via sanic
45
45
  nodeenv==1.9.1
46
46
  # via pre-commit
47
- orjson==3.10.7
47
+ orjson==3.10.11
48
48
  # via sanic-api
49
49
  platformdirs==4.3.6
50
50
  # via virtualenv
@@ -55,7 +55,7 @@ pydantic==2.9.2
55
55
  # via sanic-api
56
56
  pydantic-core==2.23.4
57
57
  # via pydantic
58
- pydantic-settings==2.5.2
58
+ pydantic-settings==2.6.1
59
59
  # via hs-config
60
60
  # via sanic-api
61
61
  python-dotenv==1.0.1
@@ -64,7 +64,7 @@ pyyaml==6.0.2
64
64
  # via pre-commit
65
65
  # via pydantic-settings
66
66
  # via sanic-ext
67
- requests==2.32.3
67
+ requests==2.31.0
68
68
  # via sanic-api
69
69
  sanic==24.6.0
70
70
  # via sanic-api
@@ -72,11 +72,11 @@ sanic-ext==23.12.0
72
72
  # via sanic-api
73
73
  sanic-routing==23.12.0
74
74
  # via sanic
75
- sentry-sdk==2.17.0
75
+ sentry-sdk==2.18.0
76
76
  # via sanic-api
77
- setuptools==75.1.0
77
+ setuptools==75.5.0
78
78
  # via sanic
79
- tomli==2.0.2
79
+ tomli==2.1.0
80
80
  # via pydantic-settings
81
81
  tracerite==1.1.1
82
82
  # via sanic
@@ -92,7 +92,7 @@ urllib3==2.2.3
92
92
  # via sentry-sdk
93
93
  uvloop==0.21.0
94
94
  # via sanic
95
- virtualenv==20.26.6
95
+ virtualenv==20.27.1
96
96
  # via pre-commit
97
- websockets==13.1
97
+ websockets==14.1
98
98
  # via sanic
@@ -24,7 +24,7 @@ hs-config==0.1.3a5
24
24
  html5tagger==1.3.0
25
25
  # via sanic
26
26
  # via tracerite
27
- httptools==0.6.1
27
+ httptools==0.6.4
28
28
  # via sanic
29
29
  idna==3.10
30
30
  # via requests
@@ -34,7 +34,7 @@ loki-logger-handler==0.1.4
34
34
  # via sanic-api
35
35
  multidict==6.1.0
36
36
  # via sanic
37
- orjson==3.10.7
37
+ orjson==3.10.11
38
38
  # via sanic-api
39
39
  pydantic==2.9.2
40
40
  # via hs-config
@@ -42,7 +42,7 @@ pydantic==2.9.2
42
42
  # via sanic-api
43
43
  pydantic-core==2.23.4
44
44
  # via pydantic
45
- pydantic-settings==2.5.2
45
+ pydantic-settings==2.6.1
46
46
  # via hs-config
47
47
  # via sanic-api
48
48
  python-dotenv==1.0.1
@@ -50,7 +50,7 @@ python-dotenv==1.0.1
50
50
  pyyaml==6.0.2
51
51
  # via pydantic-settings
52
52
  # via sanic-ext
53
- requests==2.32.3
53
+ requests==2.31.0
54
54
  # via sanic-api
55
55
  sanic==24.6.0
56
56
  # via sanic-api
@@ -58,11 +58,11 @@ sanic-ext==23.12.0
58
58
  # via sanic-api
59
59
  sanic-routing==23.12.0
60
60
  # via sanic
61
- sentry-sdk==2.17.0
61
+ sentry-sdk==2.18.0
62
62
  # via sanic-api
63
- setuptools==75.1.0
63
+ setuptools==75.5.0
64
64
  # via sanic
65
- tomli==2.0.2
65
+ tomli==2.1.0
66
66
  # via pydantic-settings
67
67
  tracerite==1.1.1
68
68
  # via sanic
@@ -78,5 +78,5 @@ urllib3==2.2.3
78
78
  # via sentry-sdk
79
79
  uvloop==0.21.0
80
80
  # via sanic
81
- websockets==13.1
81
+ websockets==14.1
82
82
  # via sanic
@@ -1,3 +1,3 @@
1
1
  from sanic_api.logger.extension import LoggerExtend
2
2
 
3
- __version__ = "0.3.0a1"
3
+ __version__ = "0.3.0a3"
@@ -12,15 +12,15 @@ class Request(SanicRequest):
12
12
  加入便于接口参数获取校验的方法
13
13
  """
14
14
 
15
- request_type: type["Request"] | None
16
- json_data_type: type[BaseModel] | None
17
- form_data_type: type[BaseModel] | None
18
- query_data_type: type[BaseModel] | None
19
-
20
15
  json_data: BaseModel
21
16
  form_data: BaseModel
22
17
  query_data: BaseModel
23
18
 
19
+ _request_type: type["Request"] | None
20
+ _json_data_type: type[BaseModel] | None
21
+ _form_data_type: type[BaseModel] | None
22
+ _query_data_type: type[BaseModel] | None
23
+
24
24
  def __init__(self, *args, **kwargs):
25
25
  super().__init__(*args, **kwargs)
26
26
 
@@ -64,22 +64,22 @@ class Request(SanicRequest):
64
64
  """
65
65
 
66
66
  # 从函数参数注解上面获取类型
67
- self.json_data_type = self._get_type("json_data", BaseModel)
68
- self.form_data_type = self._get_type("form_data", BaseModel)
69
- self.query_data_type = self._get_type("query_data", BaseModel)
70
- self.request_type = self._get_type("request", Request)
67
+ self._json_data_type = self._get_type("json_data", BaseModel)
68
+ self._form_data_type = self._get_type("form_data", BaseModel)
69
+ self._query_data_type = self._get_type("query_data", BaseModel)
70
+ self._request_type = self._get_type("request", Request)
71
71
 
72
72
  # 没有json_data参数 但是有自定义的request类就从request类上面获取json_data类型
73
- if self.request_type and not self.json_data_type:
74
- self.json_data_type = self.request_type.__annotations__.get("json_data")
73
+ if self._request_type and not self._json_data_type:
74
+ self._json_data_type = self._request_type.__annotations__.get("json_data")
75
75
 
76
76
  # 没有form_data参数 但是有自定义的request类就从request类上面获取form_data类型
77
- if self.request_type and not self.form_data_type:
78
- self.form_data_type = self.request_type.__annotations__.get("form_data")
77
+ if self._request_type and not self._form_data_type:
78
+ self._form_data_type = self._request_type.__annotations__.get("form_data")
79
79
 
80
80
  # 没有query_data参数 但是有自定义的request类就从request类上面获取query_data类型
81
- if self.request_type and not self.query_data_type:
82
- self.query_data_type = self.request_type.__annotations__.get("query_data")
81
+ if self._request_type and not self._query_data_type:
82
+ self._query_data_type = self._request_type.__annotations__.get("query_data")
83
83
 
84
84
  # noinspection PyBroadException
85
85
  def _load_data(self):
@@ -113,8 +113,8 @@ class Request(SanicRequest):
113
113
  json_data = self.json
114
114
  except Exception:
115
115
  json_data = None
116
- if json_data and self.json_data_type:
117
- self.json_data = self.json_data_type(**json_data)
116
+ if json_data and self._json_data_type:
117
+ self.json_data = self._json_data_type(**json_data)
118
118
  _set_arg("json_data", self.json_data)
119
119
 
120
120
  # 由于form和query的参数的key是可以重复的,所以默认类型是类似dict[str, list]的
@@ -123,16 +123,16 @@ class Request(SanicRequest):
123
123
  form_data = self.form
124
124
  except Exception:
125
125
  form_data = None
126
- if form_data and self.form_data_type:
127
- form_data = _proc_param_data(form_data, self.form_data_type)
128
- self.form_data = self.form_data_type(**form_data)
126
+ if form_data and self._form_data_type:
127
+ form_data = _proc_param_data(form_data, self._form_data_type)
128
+ self.form_data = self._form_data_type(**form_data)
129
129
  _set_arg("form_data", self.form_data)
130
130
 
131
131
  try:
132
132
  query_data = self.args
133
133
  except Exception:
134
134
  query_data = None
135
- if query_data and self.query_data_type:
136
- query_data = _proc_param_data(query_data, self.query_data_type)
137
- self.query_data = self.query_data_type(**query_data)
135
+ if query_data and self._query_data_type:
136
+ query_data = _proc_param_data(query_data, self._query_data_type)
137
+ self.query_data = self._query_data_type(**query_data)
138
138
  _set_arg("query_data", self.query_data)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes