apexdevkit 1.25.4__tar.gz → 1.26.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 (54) hide show
  1. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/PKG-INFO +1 -1
  2. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/schema.py +23 -20
  3. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/pyproject.toml +2 -2
  4. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/LICENSE +0 -0
  5. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/README.md +0 -0
  6. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/__init__.py +0 -0
  7. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/annotation/__init__.py +0 -0
  8. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/annotation/deprecate.py +0 -0
  9. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/date.py +0 -0
  10. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/environment.py +0 -0
  11. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/error.py +0 -0
  12. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/__init__.py +0 -0
  13. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/builder.py +0 -0
  14. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/dependable.py +0 -0
  15. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/docs.py +0 -0
  16. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/name.py +0 -0
  17. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/resource.py +0 -0
  18. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/response.py +0 -0
  19. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/router.py +0 -0
  20. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fastapi/service.py +0 -0
  21. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/fluent.py +0 -0
  22. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/formatter.py +0 -0
  23. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/http/__init__.py +0 -0
  24. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/http/fake.py +0 -0
  25. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/http/fluent.py +0 -0
  26. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/http/httpx/__init__.py +0 -0
  27. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/http/httpx/client.py +0 -0
  28. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/http/httpx/hooks.py +0 -0
  29. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/http/json.py +0 -0
  30. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/http/url.py +0 -0
  31. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/id.py +0 -0
  32. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/key_fn.py +0 -0
  33. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/py.typed +0 -0
  34. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/query/__init__.py +0 -0
  35. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/query/generator.py +0 -0
  36. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/query/query.py +0 -0
  37. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/__init__.py +0 -0
  38. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/base.py +0 -0
  39. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/connector.py +0 -0
  40. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/database.py +0 -0
  41. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/decorator.py +0 -0
  42. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/in_memory.py +0 -0
  43. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/interface.py +0 -0
  44. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/mssql.py +0 -0
  45. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/repository.py +0 -0
  46. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/sql.py +0 -0
  47. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/repository/sqlite.py +0 -0
  48. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/server.py +0 -0
  49. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/synchronization.py +0 -0
  50. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/testing/__init__.py +0 -0
  51. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/testing/database.py +0 -0
  52. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/testing/fake.py +0 -0
  53. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/testing/rest.py +0 -0
  54. {apexdevkit-1.25.4 → apexdevkit-1.26.1}/apexdevkit/value.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apexdevkit
3
- Version: 1.25.4
3
+ Version: 1.26.1
4
4
  Summary: Apex Development Tools for python.
5
5
  License-File: LICENSE
6
6
  Author: Apex Dev
@@ -1,5 +1,5 @@
1
1
  from abc import ABC, abstractmethod
2
- from collections.abc import Callable, Iterable
2
+ from collections.abc import Callable, Iterable, Iterator
3
3
  from dataclasses import dataclass
4
4
  from functools import cached_property
5
5
  from typing import Any
@@ -66,15 +66,18 @@ class RestfulSchema:
66
66
  self._schema_for("ReplaceMany", {self.name.plural: list[replace_schema]})
67
67
 
68
68
  def _schema_for(self, action: str, fields: dict[str, Any]) -> type[BaseModel]:
69
- if action not in self.schemas:
70
- self.schemas[action] = self.generator.schema_for(action, fields)
69
+ if action not in self._models:
70
+ self._models[action] = self.generator.schema_for(action, fields)
71
71
 
72
- return self.schemas[action]
72
+ return self._models[action]
73
73
 
74
74
  @cached_property
75
- def schemas(self) -> dict[str, type[BaseModel]]:
75
+ def _models(self) -> dict[str, type[BaseModel]]:
76
76
  return {}
77
77
 
78
+ def __iter__(self) -> Iterator[type[BaseModel]]:
79
+ return iter(self._models.values())
80
+
78
81
  def for_no_data(self) -> type[BaseModel]:
79
82
  class NoData(BaseModel):
80
83
  pass
@@ -90,7 +93,7 @@ class RestfulSchema:
90
93
  FluentDict[type]()
91
94
  .with_a(status=str)
92
95
  .and_a(code=int)
93
- .and_a(data=self.schemas["Item"]),
96
+ .and_a(data=self._models["Item"]),
94
97
  )
95
98
 
96
99
  def for_collection(self) -> type[BaseModel]:
@@ -99,11 +102,11 @@ class RestfulSchema:
99
102
  FluentDict[type]()
100
103
  .with_a(status=str)
101
104
  .and_a(code=int)
102
- .and_a(data=self.schemas["Collection"]),
105
+ .and_a(data=self._models["Collection"]),
103
106
  )
104
107
 
105
108
  def for_create_one(self) -> Callable[[BaseModel], dict[str, Any]]:
