orionis 0.32.0__tar.gz → 0.35.0__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 (161) hide show
  1. {orionis-0.32.0/orionis.egg-info → orionis-0.35.0}/PKG-INFO +1 -1
  2. {orionis-0.32.0 → orionis-0.35.0}/orionis/framework.py +1 -1
  3. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/app.py +2 -1
  4. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/orionis.py +4 -3
  5. orionis-0.35.0/orionis/luminate/patterns/singleton.py +44 -0
  6. {orionis-0.32.0 → orionis-0.35.0/orionis.egg-info}/PKG-INFO +1 -1
  7. {orionis-0.32.0 → orionis-0.35.0}/orionis.egg-info/SOURCES.txt +1 -0
  8. {orionis-0.32.0 → orionis-0.35.0}/LICENCE +0 -0
  9. {orionis-0.32.0 → orionis-0.35.0}/MANIFEST.in +0 -0
  10. {orionis-0.32.0 → orionis-0.35.0}/README.md +0 -0
  11. {orionis-0.32.0 → orionis-0.35.0}/orionis/__init__.py +0 -0
  12. {orionis-0.32.0 → orionis-0.35.0}/orionis/cli_manager.py +0 -0
  13. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/__init__.py +0 -0
  14. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/bootstrap/__init__.py +0 -0
  15. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/bootstrap/cli_exception.py +0 -0
  16. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/bootstrap/commands/bootstrapper.py +0 -0
  17. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/bootstrap/commands/register.py +0 -0
  18. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/bootstrap/config/__init__.py +0 -0
  19. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/bootstrap/config/bootstrapper.py +0 -0
  20. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/bootstrap/config/parser.py +0 -0
  21. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/bootstrap/config/register.py +0 -0
  22. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/cache/__init__.py +0 -0
  23. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/cache/app/__init__.py +0 -0
  24. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/cache/app/config.py +0 -0
  25. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/cache/console/__init__.py +0 -0
  26. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/cache/console/commands.py +0 -0
  27. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/__init__.py +0 -0
  28. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/__init__.py +0 -0
  29. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/app.py +0 -0
  30. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/auth.py +0 -0
  31. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/cache.py +0 -0
  32. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/cors.py +0 -0
  33. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/database.py +0 -0
  34. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/filesystems.py +0 -0
  35. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/logging.py +0 -0
  36. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/mail.py +0 -0
  37. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/queue.py +0 -0
  38. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/dataclass/session.py +0 -0
  39. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/config/environment.py +0 -0
  40. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/__init__.py +0 -0
  41. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/base/__init__.py +0 -0
  42. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/base/command.py +0 -0
  43. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/cache.py +0 -0
  44. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/command.py +0 -0
  45. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/command_filter.py +0 -0
  46. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/commands/__init__.py +0 -0
  47. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/commands/cache_clear.py +0 -0
  48. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/commands/help.py +0 -0
  49. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/commands/schedule_work.py +0 -0
  50. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/commands/tests.py +0 -0
  51. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/commands/version.py +0 -0
  52. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/exceptions/__init__.py +0 -0
  53. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/exceptions/cli_exception.py +0 -0
  54. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/kernel.py +0 -0
  55. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/output/__init__.py +0 -0
  56. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/output/console.py +0 -0
  57. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/output/executor.py +0 -0
  58. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/output/progress_bar.py +0 -0
  59. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/output/styles.py +0 -0
  60. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/parser.py +0 -0
  61. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/runner.py +0 -0
  62. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/scripts/__init__.py +0 -0
  63. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/scripts/management.py +0 -0
  64. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/tasks/__init__.py +0 -0
  65. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/console/tasks/scheduler.py +0 -0
  66. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/container/container.py +0 -0
  67. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/container/exception.py +0 -0
  68. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/container/types.py +0 -0
  69. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/__init__.py +0 -0
  70. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/bootstrap/commands/bootstrapper_interface.py +0 -0
  71. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/bootstrap/commands/register_interface.py +0 -0
  72. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/bootstrap/config/bootstrapper_interface.py +0 -0
  73. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/bootstrap/config/parser_interface.py +0 -0
  74. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/bootstrap/config/register_interface.py +0 -0
  75. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/cache/__init__.py +0 -0
  76. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/cache/app/config_interface.py +0 -0
  77. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/cache/console/commands_interface.py +0 -0
  78. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/config/__init__.py +0 -0
  79. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/config/config_interface.py +0 -0
  80. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/config/environment_interface.py +0 -0
  81. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/__init__.py +0 -0
  82. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/base/base_command_interface.py +0 -0
  83. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/command_filter_interface.py +0 -0
  84. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/command_interface.py +0 -0
  85. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/kernel_interface.py +0 -0
  86. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/output/console_interface.py +0 -0
  87. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/output/executor_interface.py +0 -0
  88. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/output/progress_bar_interface.py +0 -0
  89. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/parser_interface.py +0 -0
  90. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/runner_interface.py +0 -0
  91. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/scripts/management_interface.py +0 -0
  92. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/task_manager_interface.py +0 -0
  93. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/console/tasks/schedule_interface.py +0 -0
  94. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/container/container_interface.py +0 -0
  95. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/container/types_interface.py +0 -0
  96. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/facades/__init__.py +0 -0
  97. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/facades/env_interface.py +0 -0
  98. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/facades/log_interface.py +0 -0
  99. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/facades/paths_interface.py +0 -0
  100. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/facades/tests_interface.py +0 -0
  101. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/files/__init__.py +0 -0
  102. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/files/paths_interface.py +0 -0
  103. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/installer/__init__.py +0 -0
  104. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/installer/output_interface.py +0 -0
  105. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/installer/setup_interface.py +0 -0
  106. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/installer/upgrade_interface.py +0 -0
  107. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/log/__init__.py +0 -0
  108. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/log/logger_interface.py +0 -0
  109. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/pipelines/cli_pipeline_interface.py +0 -0
  110. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/publisher/__init__.py +0 -0
  111. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/publisher/pypi_publisher_interface.py +0 -0
  112. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/test/__init__.py +0 -0
  113. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/test/unit_test_interface.py +0 -0
  114. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/tools/__init__.py +0 -0
  115. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/tools/exception_to_dict_interface.py +0 -0
  116. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/tools/reflection_interface.py +0 -0
  117. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/contracts/tools/std_interface.py +0 -0
  118. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/facades/__init__.py +0 -0
  119. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/facades/environment.py +0 -0
  120. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/facades/log.py +0 -0
  121. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/facades/paths.py +0 -0
  122. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/facades/tests.py +0 -0
  123. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/files/__init__.py +0 -0
  124. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/files/paths.py +0 -0
  125. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/installer/__init__.py +0 -0
  126. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/installer/icon.ascii +0 -0
  127. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/installer/info.ascii +0 -0
  128. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/installer/output.py +0 -0
  129. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/installer/setup.py +0 -0
  130. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/installer/upgrade.py +0 -0
  131. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/log/__init__.py +0 -0
  132. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/log/logger.py +0 -0
  133. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/pipelines/__init__.py +0 -0
  134. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/pipelines/cli_pipeline.py +0 -0
  135. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/publisher/__init__.py +0 -0
  136. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/publisher/pypi.py +0 -0
  137. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/static/bg/galaxy.jpg +0 -0
  138. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/static/favicon/OrionisFrameworkFavicon.png +0 -0
  139. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/static/logos/OrionisFramework.jpg +0 -0
  140. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/static/logos/OrionisFramework.png +0 -0
  141. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/static/logos/OrionisFramework.psd +0 -0
  142. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/static/logos/OrionisFramework2.png +0 -0
  143. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/static/logos/OrionisFramework3.png +0 -0
  144. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/test/__init__.py +0 -0
  145. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/test/exception.py +0 -0
  146. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/test/unit_test.py +0 -0
  147. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/tools/__init__.py +0 -0
  148. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/tools/dot_dict.py +0 -0
  149. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/tools/exception_to_dict.py +0 -0
  150. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/tools/reflection.py +0 -0
  151. {orionis-0.32.0 → orionis-0.35.0}/orionis/luminate/tools/std.py +0 -0
  152. {orionis-0.32.0 → orionis-0.35.0}/orionis.egg-info/dependency_links.txt +0 -0
  153. {orionis-0.32.0 → orionis-0.35.0}/orionis.egg-info/entry_points.txt +0 -0
  154. {orionis-0.32.0 → orionis-0.35.0}/orionis.egg-info/requires.txt +0 -0
  155. {orionis-0.32.0 → orionis-0.35.0}/orionis.egg-info/top_level.txt +0 -0
  156. {orionis-0.32.0 → orionis-0.35.0}/setup.cfg +0 -0
  157. {orionis-0.32.0 → orionis-0.35.0}/setup.py +0 -0
  158. {orionis-0.32.0 → orionis-0.35.0}/tests/__init__.py +0 -0
  159. {orionis-0.32.0 → orionis-0.35.0}/tests/tools/__init__.py +0 -0
  160. {orionis-0.32.0 → orionis-0.35.0}/tests/tools/class_example.py +0 -0
  161. {orionis-0.32.0 → orionis-0.35.0}/tests/tools/test_reflection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.32.0
3
+ Version: 0.35.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
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.32.0"
8
+ VERSION = "0.35.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -2,8 +2,9 @@ from orionis.luminate.container.container import Container
2
2
  from orionis.luminate.cache.app.config import CacheConfig
3
3
  from orionis.luminate.bootstrap.config.register import Register
4
4
  from orionis.luminate.bootstrap.config.bootstrapper import Bootstrapper
5
+ from orionis.luminate.patterns.singleton import SingletonMeta
5
6
 
6
- class App:
7
+ class App(metaclass=SingletonMeta):
7
8
 
8
9
  def __init__(self):
9
10
  self.container = Container()
@@ -1,7 +1,8 @@
1
1
  import traceback
2
2
  from orionis.luminate.app import App
3
+ from orionis.luminate.patterns.singleton import SingletonMeta
3
4
 
4
- class OrionisContext:
5
+ class Orionis(metaclass=SingletonMeta):
5
6
  """
6
7
  Context manager for the Orionis application that handles startup and cleanup.
7
8
 
@@ -87,7 +88,7 @@ class OrionisContext:
87
88
  self.error_info = (exc_val, traceback.format_exc())
88
89
  return False
89
90
 
90
- def is_active(self):
91
+ def isStarted(self):
91
92
  """
92
93
  Check if the application is currently active.
93
94
 
@@ -98,7 +99,7 @@ class OrionisContext:
98
99
  """
99
100
  return self.is_started
100
101
 
101
- def get_error(self):
102
+ def getError(self):
102
103
  """
103
104
  Retrieve the stored error information.
104
105
 
@@ -0,0 +1,44 @@
1
+ import threading
2
+
3
+ class SingletonMeta(type):
4
+ """
5
+ A thread-safe metaclass for implementing the Singleton pattern.
6
+
7
+ This metaclass ensures that only one instance of a class is created,
8
+ even in a multithreaded environment, by using a lock to synchronize
9
+ instance creation.
10
+
11
+ Attributes
12
+ ----------
13
+ _instances : dict
14
+ A dictionary that holds the single instances of the classes using this metaclass.
15
+ _lock : threading.Lock
16
+ A lock to ensure thread-safe instance creation.
17
+ """
18
+ _instances = {}
19
+ _lock = threading.Lock()
20
+
21
+ def __call__(cls, *args, **kwargs):
22
+ """
23
+ Return the singleton instance of the class in a thread-safe manner.
24
+
25
+ If an instance does not already exist, it is created under the protection
26
+ of a lock; otherwise, the existing instance is returned.
27
+
28
+ Parameters
29
+ ----------
30
+ *args : list
31
+ Positional arguments for the class constructor.
32
+ **kwargs : dict
33
+ Keyword arguments for the class constructor.
34
+
35
+ Returns
36
+ -------
37
+ object
38
+ The singleton instance of the class.
39
+ """
40
+ if cls not in cls._instances:
41
+ with cls._lock:
42
+ if cls not in cls._instances:
43
+ cls._instances[cls] = super().__call__(*args, **kwargs)
44
+ return cls._instances[cls]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.32.0
3
+ Version: 0.35.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
@@ -133,6 +133,7 @@ orionis/luminate/installer/setup.py
133
133
  orionis/luminate/installer/upgrade.py
134
134
  orionis/luminate/log/__init__.py
135
135
  orionis/luminate/log/logger.py
136
+ orionis/luminate/patterns/singleton.py
136
137
  orionis/luminate/pipelines/__init__.py
137
138
  orionis/luminate/pipelines/cli_pipeline.py
138
139
  orionis/luminate/publisher/__init__.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes