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 CHANGED
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.221.0"
8
+ VERSION = "0.223.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -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.async_coroutine import AsyncExecutor
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.async_coroutine import AsyncExecutor
4
+ from orionis.luminate.support.async.async_io import AsyncExecutor
5
5
 
6
6
  class Resolve:
7
7
  """
@@ -1,5 +1,5 @@
1
1
  from orionis.luminate.container.container import Container
2
- from orionis.luminate.support.async_io.async_coroutine import AsyncExecutor
2
+ from orionis.luminate.support.async.async_io import AsyncExecutor
3
3
 
4
4
  class FacadeMeta(type):
5
5
  """
@@ -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.async_io.contracts.async_coroutine import IAsyncCoroutine
4
+ from orionis.luminate.support.asynchrony.contracts.async_coroutine import IAsyncIO
5
5
 
6
6
  T = TypeVar("T")
7
7
 
8
- class AsyncCoroutine(IAsyncCoroutine):
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 loop.
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 execute(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
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 IAsyncCoroutine:
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 execute(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
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
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.221.0
3
+ Version: 0.223.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -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=RFEO1x9Wd-BbDE_qVIBkiuZQ8NdtHQdta3LrENjbDQ4,1458
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=j6aEhCZhmann6HiuhoWmnJQbNTqZdu3oegPt0SQtJX4,9542
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=3wyMgJ0hQVAW_-Tx5nmXx3_nTjV_gSGNmqLZXUthgc8,2322
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=LOACtfRduXo-0_de7smacMIGQHlap4D1y4oVTzsIK-Y,1516
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/async_io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
- orionis/luminate/support/async_io/async_coroutine.py,sha256=gOs9S_ath2BY6NV1s9whD0JXJa4qeRaaZgFyHqoqTm0,1808
166
- orionis/luminate/support/async_io/contracts/async_coroutine.py,sha256=D2NhVwPO_TKQ9UjLn61aeC0n7GmIXHtVpdel8pruXcI,763
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=lxbkcJJV-B-pxexSxNpmFypFcBK3zLPI18ySngZI3zk,1584
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.221.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
239
- orionis-0.221.0.dist-info/METADATA,sha256=HjWAR1ektEdMZK8i6uLekCdmYdquq6dt5HxTkEZgzag,3003
240
- orionis-0.221.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
241
- orionis-0.221.0.dist-info/entry_points.txt,sha256=a_e0faeSqyUCVZd0MqljQ2oaHHdlsz6g9sU_bMqi5zQ,49
242
- orionis-0.221.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
243
- orionis-0.221.0.dist-info/RECORD,,
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.async_coroutine import AsyncCoroutine
1
+ from orionis.luminate.support.asynchrony.async_io import AsyncIO
2
2
  from orionis.luminate.test.test_case import TestCase
3
3
 
4
- class TestsAsyncCoroutine(TestCase):
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 AsyncCoroutine.execute(sample_coroutine())
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 = AsyncCoroutine.execute(sample_coroutine())
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
- AsyncCoroutine.execute(sample_no_coroutine())
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