106
- schema = self.schemas["Create"]
109
+ schema = self._models["Create"]
107
110
 
108
111
  def _(request: schema) -> dict[str, Any]:
109
112
  return request.model_dump()
@@ -111,7 +114,7 @@ class RestfulSchema:
111
114
  return _
112
115
 
113
116
  def for_create_many(self) -> Callable[[BaseModel], Iterable[dict[str, Any]]]:
114
- schema = self.schemas["CreateMany"]
117
+ schema = self._models["CreateMany"]
115
118
 
116
119
  def _(request: schema) -> Iterable[dict[str, Any]]:
117
120
  return [dict(item) for item in request.model_dump()[self.name.plural]]
@@ -119,7 +122,7 @@ class RestfulSchema:
119
122
  return _
120
123
 
121
124
  def for_update_one(self) -> Callable[[BaseModel], dict[str, Any]]:
122
- schema = self.schemas["Update"]
125
+ schema = self._models["Update"]
123
126
 
124
127
  def _(request: schema):
125
128
  return request.model_dump()
@@ -127,7 +130,7 @@ class RestfulSchema:
127
130
  return _
128
131
 
129
132
  def for_update_many(self) -> Callable[[BaseModel], Iterable[dict[str, Any]]]:
130
- schema = self.schemas["UpdateMany"]
133
+ schema = self._models["UpdateMany"]
131
134
 
132
135
  def _(request: schema) -> Iterable[dict[str, Any]]:
133
136
  return [dict(item) for item in request.model_dump()[self.name.plural]]
@@ -135,7 +138,7 @@ class RestfulSchema:
135
138
  return _
136
139
 
137
140
  def for_replace_one(self) -> Callable[[BaseModel], dict[str, Any]]:
138
- schema = self.schemas["Replace"]
141
+ schema = self._models["Replace"]
139
142
 
140
143
  def _(request: schema) -> dict[str, Any]:
141
144
  return request.model_dump()
@@ -143,7 +146,7 @@ class RestfulSchema:
143
146
  return _
144
147
 
145
148
  def for_replace_many(self) -> Callable[[BaseModel], Iterable[dict[str, Any]]]:
146
- schema = self.schemas["ReplaceMany"]
149
+ schema = self._models["ReplaceMany"]
147
150
 
148
151
  def _(request: schema) -> Iterable[dict[str, Any]]:
149
152
  return [dict(item) for item in request.model_dump()[self.name.plural]]
@@ -151,7 +154,7 @@ class RestfulSchema:
151
154
  return _
152
155
 
153
156
  def for_filters(self) -> Callable[[BaseModel], dict[str, Any]]:
154
- schema = self.schemas["Filter"]
157
+ schema = self._models["Filter"]
155
158
 
156
159
  def _(request: schema) -> dict[str, Any]:
157
160
  return request.model_dump()
@@ -159,7 +162,7 @@ class RestfulSchema:
159
162
  return _
160
163
 
161
164
  def for_aggregation(self) -> Callable[[BaseModel], dict[str, Any]]:
162
- schema = self.schemas["Aggregation"]
165
+ schema = self._models["Aggregation"]
163
166
 
164
167
  def _(request: schema) -> dict[str, Any]:
165
168
  return request.model_dump()
@@ -172,7 +175,7 @@ class RestfulSchema:
172
175
  FluentDict[type]()
173
176
  .with_a(status=str)
174
177
  .and_a(code=int)
175
- .and_a(aggregations=self.schemas["AggregationResult"]),
178
+ .and_a(aggregations=self._models["AggregationResult"]),
176
179
  )
177
180
 
178
181
 
@@ -199,11 +202,11 @@ class Schema:
199
202
 
200
203
  for field_name, field_type in fields.items():
201
204
  if isinstance(field_type, dict):
202
- model_fields[field_name] = (
203
- self._nested_schema_for(name + field_name.capitalize(), field_type),
204
- ...,
205
+ model_fields[field_name] = self._nested_schema_for(
206
+ name + field_name.capitalize(),
207
+ field_type,
205
208
  )
206
209
  else:
207
- model_fields[field_name] = (field_type, ...)
210
+ model_fields[field_name] = field_type
208
211
 
209
212
  return create_model(name, **model_fields)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "apexdevkit"
3
- version = "1.25.4"
3
+ version = "1.26.1"
4
4
  description = "Apex Development Tools for python."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -18,7 +18,7 @@ python-dotenv = "*"
18
18
  pymssql = "2.3.2"
19
19
 
20
20
  [tool.poetry.group.dev.dependencies]
21
- approvaltests = "*"
21
+ approvaltests = "17.3.0" # pinned because later version has a bug.
22
22
  pytest = "*"
23
23
  pytest-approvaltests = "*"
24
24
  pytest-cov = "*"
File without changes
File without changes