muscles 1.0.0rc1__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 (55) hide show
  1. muscles-1.0.0rc1/PKG-INFO +22 -0
  2. muscles-1.0.0rc1/pyproject.toml +26 -0
  3. muscles-1.0.0rc1/src/muscles/__init__.py +6 -0
  4. muscles-1.0.0rc1/src/muscles/core/Makefile +26 -0
  5. muscles-1.0.0rc1/src/muscles/core/__about__.py +6 -0
  6. muscles-1.0.0rc1/src/muscles/core/__init__.py +290 -0
  7. muscles-1.0.0rc1/src/muscles/core/core/__init__.py +119 -0
  8. muscles-1.0.0rc1/src/muscles/core/core/actions.py +452 -0
  9. muscles-1.0.0rc1/src/muscles/core/core/backend_pipeline.py +221 -0
  10. muscles-1.0.0rc1/src/muscles/core/core/configure.py +513 -0
  11. muscles-1.0.0rc1/src/muscles/core/core/container.py +82 -0
  12. muscles-1.0.0rc1/src/muscles/core/core/context.py +241 -0
  13. muscles-1.0.0rc1/src/muscles/core/core/dependency.py +298 -0
  14. muscles-1.0.0rc1/src/muscles/core/core/generator.py +43 -0
  15. muscles-1.0.0rc1/src/muscles/core/core/heandler.py +19 -0
  16. muscles-1.0.0rc1/src/muscles/core/core/inspection.py +184 -0
  17. muscles-1.0.0rc1/src/muscles/core/core/instance.py +549 -0
  18. muscles-1.0.0rc1/src/muscles/core/core/package_lifecycle.py +384 -0
  19. muscles-1.0.0rc1/src/muscles/core/core/registry.py +89 -0
  20. muscles-1.0.0rc1/src/muscles/core/core/runtime_mode.py +63 -0
  21. muscles-1.0.0rc1/src/muscles/core/core/self.py +28 -0
  22. muscles-1.0.0rc1/src/muscles/core/core/storage.py +284 -0
  23. muscles-1.0.0rc1/src/muscles/core/cors.py +56 -0
  24. muscles-1.0.0rc1/src/muscles/core/errors.py +83 -0
  25. muscles-1.0.0rc1/src/muscles/core/exceptions.py +79 -0
  26. muscles-1.0.0rc1/src/muscles/core/lifecycle.py +2 -0
  27. muscles-1.0.0rc1/src/muscles/core/response/__init__.py +17 -0
  28. muscles-1.0.0rc1/src/muscles/core/response/base.py +28 -0
  29. muscles-1.0.0rc1/src/muscles/core/response/bytes.py +19 -0
  30. muscles-1.0.0rc1/src/muscles/core/response/file.py +31 -0
  31. muscles-1.0.0rc1/src/muscles/core/response/html.py +13 -0
  32. muscles-1.0.0rc1/src/muscles/core/response/json.py +17 -0
  33. muscles-1.0.0rc1/src/muscles/core/response/no_content.py +13 -0
  34. muscles-1.0.0rc1/src/muscles/core/response/normalize.py +40 -0
  35. muscles-1.0.0rc1/src/muscles/core/route_contract.py +79 -0
  36. muscles-1.0.0rc1/src/muscles/core/schema/__init__.py +98 -0
  37. muscles-1.0.0rc1/src/muscles/core/schema/collection.py +15 -0
  38. muscles-1.0.0rc1/src/muscles/core/schema/column.py +192 -0
  39. muscles-1.0.0rc1/src/muscles/core/schema/exception.py +8 -0
  40. muscles-1.0.0rc1/src/muscles/core/schema/field.py +681 -0
  41. muscles-1.0.0rc1/src/muscles/core/schema/group.py +43 -0
  42. muscles-1.0.0rc1/src/muscles/core/schema/itinerary.py +932 -0
  43. muscles-1.0.0rc1/src/muscles/core/schema/model.py +251 -0
  44. muscles-1.0.0rc1/src/muscles/core/schema/parameters.py +105 -0
  45. muscles-1.0.0rc1/src/muscles/core/schema/pydantic_bridge.py +60 -0
  46. muscles-1.0.0rc1/src/muscles/core/schema/request.py +167 -0
  47. muscles-1.0.0rc1/src/muscles/core/schema/response.py +133 -0
  48. muscles-1.0.0rc1/src/muscles/core/schema/schema.py +62 -0
  49. muscles-1.0.0rc1/src/muscles/core/schema/security.py +152 -0
  50. muscles-1.0.0rc1/src/muscles/core/schema/swagger.py +96 -0
  51. muscles-1.0.0rc1/src/muscles/core/schema/user.py +58 -0
  52. muscles-1.0.0rc1/src/muscles/core/schema/value_object.py +245 -0
  53. muscles-1.0.0rc1/src/muscles/core/utils/__init__.py +8 -0
  54. muscles-1.0.0rc1/src/muscles/core/utils/watchdog.py +69 -0
  55. muscles-1.0.0rc1/src/muscles/lifecycle.py +1 -0
@@ -0,0 +1,22 @@
1
+ Metadata-Version: 2.4
2
+ Name: muscles
3
+ Version: 1.0.0rc1
4
+ Summary: Muscles framework core
5
+ License: MIT
6
+ Author: Denis B.
7
+ Author-email: denis@butko.info
8
+ Requires-Python: >=3.9,<4.0
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Requires-Dist: dnspython (==2.6.1)
18
+ Requires-Dist: greenlet (==3.0.2)
19
+ Requires-Dist: jsonschema (==4.16.0)
20
+ Requires-Dist: pyyaml (>=6.0.0,<6.1.0)
21
+ Requires-Dist: setuptools (==69.0.2)
22
+ Requires-Dist: watchdog (>=4.0.0,<5.0.0)
@@ -0,0 +1,26 @@
1
+ [build-system]
2
+ requires = ["poetry-core>=1.0.0"]
3
+ build-backend = "poetry.core.masonry.api"
4
+
5
+
6
+ [tool.poetry]
7
+ name = "muscles"
8
+ version = "1.0.0rc1"
9
+ description = "Muscles framework core"
10
+ authors = ["Denis B. <denis@butko.info>"]
11
+ license = "MIT"
12
+ packages = [{include = "muscles", from = "src"}]
13
+
14
+
15
+ [tool.poetry.dependencies]
16
+ python = "^3.9"
17
+ watchdog = "^4.0.0"
18
+ dnspython = "==2.6.1"
19
+ pyyaml = "~=6.0.0"
20
+ setuptools = "==69.0.2"
21
+ greenlet = "==3.0.2"
22
+ jsonschema = "==4.16.0"
23
+
24
+
25
+ [tool.poetry.dev-dependencies]
26
+ pytest = "==7.1.3"
@@ -0,0 +1,6 @@
1
+ from pkgutil import extend_path
2
+
3
+ from .core import *
4
+
5
+
6
+ __path__ = extend_path(__path__, __name__)
@@ -0,0 +1,26 @@
1
+ # Makefile
2
+
3
+ start:
4
+ docker-compose up -d
5
+ docker exec -it butkoinfo_core_1 bash
6
+
7
+
8
+ stop:
9
+ docker-compose up -d
10
+ docker exec -it butkoinfo-core-1 bash
11
+
12
+
13
+ console:
14
+ docker exec -it butkoinfo_core_1 bash
15
+
16
+
17
+ logs:
18
+ docker-compose logs
19
+
20
+
21
+ develop:
22
+ #docker exec -it butkoinfo_core_1 pipenv install
23
+ pipenv run python setup.py develop
24
+ pipenv install
25
+
26
+
@@ -0,0 +1,6 @@
1
+ # -*- coding: utf-8 -*-
2
+ __name__ = "Muscles Framework"
3
+ __version__ = "1.0.0rc1"
4
+ __description__ = (
5
+ "Muscles Framework"
6
+ )
@@ -0,0 +1,290 @@
1
+ from .core import Configurator
2
+ from .core import BaseStrategy, Context
3
+ from .core import DependencyStorage, Dependency, inject
4
+ from .core import DependencyContainer, DependencyScope, BackendPipeline
5
+ from .core import ResponseHandler, BaseResponseHandler
6
+ from .core import Self
7
+ from .core import storageMapper, Storage, StorageStrategy, StorageMapper
8
+ from .core import Application, ApplicationMeta, PackageMeta
9
+ from .core import RuntimeMode, resolve_runtime_mode, app_runtime_mode, is_development, is_test, is_production
10
+ from .core import inspect_application
11
+ from .core import GenerationRequest, GeneratorProvider, GeneratorRegistry
12
+ from .core import ApplicationRegistry, get_application_registry
13
+ from .core import MusclesPackage, NoopTelemetry, PackageService, TelemetryProvider
14
+ from .core import collect_package_capabilities, collect_packages, doctor_application, ensure_container
15
+ from .core import install_package, resolve_package_config, resolve_telemetry, sanitize_payload
16
+ from .core import ActionContext, ActionContract, ActionDispatcher, ActionResult, ApplicationContract
17
+ from .core import ActionError, ActionExecutionError, ActionNotFound, ActionPermissionDenied, ActionValidationError
18
+ from .core import StreamEvent, StreamResult, coerce_stream_event, stream_events
19
+ from .core import action, dispatch_action, register_action
20
+ from .response import BaseResponse, BytesResponse, FileResponse, JsonResponse, HtmlResponse, NoContentResponse, normalize_response
21
+ from .errors import normalize_problem_payload
22
+ from .cors import CorsMiddleware, cors
23
+ from .route_contract import (
24
+ CANONICAL_ALIASES,
25
+ CANONICAL_ROUTES,
26
+ canonical_alias_pairs,
27
+ build_route_aliases,
28
+ normalize_path,
29
+ )
30
+ from .schema import Schema
31
+ from .schema import ResponseBody
32
+ from .schema import JsonResponseBody
33
+ from .schema import XmlResponseBody
34
+ from .schema import HtmlResponseBody
35
+ from .schema import TextResponseBody
36
+ from .schema import ResponseBody
37
+ from .schema import BaseSecurity
38
+ from .schema import BasicAuthSecurity
39
+ from .schema import BearerAuthSecurity
40
+ from .schema import BearerJwtAuth
41
+ from .schema import ApiKeyAuthSecurity
42
+ from .schema import RequestBody
43
+ from .schema import JsonRequestBody
44
+ from .schema import XmlRequestBody
45
+ from .schema import FormRequestBody
46
+ from .schema import FileRequestBody
47
+ from .schema import MultipartRequestBody
48
+ from .schema import TextRequestBody
49
+ from .schema import PayloadRequestBody
50
+ from .schema import PathParameter
51
+ from .schema import BaseParameter
52
+ from .schema import FormParameter
53
+ from .schema import QueryParameter
54
+ from .schema import CookieParameter
55
+ from .schema import Itinerary
56
+ from .schema import BaseColumn
57
+ from .schema import Column
58
+ from .schema import BaseCollection
59
+ from .schema import Collection
60
+ from .schema import Swagger
61
+ from .schema import BaseModel
62
+ from .schema import Model
63
+ from .schema import BaseUser
64
+ from .schema import RobotUser
65
+ from .schema import SystemUser
66
+ from .schema import GuestUser
67
+ from .schema import User
68
+ from .schema import Numeric
69
+ from .schema import Boolean
70
+ from .schema import List
71
+ from .schema import Email
72
+ from .schema import Phone
73
+ from .schema import ValueObject
74
+ from .schema import EmailValue
75
+ from .schema import PhoneValue
76
+ from .schema import DateRangeValue
77
+ from .schema import NonEmptyStringValue
78
+ from .schema import SlugValue
79
+ from .schema import UrlValue
80
+ from .schema import CountryCodeValue
81
+ from .schema import PercentageValue
82
+ from .schema import MoneyValue
83
+ from .schema import UtcDateTimeValue
84
+ from .schema import DateTimeRangeValue
85
+ from .schema import ValueObjectField
86
+ from .schema import Time
87
+ from .schema import Enum
88
+ from .schema import Float
89
+ from .schema import Double
90
+ from .schema import Binary
91
+ from .schema import Json
92
+ from .schema import String
93
+ from .schema import SmallInteger
94
+ from .schema import Integer
95
+ from .schema import Date
96
+ from .schema import File
97
+ from .schema import Text
98
+ from .schema import DateTime
99
+ from .schema import Timestamp
100
+ from .schema import BigInteger
101
+ from .schema import UUID4
102
+ from .schema import Key
103
+ from .schema import HeaderParameter
104
+ from .utils import Watchdog
105
+ from .utils import WatchdogHandlerInterface
106
+ from .core import StorageInterface
107
+ from .core import EventsStorageInterface
108
+ from .core import EventsStorage
109
+ from .exceptions import ApplicationException
110
+ from .exceptions import AccessDeniedException
111
+ from .exceptions import RequestErrorException
112
+ from .exceptions import ErrorException
113
+ from .exceptions import NotFoundException
114
+ from .exceptions import IsExistsException
115
+ from .exceptions import UpdateErrorException
116
+ from .exceptions import InsertErrorException
117
+ from .exceptions import NotAuthenticationException
118
+ from .exceptions import AttributeErrorException
119
+ from .exceptions import ModelException
120
+
121
+
122
+ __all__ = (
123
+ "ApplicationException",
124
+ "AccessDeniedException",
125
+ "RequestErrorException",
126
+ "ErrorException",
127
+ "NotFoundException",
128
+ "IsExistsException",
129
+ "UpdateErrorException",
130
+ "InsertErrorException",
131
+ "NotAuthenticationException",
132
+ "AttributeErrorException",
133
+ "ModelException",
134
+ "StorageInterface",
135
+ "EventsStorageInterface",
136
+ "EventsStorage",
137
+ "WatchdogHandlerInterface",
138
+ "Watchdog",
139
+ "Boolean",
140
+ "List",
141
+ "Email",
142
+ "Phone",
143
+ "ValueObject",
144
+ "EmailValue",
145
+ "PhoneValue",
146
+ "DateRangeValue",
147
+ "NonEmptyStringValue",
148
+ "SlugValue",
149
+ "UrlValue",
150
+ "CountryCodeValue",
151
+ "PercentageValue",
152
+ "MoneyValue",
153
+ "UtcDateTimeValue",
154
+ "DateTimeRangeValue",
155
+ "ValueObjectField",
156
+ "Time",
157
+ "Enum",
158
+ "Float",
159
+ "Double",
160
+ "Binary",
161
+ "Json",
162
+ "String",
163
+ "Numeric",
164
+ "SmallInteger",
165
+ "Integer",
166
+ "Date",
167
+ "Column",
168
+ "Collection",
169
+ "File",
170
+ "Text",
171
+ "DateTime",
172
+ "Timestamp",
173
+ "BigInteger",
174
+ "UUID4",
175
+ "Key",
176
+ "Configurator",
177
+ "BaseStrategy",
178
+ "Context",
179
+ "DependencyStorage",
180
+ "Dependency",
181
+ "inject",
182
+ "DependencyContainer",
183
+ "DependencyScope",
184
+ "BackendPipeline",
185
+ "BaseResponseHandler",
186
+ "ResponseHandler",
187
+ "Self",
188
+ "Storage",
189
+ "StorageStrategy",
190
+ "StorageMapper",
191
+ "storageMapper",
192
+ "Application",
193
+ "ApplicationMeta",
194
+ "PackageMeta",
195
+ "RuntimeMode",
196
+ "resolve_runtime_mode",
197
+ "app_runtime_mode",
198
+ "is_development",
199
+ "is_test",
200
+ "is_production",
201
+ "inspect_application",
202
+ "ApplicationRegistry",
203
+ "get_application_registry",
204
+ "ActionContext",
205
+ "ActionContract",
206
+ "ActionDispatcher",
207
+ "ActionResult",
208
+ "ActionError",
209
+ "ActionExecutionError",
210
+ "ActionNotFound",
211
+ "ActionPermissionDenied",
212
+ "ActionValidationError",
213
+ "ApplicationContract",
214
+ "StreamEvent",
215
+ "StreamResult",
216
+ "coerce_stream_event",
217
+ "stream_events",
218
+ "action",
219
+ "dispatch_action",
220
+ "register_action",
221
+ "GenerationRequest",
222
+ "GeneratorProvider",
223
+ "GeneratorRegistry",
224
+ "MusclesPackage",
225
+ "NoopTelemetry",
226
+ "PackageService",
227
+ "TelemetryProvider",
228
+ "collect_package_capabilities",
229
+ "collect_packages",
230
+ "doctor_application",
231
+ "ensure_container",
232
+ "install_package",
233
+ "resolve_package_config",
234
+ "resolve_telemetry",
235
+ "sanitize_payload",
236
+ "BaseResponse",
237
+ "BytesResponse",
238
+ "FileResponse",
239
+ "JsonResponse",
240
+ "HtmlResponse",
241
+ "NoContentResponse",
242
+ "normalize_response",
243
+ "normalize_problem_payload",
244
+ "CorsMiddleware",
245
+ "cors",
246
+ "Schema",
247
+ "ResponseBody",
248
+ "JsonResponseBody",
249
+ "XmlResponseBody",
250
+ "HtmlResponseBody",
251
+ "TextResponseBody",
252
+ "build_route_aliases",
253
+ "canonical_alias_pairs",
254
+ "normalize_path",
255
+ "CANONICAL_ROUTES",
256
+ "CANONICAL_ALIASES",
257
+ "ResponseBody",
258
+ "BaseSecurity",
259
+ "BasicAuthSecurity",
260
+ "BearerAuthSecurity",
261
+ "BearerJwtAuth",
262
+ "ApiKeyAuthSecurity",
263
+ "RequestBody",
264
+ "JsonRequestBody",
265
+ "XmlRequestBody",
266
+ "FormRequestBody",
267
+ "FileRequestBody",
268
+ "MultipartRequestBody",
269
+ "TextRequestBody",
270
+ "PayloadRequestBody",
271
+ "HeaderParameter",
272
+ "PathParameter",
273
+ "BaseParameter",
274
+ "FormParameter",
275
+ "QueryParameter",
276
+ "CookieParameter",
277
+ "Itinerary",
278
+ "BaseColumn",
279
+ "Column",
280
+ "BaseCollection",
281
+ "Collection",
282
+ "Swagger",
283
+ "BaseModel",
284
+ "Model",
285
+ "BaseUser",
286
+ "RobotUser",
287
+ "SystemUser",
288
+ "GuestUser",
289
+ "User",
290
+ )
@@ -0,0 +1,119 @@
1
+ from .configure import Configurator
2
+ from .context import BaseStrategy, Context
3
+ from .dependency import DependencyStorage, Dependency, inject
4
+ from .container import DependencyContainer, DependencyScope
5
+ from .backend_pipeline import BackendPipeline
6
+ from .heandler import ResponseHandler, BaseResponseHandler
7
+ from .self import Self
8
+ from .storage import storageMapper, Storage, StorageStrategy, StorageMapper
9
+ from .instance import Application, ApplicationMeta, PackageMeta
10
+ from .instance import StorageInterface, EventsStorageInterface, EventsStorage
11
+ from .runtime_mode import RuntimeMode
12
+ from .runtime_mode import resolve_runtime_mode
13
+ from .runtime_mode import app_runtime_mode
14
+ from .runtime_mode import is_development
15
+ from .runtime_mode import is_test
16
+ from .runtime_mode import is_production
17
+ from .inspection import inspect_application
18
+ from .generator import GenerationRequest, GeneratorProvider, GeneratorRegistry
19
+ from .registry import ApplicationRegistry, get_application_registry
20
+ from .package_lifecycle import (
21
+ MusclesPackage,
22
+ NoopTelemetry,
23
+ PackageService,
24
+ TelemetryProvider,
25
+ collect_package_capabilities,
26
+ collect_packages,
27
+ doctor_application,
28
+ ensure_container,
29
+ install_package,
30
+ resolve_package_config,
31
+ resolve_telemetry,
32
+ sanitize_payload,
33
+ )
34
+ from .actions import (
35
+ ActionContext,
36
+ ActionContract,
37
+ ActionDispatcher,
38
+ ActionError,
39
+ ActionExecutionError,
40
+ ActionNotFound,
41
+ ActionPermissionDenied,
42
+ ActionResult,
43
+ ActionValidationError,
44
+ ApplicationContract,
45
+ StreamEvent,
46
+ StreamResult,
47
+ coerce_stream_event,
48
+ stream_events,
49
+ action,
50
+ dispatch_action,
51
+ register_action,
52
+ )
53
+
54
+
55
+ __all__ = (
56
+ "StorageInterface",
57
+ "EventsStorageInterface",
58
+ "EventsStorage",
59
+ "Configurator",
60
+ "BaseStrategy",
61
+ "Context",
62
+ "DependencyStorage",
63
+ "Dependency",
64
+ "inject",
65
+ "DependencyContainer",
66
+ "DependencyScope",
67
+ "BackendPipeline",
68
+ "BaseResponseHandler",
69
+ "ResponseHandler",
70
+ "Self",
71
+ "Storage",
72
+ "StorageStrategy",
73
+ "StorageMapper",
74
+ "storageMapper",
75
+ "Application",
76
+ "ApplicationMeta",
77
+ "PackageMeta",
78
+ "RuntimeMode",
79
+ "resolve_runtime_mode",
80
+ "app_runtime_mode",
81
+ "is_development",
82
+ "is_test",
83
+ "is_production",
84
+ "inspect_application",
85
+ "ApplicationRegistry",
86
+ "get_application_registry",
87
+ "ActionContext",
88
+ "ActionContract",
89
+ "ActionDispatcher",
90
+ "ActionError",
91
+ "ActionExecutionError",
92
+ "ActionNotFound",
93
+ "ActionPermissionDenied",
94
+ "ActionResult",
95
+ "ActionValidationError",
96
+ "ApplicationContract",
97
+ "StreamEvent",
98
+ "StreamResult",
99
+ "coerce_stream_event",
100
+ "stream_events",
101
+ "action",
102
+ "dispatch_action",
103
+ "register_action",
104
+ "GenerationRequest",
105
+ "GeneratorProvider",
106
+ "GeneratorRegistry",
107
+ "MusclesPackage",
108
+ "NoopTelemetry",
109
+ "PackageService",
110
+ "TelemetryProvider",
111
+ "collect_package_capabilities",
112
+ "collect_packages",
113
+ "doctor_application",
114
+ "ensure_container",
115
+ "install_package",
116
+ "resolve_package_config",
117
+ "resolve_telemetry",
118
+ "sanitize_payload",
119
+ )