orionis 0.101.0__tar.gz → 0.103.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 (182) hide show
  1. {orionis-0.101.0/orionis.egg-info → orionis-0.103.0}/PKG-INFO +1 -1
  2. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/container/i_container.py +17 -0
  3. {orionis-0.101.0 → orionis-0.103.0}/orionis/framework.py +1 -1
  4. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/app.py +10 -3
  5. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/container/container.py +16 -0
  6. {orionis-0.101.0/orionis/luminate/bootstrap → orionis-0.103.0/orionis/luminate/foundation/config}/config_bootstrapper.py +1 -1
  7. {orionis-0.101.0/orionis/luminate/bootstrap → orionis-0.103.0/orionis/luminate/foundation/console}/command_bootstrapper.py +5 -3
  8. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/providers/environment/environment__service_provider.py +6 -0
  9. orionis-0.103.0/orionis/luminate/providers/files/paths_provider.py +20 -0
  10. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/providers/service_provider.py +1 -0
  11. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/services/commands/reactor_commands_service.py +2 -4
  12. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/services/config/config_service.py +1 -1
  13. orionis-0.103.0/orionis/luminate/services/environment/__init__.py +0 -0
  14. orionis-0.103.0/orionis/luminate/services/files/__init__.py +0 -0
  15. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/services/files/path_resolver_service.py +7 -15
  16. orionis-0.103.0/orionis/luminate/services/log/__init__.py +0 -0
  17. orionis-0.103.0/orionis/luminate/test/__init__.py +0 -0
  18. {orionis-0.101.0 → orionis-0.103.0/orionis.egg-info}/PKG-INFO +1 -1
  19. {orionis-0.101.0 → orionis-0.103.0}/orionis.egg-info/SOURCES.txt +13 -6
  20. orionis-0.103.0/tests/__init__.py +0 -0
  21. orionis-0.103.0/tests/tools/__init__.py +0 -0
  22. {orionis-0.101.0 → orionis-0.103.0}/LICENCE +0 -0
  23. {orionis-0.101.0 → orionis-0.103.0}/MANIFEST.in +0 -0
  24. {orionis-0.101.0 → orionis-0.103.0}/README.md +0 -0
  25. {orionis-0.101.0 → orionis-0.103.0}/orionis/__init__.py +0 -0
  26. {orionis-0.101.0 → orionis-0.103.0}/orionis/cli_manager.py +0 -0
  27. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/__init__.py +0 -0
  28. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/bootstrap/i_command_bootstrapper.py +0 -0
  29. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/bootstrap/i_config_bootstrapper.py +0 -0
  30. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/bootstrap/i_environment_bootstrapper.py +0 -0
  31. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/config/__init__.py +0 -0
  32. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/config/i_config.py +0 -0
  33. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/__init__.py +0 -0
  34. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/base/__init__.py +0 -0
  35. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/base/i_command.py +0 -0
  36. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/i_command_filter.py +0 -0
  37. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/i_kernel.py +0 -0
  38. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/i_parser.py +0 -0
  39. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/i_task_manager.py +0 -0
  40. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/output/__init__.py +0 -0
  41. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/output/i_console.py +0 -0
  42. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/output/i_executor.py +0 -0
  43. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/console/output/i_progress_bar.py +0 -0
  44. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/container/i_types.py +0 -0
  45. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/__init__.py +0 -0
  46. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/commands/__init__.py +0 -0
  47. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/commands/i_commands_facade.py +0 -0
  48. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/commands/i_scheduler_facade.py +0 -0
  49. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/config/__init__.py +0 -0
  50. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/config/i_config_facade.py +0 -0
  51. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/environment/__init__.py +0 -0
  52. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/environment/i_environment_facade.py +0 -0
  53. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/files/__init__.py +0 -0
  54. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/files/i_path_facade.py +0 -0
  55. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/log/__init__.py +0 -0
  56. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/log/i_log_facade.py +0 -0
  57. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/tests/__init__.py +0 -0
  58. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/facades/tests/i_tests_facade.py +0 -0
  59. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/installer/__init__.py +0 -0
  60. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/installer/i_installer_manager.py +0 -0
  61. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/installer/i_installer_output.py +0 -0
  62. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/installer/i_installer_setup.py +0 -0
  63. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/providers/__init__.py +0 -0
  64. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/providers/i_service_provider.py +0 -0
  65. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/__init__.py +0 -0
  66. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/commands/__init__.py +0 -0
  67. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/commands/i_reactor_commands_service.py +0 -0
  68. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/commands/i_schedule_service.py +0 -0
  69. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/config/__init__.py +0 -0
  70. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/config/i_config_service.py +0 -0
  71. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/environment/__init__.py +0 -0
  72. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/environment/i_environment_service.py +0 -0
  73. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/files/__init__.py +0 -0
  74. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/files/i_path_resolver_service.py +0 -0
  75. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/log/__init__.py +0 -0
  76. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/services/log/i_log_service.py +0 -0
  77. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/support/i_exception_to_dict.py +0 -0
  78. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/support/i_reflection.py +0 -0
  79. {orionis-0.101.0 → orionis-0.103.0}/orionis/contracts/support/i_std.py +0 -0
  80. {orionis-0.101.0 → orionis-0.103.0}/orionis/installer/__init__.py +0 -0
  81. {orionis-0.101.0 → orionis-0.103.0}/orionis/installer/installer_manager.py +0 -0
  82. {orionis-0.101.0 → orionis-0.103.0}/orionis/installer/installer_output.py +0 -0
  83. {orionis-0.101.0 → orionis-0.103.0}/orionis/installer/installer_setup.py +0 -0
  84. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/__init__.py +0 -0
  85. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/app_context.py +0 -0
  86. {orionis-0.101.0/orionis/luminate/bootstrap → orionis-0.103.0/orionis/luminate/config}/__init__.py +0 -0
  87. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/app.py +0 -0
  88. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/auth.py +0 -0
  89. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/cache.py +0 -0
  90. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/cors.py +0 -0
  91. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/database.py +0 -0
  92. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/filesystems.py +0 -0
  93. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/logging.py +0 -0
  94. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/mail.py +0 -0
  95. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/queue.py +0 -0
  96. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/config/session.py +0 -0
  97. {orionis-0.101.0/orionis/luminate/config → orionis-0.103.0/orionis/luminate/console}/__init__.py +0 -0
  98. {orionis-0.101.0/orionis/luminate/console → orionis-0.103.0/orionis/luminate/console/base}/__init__.py +0 -0
  99. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/base/command.py +0 -0
  100. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/command_filter.py +0 -0
  101. {orionis-0.101.0/orionis/luminate/console/base → orionis-0.103.0/orionis/luminate/console/commands}/__init__.py +0 -0
  102. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/commands/cache_clear.py +0 -0
  103. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/commands/help.py +0 -0
  104. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/commands/schedule_work.py +0 -0
  105. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/commands/tests.py +0 -0
  106. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/commands/version.py +0 -0
  107. {orionis-0.101.0/orionis/luminate/console/commands → orionis-0.103.0/orionis/luminate/console/exceptions}/__init__.py +0 -0
  108. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/exceptions/cli_exception.py +0 -0
  109. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/kernel.py +0 -0
  110. {orionis-0.101.0/orionis/luminate/console/exceptions → orionis-0.103.0/orionis/luminate/console/output}/__init__.py +0 -0
  111. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/output/console.py +0 -0
  112. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/output/executor.py +0 -0
  113. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/output/progress_bar.py +0 -0
  114. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/output/styles.py +0 -0
  115. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/console/parser.py +0 -0
  116. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/container/exception.py +0 -0
  117. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/container/types.py +0 -0
  118. {orionis-0.101.0/orionis/luminate/console/output → orionis-0.103.0/orionis/luminate/facades}/__init__.py +0 -0
  119. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/facades/app.py +0 -0
  120. {orionis-0.101.0/orionis/luminate/facades → orionis-0.103.0/orionis/luminate/facades/commands}/__init__.py +0 -0
  121. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/facades/commands/commands_facade.py +0 -0
  122. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/facades/commands/scheduler_facade.py +0 -0
  123. {orionis-0.101.0/orionis/luminate/facades/commands → orionis-0.103.0/orionis/luminate/facades/config}/__init__.py +0 -0
  124. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/facades/config/config_facade.py +0 -0
  125. {orionis-0.101.0/orionis/luminate/facades/config → orionis-0.103.0/orionis/luminate/facades/environment}/__init__.py +0 -0
  126. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/facades/environment/environment_facade.py +0 -0
  127. {orionis-0.101.0/orionis/luminate/facades/environment → orionis-0.103.0/orionis/luminate/facades/files}/__init__.py +0 -0
  128. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/facades/files/path_facade.py +0 -0
  129. {orionis-0.101.0/orionis/luminate/facades/files → orionis-0.103.0/orionis/luminate/facades/log}/__init__.py +0 -0
  130. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/facades/log/log_facade.py +0 -0
  131. {orionis-0.101.0/orionis/luminate/facades/log → orionis-0.103.0/orionis/luminate/facades/tests}/__init__.py +0 -0
  132. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/facades/tests/tests_facade.py +0 -0
  133. {orionis-0.101.0/orionis/luminate/facades/tests → orionis-0.103.0/orionis/luminate/foundation}/__init__.py +0 -0
  134. {orionis-0.101.0/orionis/luminate/patterns → orionis-0.103.0/orionis/luminate/foundation/config}/__init__.py +0 -0
  135. {orionis-0.101.0/orionis/luminate/providers → orionis-0.103.0/orionis/luminate/foundation/console}/__init__.py +0 -0
  136. {orionis-0.101.0/orionis/luminate/providers/commands → orionis-0.103.0/orionis/luminate/foundation/environment}/__init__.py +0 -0
  137. {orionis-0.101.0/orionis/luminate/bootstrap → orionis-0.103.0/orionis/luminate/foundation/environment}/environment_bootstrapper.py +0 -0
  138. {orionis-0.101.0/orionis/luminate/providers/config → orionis-0.103.0/orionis/luminate/foundation/exceptions}/__init__.py +0 -0
  139. {orionis-0.101.0/orionis/luminate/bootstrap → orionis-0.103.0/orionis/luminate/foundation/exceptions}/exception_bootstrapper.py +0 -0
  140. {orionis-0.101.0/orionis/luminate/providers/environment → orionis-0.103.0/orionis/luminate/foundation/providers}/__init__.py +0 -0
  141. {orionis-0.101.0/orionis/luminate/bootstrap → orionis-0.103.0/orionis/luminate/foundation/providers}/service_providers_bootstrapper.py +0 -0
  142. {orionis-0.101.0/orionis/luminate/providers/log → orionis-0.103.0/orionis/luminate/patterns}/__init__.py +0 -0
  143. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/patterns/singleton.py +0 -0
  144. {orionis-0.101.0/orionis/luminate/services → orionis-0.103.0/orionis/luminate/providers}/__init__.py +0 -0
  145. {orionis-0.101.0/orionis/luminate/services → orionis-0.103.0/orionis/luminate/providers}/commands/__init__.py +0 -0
  146. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/providers/commands/reactor_commands_service_provider.py +0 -0
  147. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/providers/commands/scheduler_provider.py +0 -0
  148. {orionis-0.101.0/orionis/luminate/services → orionis-0.103.0/orionis/luminate/providers}/config/__init__.py +0 -0
  149. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/providers/config/config_service_provider.py +0 -0
  150. {orionis-0.101.0/orionis/luminate/services → orionis-0.103.0/orionis/luminate/providers}/environment/__init__.py +0 -0
  151. {orionis-0.101.0/orionis/luminate/services → orionis-0.103.0/orionis/luminate/providers}/files/__init__.py +0 -0
  152. {orionis-0.101.0/orionis/luminate/services → orionis-0.103.0/orionis/luminate/providers}/log/__init__.py +0 -0
  153. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/providers/log/log_service_provider.py +0 -0
  154. {orionis-0.101.0/orionis/luminate/test → orionis-0.103.0/orionis/luminate/services}/__init__.py +0 -0
  155. {orionis-0.101.0/tests → orionis-0.103.0/orionis/luminate/services/commands}/__init__.py +0 -0
  156. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/services/commands/scheduler_service.py +0 -0
  157. {orionis-0.101.0/tests/tools → orionis-0.103.0/orionis/luminate/services/config}/__init__.py +0 -0
  158. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/services/environment/environment_service.py +0 -0
  159. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/services/log/log_service.py +0 -0
  160. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/support/dot_dict.py +0 -0
  161. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/support/exception_to_dict.py +0 -0
  162. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/support/reflection.py +0 -0
  163. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/support/std.py +0 -0
  164. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/test/exception.py +0 -0
  165. {orionis-0.101.0 → orionis-0.103.0}/orionis/luminate/test/unit_test.py +0 -0
  166. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/ascii/icon.ascii +0 -0
  167. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/ascii/info.ascii +0 -0
  168. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/bg/galaxy.jpg +0 -0
  169. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/favicon/OrionisFrameworkFavicon.png +0 -0
  170. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/logos/OrionisFramework.jpg +0 -0
  171. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/logos/OrionisFramework.png +0 -0
  172. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/logos/OrionisFramework.psd +0 -0
  173. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/logos/OrionisFramework2.png +0 -0
  174. {orionis-0.101.0 → orionis-0.103.0}/orionis/static/logos/OrionisFramework3.png +0 -0
  175. {orionis-0.101.0 → orionis-0.103.0}/orionis.egg-info/dependency_links.txt +0 -0
  176. {orionis-0.101.0 → orionis-0.103.0}/orionis.egg-info/entry_points.txt +0 -0
  177. {orionis-0.101.0 → orionis-0.103.0}/orionis.egg-info/requires.txt +0 -0
  178. {orionis-0.101.0 → orionis-0.103.0}/orionis.egg-info/top_level.txt +0 -0
  179. {orionis-0.101.0 → orionis-0.103.0}/setup.cfg +0 -0
  180. {orionis-0.101.0 → orionis-0.103.0}/setup.py +0 -0
  181. {orionis-0.101.0 → orionis-0.103.0}/tests/tools/class_example.py +0 -0
  182. {orionis-0.101.0 → orionis-0.103.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.101.0
3
+ Version: 0.103.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
@@ -178,6 +178,23 @@ class IContainer(ABC):
178
178
  """
179
179
  pass
180
180
 
181
+ @abstractmethod
182
+ def bound(self, abstract: Any) -> bool:
183
+ """
184
+ Checks if a service is bound in the container.
185
+
186
+ Parameters
187
+ ----------
188
+ abstract : Any
189
+ The service class or alias to check.
190
+
191
+ Returns
192
+ -------
193
+ bool
194
+ True if the service is bound, False otherwise.
195
+ """
196
+ pass
197
+
181
198
  @abstractmethod
182
199
  def make(self, abstract: Any) -> Any:
183
200
  """
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.101.0"
8
+ VERSION = "0.103.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -1,13 +1,14 @@
1
1
  from typing import Any, Callable
2
2
  from orionis.luminate.container.container import Container
3
- from orionis.luminate.bootstrap.config_bootstrapper import ConfigBootstrapper
4
- from orionis.luminate.bootstrap.command_bootstrapper import CommandsBootstrapper
5
- from orionis.luminate.bootstrap.environment_bootstrapper import EnvironmentBootstrapper
3
+ from orionis.luminate.foundation.config.config_bootstrapper import ConfigBootstrapper
4
+ from orionis.luminate.foundation.console.command_bootstrapper import CommandsBootstrapper
5
+ from orionis.luminate.foundation.environment.environment_bootstrapper import EnvironmentBootstrapper
6
6
  from orionis.luminate.patterns.singleton import SingletonMeta
7
7
  from orionis.luminate.providers.commands.reactor_commands_service_provider import ReactorCommandsServiceProvider
8
8
  from orionis.luminate.providers.commands.scheduler_provider import ScheduleServiceProvider
9
9
  from orionis.luminate.providers.environment.environment__service_provider import EnvironmentServiceProvider
10
10
  from orionis.luminate.providers.config.config_service_provider import ConfigServiceProvider
11
+ from orionis.luminate.providers.files.paths_provider import PathResolverProvider
11
12
  from orionis.luminate.providers.log.log_service_provider import LogServiceProvider
12
13
 
13
14
  class Application(metaclass=SingletonMeta):
@@ -211,6 +212,12 @@ class Application(metaclass=SingletonMeta):
211
212
  This method ensures that environment variables are loaded and available
212
213
  for use during the bootstrapping process.
213
214
  """
215
+ # Load the path provider, which is responsible for resolving file paths.
216
+ # Developers can interact with it through the facade "orionis.luminate.facades.files.paths.paths_facade.Paths".
217
+ _path_provider = PathResolverProvider(app=self.container)
218
+ _path_provider.register()
219
+ _path_provider.boot()
220
+
214
221
  # Load the environment provider, which is responsible for returning values from the .env file.
215
222
  # This provider is essential as it must be loaded first to resolve environment variables.
216
223
  # Developers can interact with it through the facade "orionis.luminate.facades.environment.environment_facade.Env".
@@ -296,6 +296,22 @@ class Container(IContainer):
296
296
 
297
297
  return False
298
298
 
299
+ def bound(self, abstract: Any) -> bool:
300
+ """
301
+ Checks if a service is bound in the container.
302
+
303
+ Parameters
304
+ ----------
305
+ abstract : Any
306
+ The service class or alias to check.
307
+
308
+ Returns
309
+ -------
310
+ bool
311
+ True if the service is bound, False otherwise.
312
+ """
313
+ return self.has(abstract)
314
+
299
315
  def make(self, abstract: Any) -> Any:
300
316
  """
301
317
  Create and return an instance of a registered service.
@@ -4,7 +4,7 @@ from dataclasses import asdict
4
4
  from typing import Any, Dict
5
5
  from orionis.contracts.bootstrap.i_config_bootstrapper import IConfigBootstrapper
6
6
  from orionis.contracts.config.i_config import IConfig
7
- from orionis.luminate.bootstrap.exception_bootstrapper import BootstrapRuntimeError
7
+ from orionis.luminate.foundation.exceptions.exception_bootstrapper import BootstrapRuntimeError
8
8
 
9
9
  class ConfigBootstrapper(IConfigBootstrapper):
10
10
  """
@@ -3,7 +3,7 @@ import importlib
3
3
  import inspect
4
4
  from typing import Any, Callable, Dict, List
5
5
  from orionis.contracts.bootstrap.i_command_bootstrapper import ICommandsBootstrapper
6
- from orionis.luminate.bootstrap.exception_bootstrapper import BootstrapRuntimeError
6
+ from orionis.luminate.foundation.exceptions.exception_bootstrapper import BootstrapRuntimeError
7
7
  from orionis.luminate.console.base.command import BaseCommand
8
8
 
9
9
  class CommandsBootstrapper(ICommandsBootstrapper):
@@ -58,7 +58,7 @@ class CommandsBootstrapper(ICommandsBootstrapper):
58
58
  # Define the directories to scan for commands
59
59
  command_dirs = [
60
60
  base_path / "app" / "console" / "commands", # Developer-defined commands
61
- pathlib.Path(__file__).resolve().parent.parent / "console" / "commands" # Core commands
61
+ pathlib.Path(__file__).resolve().parent.parent.parent / "console" / "commands" # Core commands
62
62
  ]
63
63
 
64
64
  for cmd_dir in command_dirs:
@@ -170,4 +170,6 @@ class CommandsBootstrapper(ICommandsBootstrapper):
170
170
  """
171
171
  if signature is None:
172
172
  return self._commands
173
- return self._commands[signature] or {}
173
+ if signature not in self._commands:
174
+ raise KeyError(f"Command '{signature}' not found.")
175
+ return self._commands[signature]
@@ -1,5 +1,6 @@
1
1
  from orionis.luminate.providers.service_provider import ServiceProvider
2
2
  from orionis.luminate.services.environment.environment_service import EnvironmentService
3
+ from orionis.luminate.services.files.path_resolver_service import PathResolverService
3
4
 
4
5
  class EnvironmentServiceProvider(ServiceProvider):
5
6
 
@@ -7,6 +8,11 @@ class EnvironmentServiceProvider(ServiceProvider):
7
8
  """
8
9
  Registers services or bindings into the given container.
9
10
  """
11
+ self.beferoBootstrapping = True
12
+
13
+ if not self.app.bound(PathResolverService):
14
+ self.app.singleton(PathResolverService)
15
+
10
16
  self._container_id = self.app.singleton(EnvironmentService)
11
17
 
12
18
  def boot(self) -> None:
@@ -0,0 +1,20 @@
1
+ from orionis.luminate.providers.service_provider import ServiceProvider
2
+ from orionis.luminate.services.files.path_resolver_service import PathResolverService
3
+
4
+ class PathResolverProvider(ServiceProvider):
5
+
6
+ def register(self) -> None:
7
+ """
8
+ Registers services or bindings into the given container.
9
+ """
10
+ self.beferoBootstrapping = True
11
+ self._container_id = self.app.singleton(PathResolverService)
12
+
13
+ def boot(self) -> None:
14
+ """
15
+ Boot the service provider.
16
+
17
+ This method is intended to be overridden by subclasses to perform
18
+ any necessary bootstrapping or initialization tasks.
19
+ """
20
+ self.app.make(self._container_id)
@@ -21,6 +21,7 @@ class ServiceProvider(IServiceProvider):
21
21
  The container instance to be used by the service provider.
22
22
  """
23
23
  self.app = app
24
+ self.beferoBootstrapping = False
24
25
 
25
26
  def register(self) -> None:
26
27
  """
@@ -1,7 +1,7 @@
1
1
  import time
2
2
  from typing import Any, Dict, Optional
3
3
  from orionis.contracts.services.commands.i_reactor_commands_service import IReactorCommandsService
4
- from orionis.luminate.bootstrap.command_bootstrapper import CommandsBootstrapper
4
+ from orionis.luminate.foundation.console.command_bootstrapper import CommandsBootstrapper
5
5
  from orionis.luminate.console.base.command import BaseCommand
6
6
  from orionis.luminate.console.command_filter import CommandFilter
7
7
  from orionis.luminate.console.exceptions.cli_exception import CLIOrionisException
@@ -119,9 +119,7 @@ class ReactorCommandsService(IReactorCommandsService):
119
119
  self.console_executor.running(program=signature)
120
120
 
121
121
  # Retrieve command from bootstrapper
122
- command = self.commands_bootstrapper.get(signature, None)
123
- if not command:
124
- raise CLIOrionisException(f"Command not found: {signature}")
122
+ command = self.commands_bootstrapper.get(signature)
125
123
 
126
124
  # Parse command arguments dynamically based on execution context
127
125
  args_dict = self._parse_arguments(command.get('arguments', []), vars, *args, **kwargs)
@@ -1,7 +1,7 @@
1
1
  import copy
2
2
  from typing import Any, Optional
3
3
  from orionis.contracts.services.config.i_config_service import IConfigService
4
- from orionis.luminate.bootstrap.config_bootstrapper import ConfigBootstrapper
4
+ from orionis.luminate.foundation.config.config_bootstrapper import ConfigBootstrapper
5
5
 
6
6
  class ConfigService(IConfigService):
7
7
 
@@ -1,14 +1,10 @@
1
1
  import os
2
- import threading
3
2
  from pathlib import Path
4
3
  from orionis.contracts.services.files.i_path_resolver_service import IPathResolverService
5
4
 
6
5
  class PathResolverService(IPathResolverService):
7
6
 
8
- _lock = threading.Lock()
9
- _instance = None
10
-
11
- def __new__(cls):
7
+ def __init__(self):
12
8
  """
13
9
  Override the __new__ method to ensure only one instance of the class is created.
14
10
 
@@ -17,12 +13,7 @@ class PathResolverService(IPathResolverService):
17
13
  PathResolverService
18
14
  The singleton instance of the PathResolverService class.
19
15
  """
20
- # Use the lock to ensure thread-safe instantiation
21
- with cls._lock:
22
- if cls._instance is None:
23
- cls._instance = super().__new__(cls)
24
- cls._instance.base_path = Path(os.getcwd())
25
- return cls._instance
16
+ self.base_path = Path(os.getcwd())
26
17
 
27
18
  def resolve(self, route: str) -> str:
28
19
  """
@@ -51,9 +42,10 @@ class PathResolverService(IPathResolverService):
51
42
  real_path = (self.base_path / route).resolve()
52
43
 
53
44
  # Validate that the path exists and is either a directory or a file
54
- if not real_path.exists():
55
- raise Exception(f"The requested path does not exist or is invalid: {real_path}")
56
- if not (real_path.is_dir() or real_path.is_file()):
57
- raise Exception(f"The requested path does not exist or is invalid: {real_path}")
45
+ if not str(real_path).endswith('.log'):
46
+ if not real_path.exists():
47
+ raise Exception(f"The requested path does not exist or is invalid: {real_path}")
48
+ if not (real_path.is_dir() or real_path.is_file()):
49
+ raise Exception(f"The requested path does not exist or is invalid: {real_path}")
58
50
 
59
51
  return str(real_path)
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.101.0
3
+ Version: 0.103.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
@@ -72,12 +72,6 @@ orionis/installer/installer_setup.py
72
72
  orionis/luminate/__init__.py
73
73
  orionis/luminate/app.py
74
74
  orionis/luminate/app_context.py
75
- orionis/luminate/bootstrap/__init__.py
76
- orionis/luminate/bootstrap/command_bootstrapper.py
77
- orionis/luminate/bootstrap/config_bootstrapper.py
78
- orionis/luminate/bootstrap/environment_bootstrapper.py
79
- orionis/luminate/bootstrap/exception_bootstrapper.py
80
- orionis/luminate/bootstrap/service_providers_bootstrapper.py
81
75
  orionis/luminate/config/__init__.py
82
76
  orionis/luminate/config/app.py
83
77
  orionis/luminate/config/auth.py
@@ -126,6 +120,17 @@ orionis/luminate/facades/log/__init__.py
126
120
  orionis/luminate/facades/log/log_facade.py
127
121
  orionis/luminate/facades/tests/__init__.py
128
122
  orionis/luminate/facades/tests/tests_facade.py
123
+ orionis/luminate/foundation/__init__.py
124
+ orionis/luminate/foundation/config/__init__.py
125
+ orionis/luminate/foundation/config/config_bootstrapper.py
126
+ orionis/luminate/foundation/console/__init__.py
127
+ orionis/luminate/foundation/console/command_bootstrapper.py
128
+ orionis/luminate/foundation/environment/__init__.py
129
+ orionis/luminate/foundation/environment/environment_bootstrapper.py
130
+ orionis/luminate/foundation/exceptions/__init__.py
131
+ orionis/luminate/foundation/exceptions/exception_bootstrapper.py
132
+ orionis/luminate/foundation/providers/__init__.py
133
+ orionis/luminate/foundation/providers/service_providers_bootstrapper.py
129
134
  orionis/luminate/patterns/__init__.py
130
135
  orionis/luminate/patterns/singleton.py
131
136
  orionis/luminate/providers/__init__.py
@@ -137,6 +142,8 @@ orionis/luminate/providers/config/__init__.py
137
142
  orionis/luminate/providers/config/config_service_provider.py
138
143
  orionis/luminate/providers/environment/__init__.py
139
144
  orionis/luminate/providers/environment/environment__service_provider.py
145
+ orionis/luminate/providers/files/__init__.py
146
+ orionis/luminate/providers/files/paths_provider.py
140
147
  orionis/luminate/providers/log/__init__.py
141
148
  orionis/luminate/providers/log/log_service_provider.py
142
149
  orionis/luminate/services/__init__.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes