orionis 0.221.0__py3-none-any.whl → 0.223.0__py3-none-any.whl
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.
- orionis/framework.py +1 -1
- orionis/luminate/application.py +1 -1
- orionis/luminate/container/resolve.py +1 -1
- orionis/luminate/contracts/facades/facade.py +1 -1
- orionis/luminate/support/{async_io/async_coroutine.py → asynchrony/async_io.py} +4 -9
- orionis/luminate/support/{async_io → asynchrony}/contracts/async_coroutine.py +2 -7
- orionis/luminate/support/patterns/__init__.py +0 -0
- {orionis-0.221.0.dist-info → orionis-0.223.0.dist-info}/METADATA +1 -1
- {orionis-0.221.0.dist-info → orionis-0.223.0.dist-info}/RECORD +19 -16
- tests/support/async_io/test_async_coroutine.py +5 -5
- tests/support/patterns/__init__.py +0 -0
- tests/support/patterns/test_singleton.py +18 -0
- /orionis/luminate/{patterns → support}/__init__.py +0 -0
- /orionis/luminate/support/{async_io → asynchrony}/__init__.py +0 -0
- /orionis/luminate/{patterns → support/patterns}/singleton.py +0 -0
- {orionis-0.221.0.dist-info → orionis-0.223.0.dist-info}/LICENCE +0 -0
- {orionis-0.221.0.dist-info → orionis-0.223.0.dist-info}/WHEEL +0 -0
- {orionis-0.221.0.dist-info → orionis-0.223.0.dist-info}/entry_points.txt +0 -0
- {orionis-0.221.0.dist-info → orionis-0.223.0.dist-info}/top_level.txt +0 -0
orionis/framework.py
CHANGED
orionis/luminate/application.py
CHANGED
@@ -10,7 +10,7 @@ from orionis.luminate.foundation.environment.environment_bootstrapper import Env
|
|
10
10
|
from orionis.luminate.foundation.exceptions.exception_bootstrapper import BootstrapRuntimeError
|
11
11
|
from orionis.luminate.foundation.providers.service_providers_bootstrapper import ServiceProvidersBootstrapper
|
12
12
|
from orionis.luminate.patterns.singleton import SingletonMeta
|
13
|
-
from orionis.luminate.support.async_io
|
13
|
+
from orionis.luminate.support.async.async_io import AsyncExecutor
|
14
14
|
|
15
15
|
class Application(metaclass=SingletonMeta):
|
16
16
|
"""
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from typing import Any, Callable
|
2
2
|
from orionis.luminate.container.container import Container
|
3
3
|
from orionis.luminate.container.exception import OrionisContainerValueError
|
4
|
-
from orionis.luminate.support.async_io
|
4
|
+
from orionis.luminate.support.async.async_io import AsyncExecutor
|
5
5
|
|
6
6
|
class Resolve:
|
7
7
|
"""
|
@@ -1,25 +1,20 @@
|
|
1
1
|
import asyncio
|
2
2
|
from inspect import iscoroutine
|
3
3
|
from typing import Any, Coroutine, TypeVar, Union
|
4
|
-
from orionis.luminate.support.
|
4
|
+
from orionis.luminate.support.asynchrony.contracts.async_coroutine import IAsyncIO
|
5
5
|
|
6
6
|
T = TypeVar("T")
|
7
7
|
|
8
|
-
class
|
8
|
+
class AsyncIO(IAsyncIO):
|
9
9
|
"""
|
10
10
|
A utility class for executing coroutine objects in various asynchronous and synchronous contexts.
|
11
11
|
This class provides a static method to execute coroutine objects, handling different scenarios
|
12
12
|
such as running within an active event loop (e.g., in Jupyter notebooks or Starlette) or in a
|
13
|
-
synchronous context without an active event
|
14
|
-
|
15
|
-
Methods
|
16
|
-
-------
|
17
|
-
execute(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]
|
18
|
-
Executes the given coroutine object, adapting to the current execution context.
|
13
|
+
synchronous context without an active event
|
19
14
|
"""
|
20
15
|
|
21
16
|
@staticmethod
|
22
|
-
def
|
17
|
+
def run(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
|
23
18
|
"""
|
24
19
|
Executes the given coroutine object, adapting to the current execution context.
|
25
20
|
If there is an active event loop, it uses `asyncio.ensure_future` to schedule the coroutine.
|
@@ -3,18 +3,13 @@ from typing import Any, Coroutine, TypeVar, Union
|
|
3
3
|
|
4
4
|
T = TypeVar("T")
|
5
5
|
|
6
|
-
class
|
6
|
+
class IAsyncIO:
|
7
7
|
"""
|
8
8
|
Interface for executing asynchronous coroutines.
|
9
|
-
|
10
|
-
Methods
|
11
|
-
-------
|
12
|
-
execute(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]
|
13
|
-
Executes the given coroutine.
|
14
9
|
"""
|
15
10
|
|
16
11
|
@staticmethod
|
17
|
-
def
|
12
|
+
def run(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
|
18
13
|
"""
|
19
14
|
Execute the given coroutine.
|
20
15
|
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
orionis/console.py,sha256=4gYWxf0fWYgJ4RKwARvnTPh06FL3GJ6SAZ7R2NzOICw,1342
|
3
|
-
orionis/framework.py,sha256=
|
3
|
+
orionis/framework.py,sha256=3CtL5RE88aY3ytj57zC1hrhgUabiCYcqG9djYM5up1k,1458
|
4
4
|
orionis/installer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
orionis/installer/manager.py,sha256=Li4TVziRXWfum02xNG4JHwbnLk-u8xzHjdqKz-D894k,2755
|
6
6
|
orionis/installer/output.py,sha256=7O9qa2xtXMB_4ZvVi-Klneom9YazwygAd_4uYAoxhbU,8548
|
@@ -10,7 +10,7 @@ orionis/installer/contracts/manager.py,sha256=Zfndhuyu0JaTKo3PsGsKmVsvotQMw8Pmt4
|
|
10
10
|
orionis/installer/contracts/output.py,sha256=t1KLw610-hHy63UbFFE2BYwWHWRbW8_ofuEvRLx_IUE,983
|
11
11
|
orionis/installer/contracts/setup.py,sha256=aWYkCv-z48bXXZynYapc3uMIE1gyO6XnkTw3b4MTBq4,784
|
12
12
|
orionis/luminate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
|
-
orionis/luminate/application.py,sha256=
|
13
|
+
orionis/luminate/application.py,sha256=q48CQ79vuSjg1WbU6cqMnxdyQctCtqxyvLyGuo_C7Go,9532
|
14
14
|
orionis/luminate/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
15
|
orionis/luminate/config/app.py,sha256=o-Ons0LMp77_E18e_dx_DqGVbjaY2l-5RdVSCILxgfg,1655
|
16
16
|
orionis/luminate/config/auth.py,sha256=ivAUgoEYEtfdC49vDwOl_MXFUVAQnUJTc8iG3Lu0Stc,430
|
@@ -48,7 +48,7 @@ orionis/luminate/container/container.py,sha256=9xdODX1h4YK6V-THrfgm5XN95imobExzr
|
|
48
48
|
orionis/luminate/container/container_integrity.py,sha256=6d9FsGk-Rm1AXgqBS3Nww49dR7n1ptXTTNyGUuBHgNY,10111
|
49
49
|
orionis/luminate/container/exception.py,sha256=ap1SqYEjQEEHXJJTNmL7V1jrmRjgT5_7geZ95MYkhMA,1691
|
50
50
|
orionis/luminate/container/lifetimes.py,sha256=2lbdiV7R2WlJf1cLD6eBxLnJud_lZvX1IhQH2Djy3Ww,375
|
51
|
-
orionis/luminate/container/resolve.py,sha256=
|
51
|
+
orionis/luminate/container/resolve.py,sha256=JZCCwdGOHkd7gc8t7AMars2dmbqEr_k2XnNbNU6kTlk,2312
|
52
52
|
orionis/luminate/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
53
53
|
orionis/luminate/contracts/application.py,sha256=FIR6WMY0y-Hkjp0jWfjJV9kwIqBb-RB1-Jl0GWCk9eI,1077
|
54
54
|
orionis/luminate/contracts/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -67,7 +67,7 @@ orionis/luminate/contracts/console/output/progress_bar.py,sha256=sOkQzQsliFemqZH
|
|
67
67
|
orionis/luminate/contracts/container/container.py,sha256=rLOS1eYir1e1e06OVNTGESbR24rFOIU1CVni_8AbHgs,8802
|
68
68
|
orionis/luminate/contracts/container/container_integrity.py,sha256=xigWcyxLUaFoWXEI75ucJ50Ypw2NtOiRp_CgOY3Qk20,4408
|
69
69
|
orionis/luminate/contracts/facades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
orionis/luminate/contracts/facades/facade.py,sha256=
|
70
|
+
orionis/luminate/contracts/facades/facade.py,sha256=LYrZ8tE86w6GpFqMpBQE49KZShL5xAk3qhsig8jh8RQ,1506
|
71
71
|
orionis/luminate/contracts/facades/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
72
72
|
orionis/luminate/contracts/facades/commands/commands_facade.py,sha256=LpSfZb3lTmhgMx0H42NmFbKLvcOqSDIbpQrkQpF9RPY,1274
|
73
73
|
orionis/luminate/contracts/facades/commands/scheduler_facade.py,sha256=CR2E7WbYGt8ZMpekUzWBHCor3FEnBmYMDwPfKSYPq84,947
|
@@ -132,8 +132,6 @@ orionis/luminate/foundation/exceptions/exception_bootstrapper.py,sha256=wDKfEW29
|
|
132
132
|
orionis/luminate/foundation/exceptions/exception_providers.py,sha256=VxrzuDRKXn8b73xKINPb-FxBusUz8ITXCu0KZh7Pm2o,1329
|
133
133
|
orionis/luminate/foundation/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
134
134
|
orionis/luminate/foundation/providers/service_providers_bootstrapper.py,sha256=lFlg9U2TIg165Nq9VdDnjVJ9eGDMbU8HST0NJb9YbCY,4590
|
135
|
-
orionis/luminate/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
136
|
-
orionis/luminate/patterns/singleton.py,sha256=b3U0nubKSQWyal5wTXADVPtOztkaTk-M8Zwy-bje1L0,1425
|
137
135
|
orionis/luminate/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
138
136
|
orionis/luminate/providers/service_provider.py,sha256=QG5TXP9oXsCdUhnMyCBEn0G_CnUJQD_u7wd_4LXE9yc,1135
|
139
137
|
orionis/luminate/providers/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -159,11 +157,12 @@ orionis/luminate/services/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
159
157
|
orionis/luminate/services/files/path_resolver_service.py,sha256=gCGVLtdXGuEIE6I8tm6JEB84HS1Fa5rk2whO2R6u8Wc,1698
|
160
158
|
orionis/luminate/services/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
161
159
|
orionis/luminate/services/log/log_service.py,sha256=jrCrKz7Uj6n_ri-v5A4YOILQGUQ9MAmrlSizbbOvKhI,8303
|
160
|
+
orionis/luminate/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
161
|
orionis/luminate/support/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
163
162
|
orionis/luminate/support/adapters/dot_dict.py,sha256=FVHfBuAGTTVMjNG01Fix645fRNKKUMmNx61pYkxPL5c,1253
|
164
|
-
orionis/luminate/support/
|
165
|
-
orionis/luminate/support/async_io
|
166
|
-
orionis/luminate/support/
|
163
|
+
orionis/luminate/support/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
|
+
orionis/luminate/support/asynchrony/async_io.py,sha256=IkgVrJnnvNExkhy9brfZpTq2EXptyg3ZB2_ZSH9xDe8,1591
|
165
|
+
orionis/luminate/support/asynchrony/contracts/async_coroutine.py,sha256=lwtDa6r7I6qbxzKr5MyJtMRaYW6e5j2dbymEPNaNIEo,614
|
167
166
|
orionis/luminate/support/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
168
167
|
orionis/luminate/support/inspection/container_integrity.py,sha256=6d9FsGk-Rm1AXgqBS3Nww49dR7n1ptXTTNyGUuBHgNY,10111
|
169
168
|
orionis/luminate/support/inspection/functions.py,sha256=4wDT7iNp-5l4vuHk0UsIxN9wakASJRD4V0KY24uMDzk,7227
|
@@ -182,6 +181,8 @@ orionis/luminate/support/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
182
181
|
orionis/luminate/support/parsers/exception_parser.py,sha256=6MTeql76c1Muh9Nn-jz2jJdzb9_F7SLdoFjqBD5F8lY,3642
|
183
182
|
orionis/luminate/support/parsers/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
184
183
|
orionis/luminate/support/parsers/contracts/exception_parser.py,sha256=HcWN7nJrvD7xLREPKEnBhyG30IkkAB7Bx_hGpcfb0ZE,912
|
184
|
+
orionis/luminate/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
185
|
+
orionis/luminate/support/patterns/singleton.py,sha256=b3U0nubKSQWyal5wTXADVPtOztkaTk-M8Zwy-bje1L0,1425
|
185
186
|
orionis/luminate/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
186
187
|
orionis/luminate/support/standard/std.py,sha256=t6dkZxOmSsu3yaIwlvRwdTcV-6KS8lZE5YuYv7FpCb0,3573
|
187
188
|
orionis/luminate/support/standard/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -216,7 +217,7 @@ tests/support/adapters/test_doct_dict.py,sha256=Rh0wUZLBErqrzwoRSUa7t1rpRm-Qp-HR
|
|
216
217
|
tests/support/adapters/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
217
218
|
tests/support/adapters/fakes/fake_dict.py,sha256=KD48_xBc8pqj3LAe1_v1esu-1Fdz8fL5eZ70LSqkcbg,393
|
218
219
|
tests/support/async_io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
219
|
-
tests/support/async_io/test_async_coroutine.py,sha256=
|
220
|
+
tests/support/async_io/test_async_coroutine.py,sha256=qXmpfyqaeNUSRQFdKVViGiF2FsRQle9VqyFeR-jAetg,1532
|
220
221
|
tests/support/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
221
222
|
tests/support/inspection/test_reflection_abstract.py,sha256=6w8vm8H_fR4Z-KYjQGm8bq-HcetlpQl0EsDmDy3WzQ8,9311
|
222
223
|
tests/support/inspection/test_reflection_concrete.py,sha256=3BWSU7MkFEv2UgAVAwhiaMrzEwAyDBBJCa6edOENKSU,6782
|
@@ -233,11 +234,13 @@ tests/support/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
233
234
|
tests/support/parsers/test_exception_parser.py,sha256=s-ZRbxyr9bs5uis2SM0IN-vCc-AJhWqRnEMIVgeEFXE,2363
|
234
235
|
tests/support/parsers/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
235
236
|
tests/support/parsers/fakes/fake_custom_error.py,sha256=BD8tQPhmIYFYVcaeMpEQ6uK1d6pcU4EGbwRkVfCZp7c,802
|
237
|
+
tests/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
238
|
+
tests/support/patterns/test_singleton.py,sha256=U5uwpgGcP7-fIazsnFLwg30mmc24S62udhVIHuL-scY,634
|
236
239
|
tests/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
237
240
|
tests/support/standard/test_std.py,sha256=bJ5LV_OKEEZa_Bk3PTk9Kapk6qECLzcKf0hfR_x2QqM,2042
|
238
|
-
orionis-0.
|
239
|
-
orionis-0.
|
240
|
-
orionis-0.
|
241
|
-
orionis-0.
|
242
|
-
orionis-0.
|
243
|
-
orionis-0.
|
241
|
+
orionis-0.223.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
|
242
|
+
orionis-0.223.0.dist-info/METADATA,sha256=J342L_1JSvDAMScCxwplIcVB-v1fh2A_ZiJIj-syD4Q,3003
|
243
|
+
orionis-0.223.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
244
|
+
orionis-0.223.0.dist-info/entry_points.txt,sha256=a_e0faeSqyUCVZd0MqljQ2oaHHdlsz6g9sU_bMqi5zQ,49
|
245
|
+
orionis-0.223.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
|
246
|
+
orionis-0.223.0.dist-info/RECORD,,
|
@@ -1,7 +1,7 @@
|
|
1
|
-
from orionis.luminate.support.async_io
|
1
|
+
from orionis.luminate.support.asynchrony.async_io import AsyncIO
|
2
2
|
from orionis.luminate.test.test_case import TestCase
|
3
3
|
|
4
|
-
class
|
4
|
+
class TestsAsyncIO(TestCase):
|
5
5
|
|
6
6
|
async def testExecuteWithActiveEventLoop(self):
|
7
7
|
"""
|
@@ -12,7 +12,7 @@ class TestsAsyncCoroutine(TestCase):
|
|
12
12
|
async def sample_coroutine():
|
13
13
|
return "Hello, World!"
|
14
14
|
|
15
|
-
result = await
|
15
|
+
result = await AsyncIO.run(sample_coroutine())
|
16
16
|
self.assertEqual(result, "Hello, World!")
|
17
17
|
|
18
18
|
def testExecuteWithoutActiveEventLoop(self):
|
@@ -23,7 +23,7 @@ class TestsAsyncCoroutine(TestCase):
|
|
23
23
|
async def sample_coroutine():
|
24
24
|
return "Hello, World!"
|
25
25
|
|
26
|
-
result =
|
26
|
+
result = AsyncIO.run(sample_coroutine())
|
27
27
|
self.assertEqual(result, "Hello, World!")
|
28
28
|
|
29
29
|
def testExecuteWithNonCoroutine(self):
|
@@ -35,4 +35,4 @@ class TestsAsyncCoroutine(TestCase):
|
|
35
35
|
return "Hello, World!"
|
36
36
|
|
37
37
|
with self.assertRaises(TypeError):
|
38
|
-
|
38
|
+
AsyncIO.run(sample_no_coroutine())
|
File without changes
|
@@ -0,0 +1,18 @@
|
|
1
|
+
from orionis.luminate.support.patterns.singleton import SingletonMeta
|
2
|
+
from orionis.luminate.test.test_case import TestCase
|
3
|
+
|
4
|
+
class TestsAsyncCoroutine(TestCase):
|
5
|
+
|
6
|
+
async def testSingletonMeta(self):
|
7
|
+
"""
|
8
|
+
Test the SingletonMeta metaclass to ensure that only one instance of a class is created.
|
9
|
+
"""
|
10
|
+
class SingletonClass(metaclass=SingletonMeta):
|
11
|
+
def __init__(self, value):
|
12
|
+
self.value = value
|
13
|
+
|
14
|
+
instance1 = SingletonClass(1)
|
15
|
+
instance2 = SingletonClass(2)
|
16
|
+
|
17
|
+
self.assertIs(instance1, instance2)
|
18
|
+
self.assertEqual(instance1.value, 1)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|