orionis 0.137.0__tar.gz → 0.139.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 (190) hide show
  1. {orionis-0.137.0/orionis.egg-info → orionis-0.139.0}/PKG-INFO +1 -1
  2. {orionis-0.137.0 → orionis-0.139.0}/orionis/framework.py +1 -1
  3. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/application.py +31 -5
  4. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/container/container.py +8 -0
  5. {orionis-0.137.0 → orionis-0.139.0/orionis.egg-info}/PKG-INFO +1 -1
  6. {orionis-0.137.0 → orionis-0.139.0}/LICENCE +0 -0
  7. {orionis-0.137.0 → orionis-0.139.0}/MANIFEST.in +0 -0
  8. {orionis-0.137.0 → orionis-0.139.0}/README.md +0 -0
  9. {orionis-0.137.0 → orionis-0.139.0}/orionis/__init__.py +0 -0
  10. {orionis-0.137.0 → orionis-0.139.0}/orionis/cli_manager.py +0 -0
  11. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/__init__.py +0 -0
  12. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/contracts/__init__.py +0 -0
  13. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/contracts/i_installer_manager.py +0 -0
  14. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/contracts/i_installer_output.py +0 -0
  15. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/contracts/i_installer_setup.py +0 -0
  16. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/manager.py +0 -0
  17. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/output/__init__.py +0 -0
  18. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/output/output.py +0 -0
  19. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/setup/__init__.py +0 -0
  20. {orionis-0.137.0 → orionis-0.139.0}/orionis/installer/setup/setup.py +0 -0
  21. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/__init__.py +0 -0
  22. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/__init__.py +0 -0
  23. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/app.py +0 -0
  24. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/auth.py +0 -0
  25. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/cache.py +0 -0
  26. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/cors.py +0 -0
  27. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/database.py +0 -0
  28. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/filesystems.py +0 -0
  29. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/logging.py +0 -0
  30. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/mail.py +0 -0
  31. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/queue.py +0 -0
  32. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/config/session.py +0 -0
  33. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/__init__.py +0 -0
  34. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/base/__init__.py +0 -0
  35. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/base/command.py +0 -0
  36. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/command_filter.py +0 -0
  37. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/commands/__init__.py +0 -0
  38. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/commands/cache_clear.py +0 -0
  39. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/commands/help.py +0 -0
  40. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/commands/schedule_work.py +0 -0
  41. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/commands/tests.py +0 -0
  42. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/commands/version.py +0 -0
  43. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/exceptions/__init__.py +0 -0
  44. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/exceptions/cli_exception.py +0 -0
  45. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/kernel.py +0 -0
  46. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/output/__init__.py +0 -0
  47. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/output/console.py +0 -0
  48. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/output/executor.py +0 -0
  49. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/output/progress_bar.py +0 -0
  50. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/output/styles.py +0 -0
  51. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/console/parser.py +0 -0
  52. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/container/exception.py +0 -0
  53. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/container/types.py +0 -0
  54. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/__init__.py +0 -0
  55. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/config/__init__.py +0 -0
  56. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/config/i_config.py +0 -0
  57. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/__init__.py +0 -0
  58. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/base/__init__.py +0 -0
  59. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/base/i_command.py +0 -0
  60. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/i_command_filter.py +0 -0
  61. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/i_kernel.py +0 -0
  62. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/i_parser.py +0 -0
  63. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/i_task_manager.py +0 -0
  64. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/output/__init__.py +0 -0
  65. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/output/i_console.py +0 -0
  66. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/output/i_executor.py +0 -0
  67. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/console/output/i_progress_bar.py +0 -0
  68. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/container/i_container.py +0 -0
  69. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/container/i_types.py +0 -0
  70. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/__init__.py +0 -0
  71. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/commands/__init__.py +0 -0
  72. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/commands/i_commands_facade.py +0 -0
  73. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/commands/i_scheduler_facade.py +0 -0
  74. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/config/__init__.py +0 -0
  75. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/config/i_config_facade.py +0 -0
  76. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/environment/__init__.py +0 -0
  77. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/environment/i_environment_facade.py +0 -0
  78. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/files/__init__.py +0 -0
  79. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/files/i_path_facade.py +0 -0
  80. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/log/__init__.py +0 -0
  81. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/log/i_log_facade.py +0 -0
  82. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/tests/__init__.py +0 -0
  83. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/facades/tests/i_tests_facade.py +0 -0
  84. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/__init__.py +0 -0
  85. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/config/__init__.py +0 -0
  86. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/config/i_config_bootstrapper.py +0 -0
  87. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/console/__init__.py +0 -0
  88. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/console/i_command_bootstrapper.py +0 -0
  89. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/environment/__init__.py +0 -0
  90. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/environment/i_environment_bootstrapper.py +0 -0
  91. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/i_bootstraper.py +0 -0
  92. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/providers/__init__.py +0 -0
  93. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/foundation/providers/i_service_providers_bootstrapper.py +0 -0
  94. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/providers/__init__.py +0 -0
  95. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/providers/i_service_provider.py +0 -0
  96. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/__init__.py +0 -0
  97. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/commands/__init__.py +0 -0
  98. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/commands/i_reactor_commands_service.py +0 -0
  99. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/commands/i_schedule_service.py +0 -0
  100. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/config/__init__.py +0 -0
  101. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/config/i_config_service.py +0 -0
  102. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/environment/__init__.py +0 -0
  103. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/environment/i_environment_service.py +0 -0
  104. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/files/__init__.py +0 -0
  105. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/files/i_path_resolver_service.py +0 -0
  106. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/log/__init__.py +0 -0
  107. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/services/log/i_log_service.py +0 -0
  108. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/support/i_exception_to_dict.py +0 -0
  109. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/support/i_reflection.py +0 -0
  110. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/contracts/support/i_std.py +0 -0
  111. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/__init__.py +0 -0
  112. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/app_facade.py +0 -0
  113. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/commands/__init__.py +0 -0
  114. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/commands/commands_facade.py +0 -0
  115. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/commands/scheduler_facade.py +0 -0
  116. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/config/__init__.py +0 -0
  117. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/config/config_facade.py +0 -0
  118. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/environment/__init__.py +0 -0
  119. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/environment/environment_facade.py +0 -0
  120. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/files/__init__.py +0 -0
  121. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/files/path_facade.py +0 -0
  122. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/log/__init__.py +0 -0
  123. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/log/log_facade.py +0 -0
  124. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/tests/__init__.py +0 -0
  125. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/facades/tests/tests_facade.py +0 -0
  126. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/__init__.py +0 -0
  127. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/config/__init__.py +0 -0
  128. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/config/config_bootstrapper.py +0 -0
  129. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/console/__init__.py +0 -0
  130. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/console/command_bootstrapper.py +0 -0
  131. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/environment/__init__.py +0 -0
  132. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/environment/environment_bootstrapper.py +0 -0
  133. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/exceptions/__init__.py +0 -0
  134. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/exceptions/exception_bootstrapper.py +0 -0
  135. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/providers/__init__.py +0 -0
  136. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/foundation/providers/service_providers_bootstrapper.py +0 -0
  137. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/patterns/__init__.py +0 -0
  138. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/patterns/singleton.py +0 -0
  139. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/__init__.py +0 -0
  140. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/commands/__init__.py +0 -0
  141. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/commands/reactor_commands_service_provider.py +0 -0
  142. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/commands/scheduler_provider.py +0 -0
  143. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/config/__init__.py +0 -0
  144. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/config/config_service_provider.py +0 -0
  145. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/environment/__init__.py +0 -0
  146. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/environment/environment__service_provider.py +0 -0
  147. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/files/__init__.py +0 -0
  148. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/files/paths_provider.py +0 -0
  149. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/log/__init__.py +0 -0
  150. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/log/log_service_provider.py +0 -0
  151. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/providers/service_provider.py +0 -0
  152. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/__init__.py +0 -0
  153. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/commands/__init__.py +0 -0
  154. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/commands/reactor_commands_service.py +0 -0
  155. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/commands/scheduler_service.py +0 -0
  156. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/config/__init__.py +0 -0
  157. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/config/config_service.py +0 -0
  158. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/environment/__init__.py +0 -0
  159. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/environment/environment_service.py +0 -0
  160. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/files/__init__.py +0 -0
  161. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/files/path_resolver_service.py +0 -0
  162. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/log/__init__.py +0 -0
  163. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/services/log/log_service.py +0 -0
  164. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/support/dot_dict.py +0 -0
  165. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/support/exception_to_dict.py +0 -0
  166. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/support/reflection.py +0 -0
  167. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/support/std.py +0 -0
  168. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/test/__init__.py +0 -0
  169. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/test/exception.py +0 -0
  170. {orionis-0.137.0 → orionis-0.139.0}/orionis/luminate/test/unit_test.py +0 -0
  171. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/ascii/icon.ascii +0 -0
  172. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/ascii/info.ascii +0 -0
  173. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/bg/galaxy.jpg +0 -0
  174. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/favicon/OrionisFrameworkFavicon.png +0 -0
  175. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/logos/OrionisFramework.jpg +0 -0
  176. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/logos/OrionisFramework.png +0 -0
  177. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/logos/OrionisFramework.psd +0 -0
  178. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/logos/OrionisFramework2.png +0 -0
  179. {orionis-0.137.0 → orionis-0.139.0}/orionis/static/logos/OrionisFramework3.png +0 -0
  180. {orionis-0.137.0 → orionis-0.139.0}/orionis.egg-info/SOURCES.txt +0 -0
  181. {orionis-0.137.0 → orionis-0.139.0}/orionis.egg-info/dependency_links.txt +0 -0
  182. {orionis-0.137.0 → orionis-0.139.0}/orionis.egg-info/entry_points.txt +0 -0
  183. {orionis-0.137.0 → orionis-0.139.0}/orionis.egg-info/requires.txt +0 -0
  184. {orionis-0.137.0 → orionis-0.139.0}/orionis.egg-info/top_level.txt +0 -0
  185. {orionis-0.137.0 → orionis-0.139.0}/setup.cfg +0 -0
  186. {orionis-0.137.0 → orionis-0.139.0}/setup.py +0 -0
  187. {orionis-0.137.0 → orionis-0.139.0}/tests/__init__.py +0 -0
  188. {orionis-0.137.0 → orionis-0.139.0}/tests/tools/__init__.py +0 -0
  189. {orionis-0.137.0 → orionis-0.139.0}/tests/tools/class_example.py +0 -0
  190. {orionis-0.137.0 → orionis-0.139.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.137.0
3
+ Version: 0.139.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.137.0"
8
+ VERSION = "0.139.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -65,6 +65,17 @@ class Application(metaclass=SingletonMeta):
65
65
  raise RuntimeError("Application has not been initialized yet. Please create an instance first.")
66
66
  return SingletonMeta._instances[cls]
67
67
 
68
+ @classmethod
69
+ def reset(cls):
70
+ """
71
+ Resets the application instance if it exists.
72
+
73
+ This method is used to reset the application instance and clear the singleton instances
74
+ stored in the `SingletonMeta` class.
75
+ """
76
+ if cls in SingletonMeta._instances:
77
+ del SingletonMeta._instances[cls]
78
+
68
79
  def __init__(self, container: Container):
69
80
  """
70
81
  Initializes the Application instance.
@@ -353,11 +364,8 @@ def app_context():
353
364
 
354
365
  # Check if the application has been booted
355
366
  if not Application.booted:
356
- # Create a new application instance
357
- app = Application(Container())
358
- app.boot()
367
+ app = Application(Container()).boot()
359
368
  else:
360
- # Get the current application instance
361
369
  app = Application.getCurrentInstance()
362
370
 
363
371
  # Yield the application instance
@@ -375,4 +383,22 @@ def app_booted():
375
383
  Returns:
376
384
  bool: True if the application has been booted, False otherwise.
377
385
  """
378
- return Application.booted
386
+ return Application.booted
387
+
388
+ def orionis():
389
+ """
390
+ Creates a new instance of the Orionis application.
391
+
392
+ Ensures that any existing singleton instance of `Application` is removed before
393
+ creating a fresh instance. It resets the singleton instances stored in `SingletonMeta`
394
+ and `Container`.
395
+
396
+ Returns
397
+ -------
398
+ Application
399
+ A new instance of the Orionis application.
400
+ """
401
+ Container.reset()
402
+ Application.reset()
403
+
404
+ return Application(Container())
@@ -23,6 +23,14 @@ class Container(IContainer):
23
23
  _instance = None
24
24
  _lock = Lock()
25
25
 
26
+ @classmethod
27
+ def reset(cls):
28
+ """
29
+ Reset the container instance to None, allowing a new instance to be created.
30
+ """
31
+ cls._instance = None
32
+ super().__new__(cls)
33
+
26
34
  def __new__(cls):
27
35
  if cls._instance is None:
28
36
  with cls._lock:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.137.0
3
+ Version: 0.139.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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes