orionis 0.488.0__tar.gz → 0.489.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 (550) hide show
  1. {orionis-0.488.0/orionis.egg-info → orionis-0.489.0}/PKG-INFO +1 -1
  2. {orionis-0.488.0/orionis/console/base → orionis-0.489.0/orionis/console/base/contracts}/scheduler.py +3 -21
  3. orionis-0.489.0/orionis/console/base/scheduler.py +126 -0
  4. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/help.py +2 -1
  5. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/scheduler_list.py +2 -4
  6. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/scheduler_work.py +1 -0
  7. orionis-0.489.0/orionis/console/contracts/listener.py +132 -0
  8. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/core/reactor.py +9 -4
  9. orionis-0.489.0/orionis/console/entities/request.py +35 -0
  10. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/kernel.py +23 -22
  11. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/output/console.py +5 -25
  12. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/tasks/event.py +1 -1
  13. orionis-0.489.0/orionis/failure/catch.py +148 -0
  14. orionis-0.489.0/orionis/failure/contracts/catch.py +91 -0
  15. orionis-0.489.0/orionis/failure/entities/throwable.py +33 -0
  16. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/application.py +3 -1
  17. orionis-0.489.0/orionis/foundation/providers/catch_provider.py +49 -0
  18. {orionis-0.488.0 → orionis-0.489.0}/orionis/metadata/framework.py +1 -1
  19. {orionis-0.488.0 → orionis-0.489.0/orionis.egg-info}/PKG-INFO +1 -1
  20. {orionis-0.488.0 → orionis-0.489.0}/orionis.egg-info/SOURCES.txt +10 -2
  21. orionis-0.489.0/tests/testing/records/__init__.py +0 -0
  22. orionis-0.489.0/tests/testing/validators/__init__.py +0 -0
  23. orionis-0.489.0/tests/testing/view/__init__.py +0 -0
  24. orionis-0.488.0/orionis/console/contracts/event_listener.py +0 -27
  25. orionis-0.488.0/orionis/services/file/storage.py +0 -7
  26. {orionis-0.488.0 → orionis-0.489.0}/LICENCE +0 -0
  27. {orionis-0.488.0 → orionis-0.489.0}/MANIFEST.in +0 -0
  28. {orionis-0.488.0 → orionis-0.489.0}/README.md +0 -0
  29. {orionis-0.488.0 → orionis-0.489.0}/orionis/__init__.py +0 -0
  30. {orionis-0.488.0 → orionis-0.489.0}/orionis/app.py +0 -0
  31. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/__init__.py +0 -0
  32. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/args/__init__.py +0 -0
  33. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/args/argument.py +0 -0
  34. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/args/enums/__init__.py +0 -0
  35. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/args/enums/actions.py +0 -0
  36. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/base/__init__.py +0 -0
  37. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/base/command.py +0 -0
  38. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/base/contracts/__init__.py +0 -0
  39. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/base/contracts/command.py +0 -0
  40. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/__init__.py +0 -0
  41. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/cache.py +0 -0
  42. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/publisher.py +0 -0
  43. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/test.py +0 -0
  44. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/version.py +0 -0
  45. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/commands/workflow.py +0 -0
  46. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/contracts/__init__.py +0 -0
  47. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/contracts/event.py +0 -0
  48. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/contracts/kernel.py +0 -0
  49. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/contracts/reactor.py +0 -0
  50. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/contracts/schedule.py +0 -0
  51. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/core/__init__.py +0 -0
  52. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/dumper/__init__.py +0 -0
  53. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/dumper/contracts/__init__.py +0 -0
  54. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/dumper/contracts/dump.py +0 -0
  55. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/dumper/dump.py +0 -0
  56. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/dynamic/__init__.py +0 -0
  57. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/dynamic/contracts/__init__.py +0 -0
  58. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
  59. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/dynamic/progress_bar.py +0 -0
  60. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/entities/__init__.py +0 -0
  61. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/entities/listeners.py +0 -0
  62. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/enums/__init__.py +0 -0
  63. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/enums/command.py +0 -0
  64. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/enums/event.py +0 -0
  65. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/exceptions/__init__.py +0 -0
  66. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/exceptions/cli_exception.py +0 -0
  67. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
  68. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
  69. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
  70. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/output/__init__.py +0 -0
  71. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/output/contracts/__init__.py +0 -0
  72. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/output/contracts/console.py +0 -0
  73. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/output/contracts/executor.py +0 -0
  74. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/output/enums/__init__.py +0 -0
  75. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/output/enums/styles.py +0 -0
  76. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/output/executor.py +0 -0
  77. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/tasks/__init__.py +0 -0
  78. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/tasks/exception_report.py +0 -0
  79. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/tasks/listener.py +0 -0
  80. {orionis-0.488.0 → orionis-0.489.0}/orionis/console/tasks/schedule.py +0 -0
  81. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/__init__.py +0 -0
  82. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/container.py +0 -0
  83. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/context/__init__.py +0 -0
  84. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/context/manager.py +0 -0
  85. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/context/scope.py +0 -0
  86. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/contracts/__init__.py +0 -0
  87. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/contracts/container.py +0 -0
  88. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/contracts/service_provider.py +0 -0
  89. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/entities/__init__.py +0 -0
  90. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/entities/binding.py +0 -0
  91. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/enums/__init__.py +0 -0
  92. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/enums/lifetimes.py +0 -0
  93. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/exceptions/__init__.py +0 -0
  94. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/exceptions/attribute.py +0 -0
  95. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/exceptions/exception.py +0 -0
  96. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/exceptions/type.py +0 -0
  97. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/exceptions/value.py +0 -0
  98. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/facades/__init__.py +0 -0
  99. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/facades/facade.py +0 -0
  100. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/providers/__init__.py +0 -0
  101. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/providers/service_provider.py +0 -0
  102. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/__init__.py +0 -0
  103. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/implements.py +0 -0
  104. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/is_abstract_class.py +0 -0
  105. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/is_callable.py +0 -0
  106. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/is_concrete_class.py +0 -0
  107. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/is_instance.py +0 -0
  108. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/is_not_subclass.py +0 -0
  109. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/is_subclass.py +0 -0
  110. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/is_valid_alias.py +0 -0
  111. {orionis-0.488.0 → orionis-0.489.0}/orionis/container/validators/lifetime.py +0 -0
  112. {orionis-0.488.0/orionis/foundation → orionis-0.489.0/orionis/failure}/__init__.py +0 -0
  113. {orionis-0.488.0/orionis/foundation/config → orionis-0.489.0/orionis/failure/contracts}/__init__.py +0 -0
  114. {orionis-0.488.0/orionis/foundation/config/app → orionis-0.489.0/orionis/failure/entities}/__init__.py +0 -0
  115. {orionis-0.488.0/orionis/foundation/config/app/entities → orionis-0.489.0/orionis/foundation}/__init__.py +0 -0
  116. {orionis-0.488.0/orionis/foundation/config/auth → orionis-0.489.0/orionis/foundation/config}/__init__.py +0 -0
  117. {orionis-0.488.0/orionis/foundation/config/auth/entities → orionis-0.489.0/orionis/foundation/config/app}/__init__.py +0 -0
  118. {orionis-0.488.0/orionis/foundation/config/cache → orionis-0.489.0/orionis/foundation/config/app/entities}/__init__.py +0 -0
  119. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/app/entities/app.py +0 -0
  120. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  121. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
  122. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  123. {orionis-0.488.0/orionis/foundation/config/cache/entities → orionis-0.489.0/orionis/foundation/config/auth}/__init__.py +0 -0
  124. {orionis-0.488.0/orionis/foundation/config/cors → orionis-0.489.0/orionis/foundation/config/auth/entities}/__init__.py +0 -0
  125. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  126. {orionis-0.488.0/orionis/foundation/config/cors/entities → orionis-0.489.0/orionis/foundation/config/cache}/__init__.py +0 -0
  127. {orionis-0.488.0/orionis/foundation/config/database → orionis-0.489.0/orionis/foundation/config/cache/entities}/__init__.py +0 -0
  128. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  129. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  130. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  131. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  132. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  133. {orionis-0.488.0/orionis/foundation/config/database/entities → orionis-0.489.0/orionis/foundation/config/cors}/__init__.py +0 -0
  134. {orionis-0.488.0/orionis/foundation/config/filesystems → orionis-0.489.0/orionis/foundation/config/cors/entities}/__init__.py +0 -0
  135. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  136. {orionis-0.488.0/orionis/foundation/config/filesystems/entitites → orionis-0.489.0/orionis/foundation/config/database}/__init__.py +0 -0
  137. {orionis-0.488.0/orionis/foundation/config/logging → orionis-0.489.0/orionis/foundation/config/database/entities}/__init__.py +0 -0
  138. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  139. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/entities/database.py +0 -0
  140. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  141. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  142. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  143. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  144. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  145. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  146. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  147. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  148. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  149. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  150. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  151. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  152. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  153. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  154. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  155. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  156. {orionis-0.488.0/orionis/foundation/config/logging/entities → orionis-0.489.0/orionis/foundation/config/filesystems}/__init__.py +0 -0
  157. {orionis-0.488.0/orionis/foundation/config/mail → orionis-0.489.0/orionis/foundation/config/filesystems/entitites}/__init__.py +0 -0
  158. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  159. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  160. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  161. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  162. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  163. {orionis-0.488.0/orionis/foundation/config/mail/entities → orionis-0.489.0/orionis/foundation/config/logging}/__init__.py +0 -0
  164. {orionis-0.488.0/orionis/foundation/config/queue → orionis-0.489.0/orionis/foundation/config/logging/entities}/__init__.py +0 -0
  165. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  166. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  167. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  168. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  169. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  170. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  171. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  172. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  173. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  174. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  175. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
  176. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/validators/level.py +0 -0
  177. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/logging/validators/path.py +0 -0
  178. {orionis-0.488.0/orionis/foundation/config/queue/entities → orionis-0.489.0/orionis/foundation/config/mail}/__init__.py +0 -0
  179. {orionis-0.488.0/orionis/foundation/config/roots → orionis-0.489.0/orionis/foundation/config/mail/entities}/__init__.py +0 -0
  180. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  181. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  182. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  183. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  184. {orionis-0.488.0/orionis/foundation/config/session → orionis-0.489.0/orionis/foundation/config/queue}/__init__.py +0 -0
  185. {orionis-0.488.0/orionis/foundation/config/session → orionis-0.489.0/orionis/foundation/config/queue}/entities/__init__.py +0 -0
  186. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  187. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  188. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  189. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
  190. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  191. {orionis-0.488.0/orionis/foundation/config/session/helpers → orionis-0.489.0/orionis/foundation/config/roots}/__init__.py +0 -0
  192. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/roots/paths.py +0 -0
  193. {orionis-0.488.0/orionis/foundation/config/testing → orionis-0.489.0/orionis/foundation/config/session}/__init__.py +0 -0
  194. {orionis-0.488.0/orionis/foundation/config/testing → orionis-0.489.0/orionis/foundation/config/session}/entities/__init__.py +0 -0
  195. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/session/entities/session.py +0 -0
  196. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  197. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  198. {orionis-0.488.0/orionis/foundation/contracts → orionis-0.489.0/orionis/foundation/config/session/helpers}/__init__.py +0 -0
  199. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  200. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/startup.py +0 -0
  201. {orionis-0.488.0/orionis/foundation/providers → orionis-0.489.0/orionis/foundation/config/testing}/__init__.py +0 -0
  202. {orionis-0.488.0/orionis/metadata → orionis-0.489.0/orionis/foundation/config/testing/entities}/__init__.py +0 -0
  203. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
  204. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  205. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
  206. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
  207. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
  208. {orionis-0.488.0/orionis/services → orionis-0.489.0/orionis/foundation/contracts}/__init__.py +0 -0
  209. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/contracts/application.py +0 -0
  210. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/contracts/config.py +0 -0
  211. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/exceptions/__init__.py +0 -0
  212. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/exceptions/integrity.py +0 -0
  213. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/exceptions/runtime.py +0 -0
  214. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/exceptions/type.py +0 -0
  215. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/exceptions/value.py +0 -0
  216. {orionis-0.488.0/orionis/services/asynchrony → orionis-0.489.0/orionis/foundation/providers}/__init__.py +0 -0
  217. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/console_provider.py +0 -0
  218. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/dumper_provider.py +0 -0
  219. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/executor_provider.py +0 -0
  220. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
  221. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/logger_provider.py +0 -0
  222. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
  223. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
  224. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/reactor_provider.py +0 -0
  225. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
  226. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/testing_provider.py +0 -0
  227. {orionis-0.488.0 → orionis-0.489.0}/orionis/foundation/providers/workers_provider.py +0 -0
  228. {orionis-0.488.0/orionis/services/asynchrony/contracts → orionis-0.489.0/orionis/metadata}/__init__.py +0 -0
  229. {orionis-0.488.0 → orionis-0.489.0}/orionis/metadata/package.py +0 -0
  230. {orionis-0.488.0/orionis/services/environment → orionis-0.489.0/orionis/services}/__init__.py +0 -0
  231. {orionis-0.488.0/orionis/services/environment/contracts → orionis-0.489.0/orionis/services/asynchrony}/__init__.py +0 -0
  232. {orionis-0.488.0/orionis/services/environment/core → orionis-0.489.0/orionis/services/asynchrony/contracts}/__init__.py +0 -0
  233. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  234. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/asynchrony/coroutines.py +0 -0
  235. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  236. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
  237. {orionis-0.488.0/orionis/services/environment/dynamic → orionis-0.489.0/orionis/services/environment}/__init__.py +0 -0
  238. {orionis-0.488.0/orionis/services/environment/helpers → orionis-0.489.0/orionis/services/environment/contracts}/__init__.py +0 -0
  239. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/contracts/caster.py +0 -0
  240. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/contracts/env.py +0 -0
  241. {orionis-0.488.0/orionis/services/environment/key → orionis-0.489.0/orionis/services/environment/core}/__init__.py +0 -0
  242. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/core/dot_env.py +0 -0
  243. {orionis-0.488.0/orionis/services/file → orionis-0.489.0/orionis/services/environment/dynamic}/__init__.py +0 -0
  244. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/dynamic/caster.py +0 -0
  245. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/enums/__init__.py +0 -0
  246. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/enums/value_type.py +0 -0
  247. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/env.py +0 -0
  248. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  249. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/exceptions/exception.py +0 -0
  250. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/exceptions/value.py +0 -0
  251. {orionis-0.488.0/orionis/services/inspirational → orionis-0.489.0/orionis/services/environment/helpers}/__init__.py +0 -0
  252. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/helpers/functions.py +0 -0
  253. {orionis-0.488.0/orionis/services/inspirational/contracts → orionis-0.489.0/orionis/services/environment/key}/__init__.py +0 -0
  254. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/key/key_generator.py +0 -0
  255. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/validators/__init__.py +0 -0
  256. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/validators/key_name.py +0 -0
  257. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/environment/validators/types.py +0 -0
  258. {orionis-0.488.0/orionis/services/introspection → orionis-0.489.0/orionis/services/file}/__init__.py +0 -0
  259. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/file/directory.py +0 -0
  260. {orionis-0.488.0/orionis/services/introspection/abstract → orionis-0.489.0/orionis/services/inspirational}/__init__.py +0 -0
  261. {orionis-0.488.0/orionis/services/introspection/abstract → orionis-0.489.0/orionis/services/inspirational}/contracts/__init__.py +0 -0
  262. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
  263. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/inspirational/inspire.py +0 -0
  264. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/inspirational/quotes.py +0 -0
  265. {orionis-0.488.0/orionis/services/introspection/callables → orionis-0.489.0/orionis/services/introspection}/__init__.py +0 -0
  266. {orionis-0.488.0/orionis/services/introspection/callables/contracts → orionis-0.489.0/orionis/services/introspection/abstract}/__init__.py +0 -0
  267. {orionis-0.488.0/orionis/services/introspection/concretes → orionis-0.489.0/orionis/services/introspection/abstract/contracts}/__init__.py +0 -0
  268. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
  269. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/abstract/reflection.py +0 -0
  270. {orionis-0.488.0/orionis/services/introspection/concretes/contracts → orionis-0.489.0/orionis/services/introspection/callables}/__init__.py +0 -0
  271. {orionis-0.488.0/orionis/services/introspection/dependencies → orionis-0.489.0/orionis/services/introspection/callables/contracts}/__init__.py +0 -0
  272. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
  273. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/callables/reflection.py +0 -0
  274. {orionis-0.488.0/orionis/services/introspection/dependencies/contracts → orionis-0.489.0/orionis/services/introspection/concretes}/__init__.py +0 -0
  275. {orionis-0.488.0/orionis/services/introspection/dependencies/entities → orionis-0.489.0/orionis/services/introspection/concretes/contracts}/__init__.py +0 -0
  276. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
  277. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/concretes/reflection.py +0 -0
  278. {orionis-0.488.0/orionis/services/introspection/instances → orionis-0.489.0/orionis/services/introspection/dependencies}/__init__.py +0 -0
  279. {orionis-0.488.0/orionis/services/introspection/instances → orionis-0.489.0/orionis/services/introspection/dependencies}/contracts/__init__.py +0 -0
  280. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
  281. {orionis-0.488.0/orionis/services/introspection/modules → orionis-0.489.0/orionis/services/introspection/dependencies/entities}/__init__.py +0 -0
  282. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
  283. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
  284. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
  285. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  286. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
  287. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/exceptions/type.py +0 -0
  288. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/exceptions/value.py +0 -0
  289. {orionis-0.488.0/orionis/services/introspection/modules/contracts → orionis-0.489.0/orionis/services/introspection/instances}/__init__.py +0 -0
  290. {orionis-0.488.0/orionis/services/introspection/objects → orionis-0.489.0/orionis/services/introspection/instances/contracts}/__init__.py +0 -0
  291. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
  292. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/instances/reflection.py +0 -0
  293. {orionis-0.488.0/orionis/services/log → orionis-0.489.0/orionis/services/introspection/modules}/__init__.py +0 -0
  294. {orionis-0.488.0/orionis/services/log → orionis-0.489.0/orionis/services/introspection/modules}/contracts/__init__.py +0 -0
  295. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
  296. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/modules/reflection.py +0 -0
  297. {orionis-0.488.0/orionis/services/log/handlers → orionis-0.489.0/orionis/services/introspection/objects}/__init__.py +0 -0
  298. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/objects/types.py +0 -0
  299. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/introspection/reflection.py +0 -0
  300. {orionis-0.488.0/orionis/services/system → orionis-0.489.0/orionis/services/log}/__init__.py +0 -0
  301. {orionis-0.488.0/orionis/services/system → orionis-0.489.0/orionis/services/log}/contracts/__init__.py +0 -0
  302. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/log/contracts/log_service.py +0 -0
  303. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/log/exceptions/__init__.py +0 -0
  304. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/log/exceptions/runtime.py +0 -0
  305. {orionis-0.488.0/orionis/services/system/runtime → orionis-0.489.0/orionis/services/log/handlers}/__init__.py +0 -0
  306. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/log/handlers/filename.py +0 -0
  307. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/log/handlers/size_rotating.py +0 -0
  308. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
  309. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/log/log_service.py +0 -0
  310. {orionis-0.488.0/orionis/support → orionis-0.489.0/orionis/services/system}/__init__.py +0 -0
  311. {orionis-0.488.0/orionis/support/entities → orionis-0.489.0/orionis/services/system/contracts}/__init__.py +0 -0
  312. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/system/contracts/imports.py +0 -0
  313. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/system/contracts/workers.py +0 -0
  314. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/system/imports.py +0 -0
  315. {orionis-0.488.0/orionis/support/facades → orionis-0.489.0/orionis/services/system/runtime}/__init__.py +0 -0
  316. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/system/runtime/imports.py +0 -0
  317. {orionis-0.488.0 → orionis-0.489.0}/orionis/services/system/workers.py +0 -0
  318. {orionis-0.488.0/orionis/support/formatter → orionis-0.489.0/orionis/support}/__init__.py +0 -0
  319. {orionis-0.488.0/orionis/support/formatter/exceptions → orionis-0.489.0/orionis/support/entities}/__init__.py +0 -0
  320. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/entities/base.py +0 -0
  321. {orionis-0.488.0/orionis/support/formatter/exceptions/contracts → orionis-0.489.0/orionis/support/facades}/__init__.py +0 -0
  322. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/application.py +0 -0
  323. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/console.py +0 -0
  324. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/dumper.py +0 -0
  325. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/executor.py +0 -0
  326. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/inspire.py +0 -0
  327. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/logger.py +0 -0
  328. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/performance_counter.py +0 -0
  329. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/progress_bar.py +0 -0
  330. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/reactor.py +0 -0
  331. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/testing.py +0 -0
  332. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/facades/workers.py +0 -0
  333. {orionis-0.488.0/orionis/support/patterns → orionis-0.489.0/orionis/support/formatter}/__init__.py +0 -0
  334. {orionis-0.488.0/orionis/support/performance → orionis-0.489.0/orionis/support/formatter/exceptions}/__init__.py +0 -0
  335. {orionis-0.488.0/orionis/support/performance → orionis-0.489.0/orionis/support/formatter/exceptions}/contracts/__init__.py +0 -0
  336. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
  337. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/formatter/exceptions/parser.py +0 -0
  338. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/formatter/serializer.py +0 -0
  339. {orionis-0.488.0/orionis/support/standard → orionis-0.489.0/orionis/support/patterns}/__init__.py +0 -0
  340. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/patterns/singleton/__init__.py +0 -0
  341. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/patterns/singleton/meta.py +0 -0
  342. {orionis-0.488.0/orionis/support/standard/contracts → orionis-0.489.0/orionis/support/performance}/__init__.py +0 -0
  343. {orionis-0.488.0/orionis/test → orionis-0.489.0/orionis/support/performance/contracts}/__init__.py +0 -0
  344. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/performance/contracts/counter.py +0 -0
  345. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/performance/counter.py +0 -0
  346. {orionis-0.488.0/orionis/test/cases → orionis-0.489.0/orionis/support/standard}/__init__.py +0 -0
  347. {orionis-0.488.0/orionis/test → orionis-0.489.0/orionis/support/standard}/contracts/__init__.py +0 -0
  348. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/standard/contracts/std.py +0 -0
  349. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  350. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/standard/exceptions/value.py +0 -0
  351. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/standard/std.py +0 -0
  352. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/wrapper/__init__.py +0 -0
  353. {orionis-0.488.0 → orionis-0.489.0}/orionis/support/wrapper/dot_dict.py +0 -0
  354. {orionis-0.488.0/orionis/test/core → orionis-0.489.0/orionis/test}/__init__.py +0 -0
  355. {orionis-0.488.0/orionis/test/entities → orionis-0.489.0/orionis/test/cases}/__init__.py +0 -0
  356. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/cases/asynchronous.py +0 -0
  357. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/cases/synchronous.py +0 -0
  358. {orionis-0.488.0/orionis/test/output → orionis-0.489.0/orionis/test/contracts}/__init__.py +0 -0
  359. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/contracts/dumper.py +0 -0
  360. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/contracts/kernel.py +0 -0
  361. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/contracts/logs.py +0 -0
  362. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/contracts/printer.py +0 -0
  363. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/contracts/render.py +0 -0
  364. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/contracts/test_result.py +0 -0
  365. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/contracts/unit_test.py +0 -0
  366. {orionis-0.488.0/orionis/test/records → orionis-0.489.0/orionis/test/core}/__init__.py +0 -0
  367. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/core/unit_test.py +0 -0
  368. {orionis-0.488.0/orionis/test/view → orionis-0.489.0/orionis/test/entities}/__init__.py +0 -0
  369. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/entities/result.py +0 -0
  370. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/enums/__init__.py +0 -0
  371. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/enums/status.py +0 -0
  372. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/exceptions/__init__.py +0 -0
  373. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/exceptions/config.py +0 -0
  374. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/exceptions/failure.py +0 -0
  375. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/exceptions/persistence.py +0 -0
  376. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/exceptions/runtime.py +0 -0
  377. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/exceptions/value.py +0 -0
  378. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/kernel.py +0 -0
  379. {orionis-0.488.0/tests → orionis-0.489.0/orionis/test/output}/__init__.py +0 -0
  380. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/output/dumper.py +0 -0
  381. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/output/printer.py +0 -0
  382. {orionis-0.488.0/tests/container → orionis-0.489.0/orionis/test/records}/__init__.py +0 -0
  383. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/records/logs.py +0 -0
  384. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/__init__.py +0 -0
  385. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/base_path.py +0 -0
  386. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/execution_mode.py +0 -0
  387. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/fail_fast.py +0 -0
  388. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/folder_path.py +0 -0
  389. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/module_name.py +0 -0
  390. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/name_pattern.py +0 -0
  391. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/pattern.py +0 -0
  392. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/persistent.py +0 -0
  393. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/persistent_driver.py +0 -0
  394. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/print_result.py +0 -0
  395. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/tags.py +0 -0
  396. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/throw_exception.py +0 -0
  397. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/verbosity.py +0 -0
  398. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/web_report.py +0 -0
  399. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/validators/workers.py +0 -0
  400. {orionis-0.488.0/tests/container/context → orionis-0.489.0/orionis/test/view}/__init__.py +0 -0
  401. {orionis-0.488.0 → orionis-0.489.0}/orionis/test/view/render.py +0 -0
  402. {orionis-0.488.0 → orionis-0.489.0}/orionis.egg-info/dependency_links.txt +0 -0
  403. {orionis-0.488.0 → orionis-0.489.0}/orionis.egg-info/requires.txt +0 -0
  404. {orionis-0.488.0 → orionis-0.489.0}/orionis.egg-info/top_level.txt +0 -0
  405. {orionis-0.488.0 → orionis-0.489.0}/orionis.egg-info/zip-safe +0 -0
  406. {orionis-0.488.0 → orionis-0.489.0}/setup.cfg +0 -0
  407. {orionis-0.488.0 → orionis-0.489.0}/setup.py +0 -0
  408. {orionis-0.488.0/tests/container/core → orionis-0.489.0/tests}/__init__.py +0 -0
  409. {orionis-0.488.0/tests/container/entities → orionis-0.489.0/tests/container}/__init__.py +0 -0
  410. {orionis-0.488.0/tests/container/enums → orionis-0.489.0/tests/container/context}/__init__.py +0 -0
  411. {orionis-0.488.0 → orionis-0.489.0}/tests/container/context/test_manager.py +0 -0
  412. {orionis-0.488.0 → orionis-0.489.0}/tests/container/context/test_scope.py +0 -0
  413. {orionis-0.488.0/tests/container/facades → orionis-0.489.0/tests/container/core}/__init__.py +0 -0
  414. {orionis-0.488.0 → orionis-0.489.0}/tests/container/core/test_advanced_async.py +0 -0
  415. {orionis-0.488.0 → orionis-0.489.0}/tests/container/core/test_async_optimizations.py +0 -0
  416. {orionis-0.488.0 → orionis-0.489.0}/tests/container/core/test_container.py +0 -0
  417. {orionis-0.488.0 → orionis-0.489.0}/tests/container/core/test_singleton.py +0 -0
  418. {orionis-0.488.0 → orionis-0.489.0}/tests/container/core/test_thread_safety.py +0 -0
  419. {orionis-0.488.0/tests/container/mocks → orionis-0.489.0/tests/container/entities}/__init__.py +0 -0
  420. {orionis-0.488.0 → orionis-0.489.0}/tests/container/entities/test_binding.py +0 -0
  421. {orionis-0.488.0/tests/container/providers → orionis-0.489.0/tests/container/enums}/__init__.py +0 -0
  422. {orionis-0.488.0 → orionis-0.489.0}/tests/container/enums/test_lifetimes.py +0 -0
  423. {orionis-0.488.0/tests/container/validators → orionis-0.489.0/tests/container/facades}/__init__.py +0 -0
  424. {orionis-0.488.0 → orionis-0.489.0}/tests/container/facades/test_facade.py +0 -0
  425. {orionis-0.488.0/tests/example → orionis-0.489.0/tests/container/mocks}/__init__.py +0 -0
  426. {orionis-0.488.0 → orionis-0.489.0}/tests/container/mocks/mock_advanced_async.py +0 -0
  427. {orionis-0.488.0 → orionis-0.489.0}/tests/container/mocks/mock_async_optimizations.py +0 -0
  428. {orionis-0.488.0 → orionis-0.489.0}/tests/container/mocks/mock_auto_resolution.py +0 -0
  429. {orionis-0.488.0 → orionis-0.489.0}/tests/container/mocks/mock_complex_classes.py +0 -0
  430. {orionis-0.488.0 → orionis-0.489.0}/tests/container/mocks/mock_simple_classes.py +0 -0
  431. {orionis-0.488.0/tests/foundation → orionis-0.489.0/tests/container/providers}/__init__.py +0 -0
  432. {orionis-0.488.0 → orionis-0.489.0}/tests/container/providers/test_providers.py +0 -0
  433. {orionis-0.488.0/tests/foundation/config → orionis-0.489.0/tests/container/validators}/__init__.py +0 -0
  434. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_implements.py +0 -0
  435. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_is_abstract_class.py +0 -0
  436. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_is_callable.py +0 -0
  437. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_is_concrete_class.py +0 -0
  438. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_is_instance.py +0 -0
  439. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_is_not_subclass.py +0 -0
  440. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_is_subclass.py +0 -0
  441. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_is_valid_alias.py +0 -0
  442. {orionis-0.488.0 → orionis-0.489.0}/tests/container/validators/test_lifetime.py +0 -0
  443. {orionis-0.488.0/tests/foundation/config/app → orionis-0.489.0/tests/example}/__init__.py +0 -0
  444. {orionis-0.488.0 → orionis-0.489.0}/tests/example/test_example.py +0 -0
  445. {orionis-0.488.0/tests/foundation/config/auth → orionis-0.489.0/tests/foundation}/__init__.py +0 -0
  446. {orionis-0.488.0/tests/foundation/config/cache → orionis-0.489.0/tests/foundation/config}/__init__.py +0 -0
  447. {orionis-0.488.0/tests/foundation/config/cors → orionis-0.489.0/tests/foundation/config/app}/__init__.py +0 -0
  448. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
  449. {orionis-0.488.0/tests/foundation/config/database → orionis-0.489.0/tests/foundation/config/auth}/__init__.py +0 -0
  450. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
  451. {orionis-0.488.0/tests/foundation/config/filesystems → orionis-0.489.0/tests/foundation/config/cache}/__init__.py +0 -0
  452. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
  453. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
  454. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
  455. {orionis-0.488.0/tests/foundation/config/logging → orionis-0.489.0/tests/foundation/config/cors}/__init__.py +0 -0
  456. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
  457. {orionis-0.488.0/tests/foundation/config/mail → orionis-0.489.0/tests/foundation/config/database}/__init__.py +0 -0
  458. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
  459. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
  460. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
  461. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
  462. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
  463. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
  464. {orionis-0.488.0/tests/foundation/config/queue → orionis-0.489.0/tests/foundation/config/filesystems}/__init__.py +0 -0
  465. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
  466. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
  467. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
  468. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
  469. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
  470. {orionis-0.488.0/tests/foundation/config/root → orionis-0.489.0/tests/foundation/config/logging}/__init__.py +0 -0
  471. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
  472. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
  473. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
  474. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
  475. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
  476. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
  477. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
  478. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
  479. {orionis-0.488.0/tests/foundation/config/session → orionis-0.489.0/tests/foundation/config/mail}/__init__.py +0 -0
  480. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
  481. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
  482. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
  483. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
  484. {orionis-0.488.0/tests/foundation/config/startup → orionis-0.489.0/tests/foundation/config/queue}/__init__.py +0 -0
  485. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
  486. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
  487. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
  488. {orionis-0.488.0/tests/foundation/config/testing → orionis-0.489.0/tests/foundation/config/root}/__init__.py +0 -0
  489. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
  490. {orionis-0.488.0/tests/metadata → orionis-0.489.0/tests/foundation/config/session}/__init__.py +0 -0
  491. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
  492. {orionis-0.488.0/tests/services → orionis-0.489.0/tests/foundation/config/startup}/__init__.py +0 -0
  493. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
  494. {orionis-0.488.0/tests/services/asynchrony → orionis-0.489.0/tests/foundation/config/testing}/__init__.py +0 -0
  495. {orionis-0.488.0 → orionis-0.489.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
  496. {orionis-0.488.0/tests/services/environment → orionis-0.489.0/tests/metadata}/__init__.py +0 -0
  497. {orionis-0.488.0 → orionis-0.489.0}/tests/metadata/test_metadata_framework.py +0 -0
  498. {orionis-0.488.0 → orionis-0.489.0}/tests/metadata/test_metadata_package.py +0 -0
  499. {orionis-0.488.0/tests/services/introspection → orionis-0.489.0/tests/services}/__init__.py +0 -0
  500. {orionis-0.488.0/tests/services/introspection/dependencies → orionis-0.489.0/tests/services/asynchrony}/__init__.py +0 -0
  501. {orionis-0.488.0 → orionis-0.489.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
  502. {orionis-0.488.0/tests/services/introspection/dependencies/mocks → orionis-0.489.0/tests/services/environment}/__init__.py +0 -0
  503. {orionis-0.488.0 → orionis-0.489.0}/tests/services/environment/test_services_environment.py +0 -0
  504. {orionis-0.488.0/tests/services/introspection/reflection → orionis-0.489.0/tests/services/introspection}/__init__.py +0 -0
  505. {orionis-0.488.0/tests/services/introspection/reflection/mock → orionis-0.489.0/tests/services/introspection/dependencies}/__init__.py +0 -0
  506. {orionis-0.488.0/tests/services/log → orionis-0.489.0/tests/services/introspection/dependencies/mocks}/__init__.py +0 -0
  507. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/dependencies/mocks/mock_user.py +0 -0
  508. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -0
  509. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -0
  510. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -0
  511. {orionis-0.488.0/tests/services/system → orionis-0.489.0/tests/services/introspection/reflection}/__init__.py +0 -0
  512. {orionis-0.488.0/tests/support → orionis-0.489.0/tests/services/introspection/reflection/mock}/__init__.py +0 -0
  513. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -0
  514. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/reflection/test_reflection_abstract.py +0 -0
  515. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/reflection/test_reflection_callable.py +0 -0
  516. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/reflection/test_reflection_concrete.py +0 -0
  517. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/reflection/test_reflection_instance.py +0 -0
  518. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/reflection/test_reflection_module.py +0 -0
  519. {orionis-0.488.0 → orionis-0.489.0}/tests/services/introspection/test_reflection.py +0 -0
  520. {orionis-0.488.0/tests/support/entities → orionis-0.489.0/tests/services/log}/__init__.py +0 -0
  521. {orionis-0.488.0 → orionis-0.489.0}/tests/services/log/test_log.py +0 -0
  522. {orionis-0.488.0/tests/support/patterns → orionis-0.489.0/tests/services/system}/__init__.py +0 -0
  523. {orionis-0.488.0 → orionis-0.489.0}/tests/services/system/test_services_system_imports.py +0 -0
  524. {orionis-0.488.0 → orionis-0.489.0}/tests/services/system/test_services_system_workers.py +0 -0
  525. {orionis-0.488.0/tests/support/patterns/singleton → orionis-0.489.0/tests/support}/__init__.py +0 -0
  526. {orionis-0.488.0/tests/support/standard → orionis-0.489.0/tests/support/entities}/__init__.py +0 -0
  527. {orionis-0.488.0 → orionis-0.489.0}/tests/support/entities/mock_dataclass.py +0 -0
  528. {orionis-0.488.0 → orionis-0.489.0}/tests/support/entities/test_base.py +0 -0
  529. {orionis-0.488.0/tests/support/wrapper → orionis-0.489.0/tests/support/patterns}/__init__.py +0 -0
  530. {orionis-0.488.0/tests/testing → orionis-0.489.0/tests/support/patterns/singleton}/__init__.py +0 -0
  531. {orionis-0.488.0 → orionis-0.489.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
  532. {orionis-0.488.0/tests/testing/cases → orionis-0.489.0/tests/support/standard}/__init__.py +0 -0
  533. {orionis-0.488.0 → orionis-0.489.0}/tests/support/standard/test_services_std.py +0 -0
  534. {orionis-0.488.0/tests/testing/entities → orionis-0.489.0/tests/support/wrapper}/__init__.py +0 -0
  535. {orionis-0.488.0 → orionis-0.489.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
  536. {orionis-0.488.0/tests/testing/enums → orionis-0.489.0/tests/testing}/__init__.py +0 -0
  537. {orionis-0.488.0/tests/testing/output → orionis-0.489.0/tests/testing/cases}/__init__.py +0 -0
  538. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/cases/test_testing_asynchronous.py +0 -0
  539. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/cases/test_testing_synchronous.py +0 -0
  540. {orionis-0.488.0/tests/testing/records → orionis-0.489.0/tests/testing/entities}/__init__.py +0 -0
  541. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/entities/test_testing_result.py +0 -0
  542. {orionis-0.488.0/tests/testing/validators → orionis-0.489.0/tests/testing/enums}/__init__.py +0 -0
  543. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/enums/test_testing_status.py +0 -0
  544. {orionis-0.488.0/tests/testing/view → orionis-0.489.0/tests/testing/output}/__init__.py +0 -0
  545. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/output/test_testing_dumper.py +0 -0
  546. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/output/test_testing_printer.py +0 -0
  547. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/records/test_testing_records.py +0 -0
  548. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/test_testing_unit.py +0 -0
  549. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/validators/test_testing_validators.py +0 -0
  550. {orionis-0.488.0 → orionis-0.489.0}/tests/testing/view/test_render.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.488.0
3
+ Version: 0.489.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,7 +1,8 @@
1
+ from abc import ABC, abstractmethod
1
2
  from datetime import datetime
2
3
  from orionis.console.contracts.schedule import ISchedule
3
4
 
4
- class BaseScheduler:
5
+ class IBaseScheduler(ABC):
5
6
 
6
7
  # Pause Global Scheduler at a specific time
7
8
  PAUSE_AT: datetime = None
@@ -12,6 +13,7 @@ class BaseScheduler:
12
13
  # Finalize Global Scheduler at a specific time
13
14
  FINALIZE_AT: datetime = None
14
15
 
16
+ @abstractmethod
15
17
  def tasks(self, schedule: ISchedule):
16
18
  """
17
19
  Defines and registers scheduled tasks for the application.
@@ -33,24 +35,4 @@ class BaseScheduler:
33
35
  to the scheduler using the provided `schedule` object.
34
36
  """
35
37
  # This method should be overridden in subclasses to define scheduled tasks.
36
- pass
37
-
38
- def onStarted(self):
39
- # Called when the scheduler is started.
40
- pass
41
-
42
- def onPaused(self):
43
- # Called when the scheduler is paused.
44
- pass
45
-
46
- def onResumed(self):
47
- # Called when the scheduler is resumed.
48
- pass
49
-
50
- def onFinalized(self):
51
- # Called when the scheduler is finalized.
52
- pass
53
-
54
- def onError(self, error: Exception):
55
- # Called when an error occurs in the scheduler.
56
38
  pass
@@ -0,0 +1,126 @@
1
+ from datetime import datetime
2
+ from orionis.console.base.contracts.scheduler import IBaseScheduler
3
+ from orionis.console.contracts.schedule import ISchedule
4
+
5
+ class BaseScheduler(IBaseScheduler):
6
+
7
+ # Pause Global Scheduler at a specific time
8
+ PAUSE_AT: datetime = None
9
+
10
+ # Resume Global Scheduler at a specific time
11
+ RESUME_AT: datetime = None
12
+
13
+ # Finalize Global Scheduler at a specific time
14
+ FINALIZE_AT: datetime = None
15
+
16
+ def tasks(self, schedule: ISchedule):
17
+ """
18
+ Defines and registers scheduled tasks for the application.
19
+
20
+ Parameters
21
+ ----------
22
+ schedule : ISchedule
23
+ The schedule object used to define and register scheduled commands.
24
+
25
+ Returns
26
+ -------
27
+ None
28
+ This method does not return any value. It is intended to be overridden
29
+ by subclasses to specify scheduled tasks.
30
+
31
+ Notes
32
+ -----
33
+ Subclasses should implement this method to add specific tasks to the scheduler
34
+ using the provided `schedule` object. This method enforces that each subclass
35
+ defines its own scheduled tasks.
36
+ """
37
+ # Raise an error to enforce implementation in subclasses
38
+ raise NotImplementedError("The 'tasks' method must be implemented in the subclass.")
39
+
40
+ def onStarted(self):
41
+ """
42
+ Called when the scheduler is started.
43
+
44
+ Returns
45
+ -------
46
+ None
47
+ This method does not return any value.
48
+
49
+ Notes
50
+ -----
51
+ Intended to be overridden by subclasses to implement custom behavior that should
52
+ occur when the scheduler starts running.
53
+ """
54
+ # Placeholder for logic to execute when the scheduler starts
55
+ pass
56
+
57
+ def onPaused(self):
58
+ """
59
+ Called when the scheduler is paused.
60
+
61
+ Returns
62
+ -------
63
+ None
64
+ This method does not return any value.
65
+
66
+ Notes
67
+ -----
68
+ Should be overridden to define custom behavior that occurs when the scheduler
69
+ enters a paused state.
70
+ """
71
+ # Placeholder for logic to execute when the scheduler is paused
72
+ pass
73
+
74
+ def onResumed(self):
75
+ """
76
+ Called when the scheduler is resumed from a paused state.
77
+
78
+ Returns
79
+ -------
80
+ None
81
+ This method does not return any value.
82
+
83
+ Notes
84
+ -----
85
+ Should be overridden to implement any actions that need to occur when the
86
+ scheduler resumes operation.
87
+ """
88
+ # Placeholder for logic to execute when the scheduler is resumed
89
+ pass
90
+
91
+ def onFinalized(self):
92
+ """
93
+ Called when the scheduler has completed its execution and is being finalized.
94
+
95
+ Returns
96
+ -------
97
+ None
98
+ This method does not return any value.
99
+
100
+ Notes
101
+ -----
102
+ Can be overridden to perform any necessary cleanup or finalization tasks.
103
+ """
104
+ # Placeholder for logic to execute when the scheduler is finalized
105
+ pass
106
+
107
+ def onError(self, error: Exception):
108
+ """
109
+ Handles errors that occur within the scheduler.
110
+
111
+ Parameters
112
+ ----------
113
+ error : Exception
114
+ The exception instance representing the error that occurred.
115
+
116
+ Returns
117
+ -------
118
+ None
119
+ This method does not return any value.
120
+
121
+ Notes
122
+ -----
123
+ Can be overridden to implement custom error handling logic for the scheduler.
124
+ """
125
+ # Placeholder for logic to handle errors in the scheduler
126
+ pass
@@ -40,7 +40,8 @@ class HelpCommand(BaseCommand):
40
40
  try:
41
41
 
42
42
  # Retrieve the list of available commands from the reactor
43
- commands = reactor.info() # List of dicts with 'signature' and 'description'
43
+ # List of dicts with 'signature' and 'description'
44
+ commands = reactor.info()
44
45
 
45
46
  # Initialize the rich console for formatted output
46
47
  console = Console()
@@ -1,6 +1,3 @@
1
- import importlib
2
- import os
3
- from pathlib import Path
4
1
  from rich.console import Console
5
2
  from rich.panel import Panel
6
3
  from rich.table import Table
@@ -88,7 +85,7 @@ class ScheduleListCommand(BaseCommand):
88
85
  table.add_column("Signature", style="cyan", no_wrap=True)
89
86
  table.add_column("Arguments", style="magenta")
90
87
  table.add_column("Purpose", style="green")
91
- table.add_column("Random Delay", style="yellow")
88
+ table.add_column("Random Delay (calculated result)", style="yellow")
92
89
  table.add_column("Start Date", style="white")
93
90
  table.add_column("End Date", style="white")
94
91
  table.add_column("Details", style="dim")
@@ -112,6 +109,7 @@ class ScheduleListCommand(BaseCommand):
112
109
  return True
113
110
 
114
111
  except Exception as exc:
112
+
115
113
  # Catch any unexpected exceptions and raise as a CLIOrionisRuntimeError
116
114
  raise CLIOrionisRuntimeError(
117
115
  f"An unexpected error occurred while listing the scheduled jobs: {exc}"
@@ -102,6 +102,7 @@ class ScheduleWorkCommand(BaseCommand):
102
102
  return True
103
103
 
104
104
  except Exception as exc:
105
+
105
106
  # Raise any unexpected exceptions as CLIOrionisRuntimeError
106
107
  raise CLIOrionisRuntimeError(
107
108
  f"An unexpected error occurred while starting the scheduler worker: {exc}"
@@ -0,0 +1,132 @@
1
+ from abc import ABC, abstractmethod
2
+
3
+ class IEventListener(ABC):
4
+ """
5
+ Interface for event listeners that handle various stages of event processing.
6
+ """
7
+
8
+ @abstractmethod
9
+ def before(self, event):
10
+ """
11
+ Hook method called before the main event handling logic.
12
+
13
+ Parameters
14
+ ----------
15
+ event : object
16
+ The event object that is about to be processed.
17
+
18
+ Returns
19
+ -------
20
+ None
21
+ This method does not return anything.
22
+
23
+ Notes
24
+ -----
25
+ Override this method to implement logic that should run before the event is handled.
26
+ """
27
+ pass
28
+
29
+ @abstractmethod
30
+ def after(self, event):
31
+ """
32
+ Hook method called after an event is processed.
33
+
34
+ Parameters
35
+ ----------
36
+ event : object
37
+ The event object that was processed.
38
+
39
+ Returns
40
+ -------
41
+ None
42
+ This method does not return anything.
43
+
44
+ Notes
45
+ -----
46
+ Override this method to implement logic that should run after the event is handled.
47
+ """
48
+ pass
49
+
50
+ @abstractmethod
51
+ def onSuccess(self, event):
52
+ """
53
+ Handle actions to be performed when an event is successfully processed.
54
+
55
+ Parameters
56
+ ----------
57
+ event : object
58
+ The event object that triggered the success callback.
59
+
60
+ Returns
61
+ -------
62
+ None
63
+ This method does not return anything.
64
+
65
+ Notes
66
+ -----
67
+ Override this method to define actions on successful event processing.
68
+ """
69
+ pass
70
+
71
+ @abstractmethod
72
+ def onFailure(self, event):
73
+ """
74
+ Handle the event when a failure occurs during event processing.
75
+
76
+ Parameters
77
+ ----------
78
+ event : object
79
+ The event object containing information about the failure.
80
+
81
+ Returns
82
+ -------
83
+ None
84
+ This method does not return anything.
85
+
86
+ Notes
87
+ -----
88
+ Override this method to define actions when event processing fails.
89
+ """
90
+ pass
91
+
92
+ @abstractmethod
93
+ def onMissed(self, event):
94
+ """
95
+ Handle the event when an expected event is missed.
96
+
97
+ Parameters
98
+ ----------
99
+ event : object
100
+ The event object that was missed.
101
+
102
+ Returns
103
+ -------
104
+ None
105
+ This method does not return anything.
106
+
107
+ Notes
108
+ -----
109
+ Override this method to define actions when an event is missed.
110
+ """
111
+ pass
112
+
113
+ @abstractmethod
114
+ def onMaxInstances(self, event):
115
+ """
116
+ Handles the event triggered when the maximum number of instances is reached.
117
+
118
+ Parameters
119
+ ----------
120
+ event : object
121
+ The event object containing information about the max instances event.
122
+
123
+ Returns
124
+ -------
125
+ None
126
+ This method does not return anything.
127
+
128
+ Notes
129
+ -----
130
+ Override this method to define actions when the maximum number of instances is reached.
131
+ """
132
+ pass
@@ -1,7 +1,6 @@
1
1
  import argparse
2
2
  import os
3
3
  import re
4
- from pathlib import Path
5
4
  from typing import Any, List, Optional
6
5
  from orionis.console.args.argument import CLIArgument
7
6
  from orionis.console.base.command import BaseCommand
@@ -9,8 +8,10 @@ from orionis.console.base.contracts.command import IBaseCommand
9
8
  from orionis.console.contracts.reactor import IReactor
10
9
  from orionis.console.enums.command import Command
11
10
  from orionis.console.exceptions import CLIOrionisValueError
11
+ from orionis.console.exceptions.cli_runtime_error import CLIOrionisRuntimeError
12
12
  from orionis.console.output.contracts.console import IConsole
13
13
  from orionis.console.output.contracts.executor import IExecutor
14
+ from orionis.container.exceptions.exception import OrionisContainerException
14
15
  from orionis.foundation.contracts.application import IApplication
15
16
  from orionis.services.introspection.modules.reflection import ReflectionModule
16
17
  from orionis.services.log.contracts.log_service import ILogger
@@ -58,13 +59,13 @@ class Reactor(IReactor):
58
59
  self.__app = app
59
60
 
60
61
  # Set the project root directory to current working directory for module path resolution
61
- self.__root = self.__app.path('root') or Path().cwd()
62
+ self.__root = self.__app.path('root')
62
63
 
63
64
  # Initialize the internal command registry as an empty dictionary
64
65
  self.__commands: dict[str, Command] = {}
65
66
 
66
67
  # Automatically discover and load command classes from the console commands directory
67
- self.__loadCommands(str(self.__app.path('commands')), self.__root)
68
+ self.__loadCommands(self.__app.path('commands'), self.__root)
68
69
 
69
70
  # Load core command classes provided by the Orionis framework
70
71
  self.__loadCoreCommands()
@@ -581,8 +582,12 @@ class Reactor(IReactor):
581
582
  return output
582
583
 
583
584
  except Exception as e:
585
+
584
586
  # Display the error message in the console (without timestamp)
585
- self.__console.error(f"An error occurred while executing command '{signature}': {e}", timestamp=False)
587
+ if isinstance(e, OrionisContainerException):
588
+ pass
589
+ elif isinstance(e, CLIOrionisRuntimeError):
590
+ self.__console.error(f"An error occurred while executing command '{signature}': {e}", timestamp=False)
586
591
 
587
592
  # Log the error in the logger service
588
593
  self.__logger.error(f"Command '{signature}' execution failed: {e}")
@@ -0,0 +1,35 @@
1
+ from dataclasses import dataclass, field
2
+ from orionis.support.entities.base import BaseEntity
3
+
4
+ @dataclass(kw_only=True)
5
+ class CLIRequest(BaseEntity):
6
+ """
7
+ Represents a command-line interface (CLI) request.
8
+
9
+ Parameters
10
+ ----------
11
+ command : str
12
+ The command to be executed by the CLI.
13
+ args : list of str, optional
14
+ A list of arguments passed to the command. Defaults to an empty list.
15
+
16
+ Returns
17
+ -------
18
+ CLIRequest
19
+ An instance of the CLIRequest class encapsulating the command and its arguments.
20
+
21
+ Attributes
22
+ ----------
23
+ command : str
24
+ The command to be executed.
25
+ args : list of str
26
+ The arguments associated with the command.
27
+ """
28
+
29
+ # The command to execute
30
+ command: str
31
+
32
+ # Arguments for the command; defaults to an empty list if not provided
33
+ args: list[str] = field(
34
+ default_factory=list
35
+ )
@@ -1,9 +1,11 @@
1
+ import sys
2
+ from typing import List
1
3
  from orionis.console.contracts.kernel import IKernelCLI
2
4
  from orionis.console.contracts.reactor import IReactor
3
- from orionis.console.output.contracts.console import IConsole
5
+ from orionis.console.entities.request import CLIRequest
6
+ from orionis.failure.contracts.catch import ICatch
4
7
  from orionis.foundation.contracts.application import IApplication
5
8
  from orionis.console.exceptions import CLIOrionisValueError
6
- from orionis.services.log.contracts.log_service import ILogger
7
9
 
8
10
  class KernelCLI(IKernelCLI):
9
11
 
@@ -40,13 +42,10 @@ class KernelCLI(IKernelCLI):
40
42
  # The reactor is responsible for dispatching CLI commands.
41
43
  self.__reactor: IReactor = app.make('x-orionis.console.core.reactor')
42
44
 
43
- # Retrieve and initialize the console instance for command output and error handling.
44
- self.__console: IConsole = app.make('x-orionis.console.output.console')
45
+ # Retrieve and initialize the catch instance from the application container.
46
+ self.__catch: ICatch = app.make('x-orionis.failure.catch')
45
47
 
46
- # Initialize the logger service for logging command execution details
47
- self.__logger: ILogger = app.make('x-orionis.services.log.log_service')
48
-
49
- def handle(self, args: list) -> None:
48
+ def handle(self, args: List[str] = []) -> None:
50
49
  """
51
50
  Processes and dispatches command line arguments to the appropriate command handler.
52
51
 
@@ -89,21 +88,23 @@ class KernelCLI(IKernelCLI):
89
88
  if len(args) == 1:
90
89
  return self.__reactor.call(args[0])
91
90
 
92
- # If command and arguments are provided, call the command with its arguments
93
- return self.__reactor.call(args[0], args[1:])
94
-
95
- except SystemExit as e:
96
-
97
- # Log the SystemExit exception for debugging purposes
98
- self.__logger.error(f"SystemExit encountered: {str(e)}")
91
+ # Create a CLIRequest instance with the command and its arguments
92
+ command = CLIRequest(
93
+ command=args[0],
94
+ args=args[1:]
95
+ )
99
96
 
100
- # Handle SystemExit exceptions gracefully, allowing for clean exits with error messages
101
- self.__console.exitError(str(e))
97
+ # If command and arguments are provided, call the command with its arguments
98
+ return self.__reactor.call(
99
+ command.command,
100
+ command.args
101
+ )
102
102
 
103
- except Exception as e:
103
+ except BaseException as e:
104
104
 
105
- # Log any unexpected exceptions that occur during command processing
106
- self.__logger.error(f"An unexpected error occurred while processing command: {str(e)}")
105
+ # Catch any exceptions that occur during command handling
106
+ self.__catch.report(e)
107
+ self.__catch.renderCLI(args, e)
107
108
 
108
- # Handle any other exceptions that may occur during command processing
109
- self.__console.exitError(f"An unexpected error occurred: {str(e)}")
109
+ # Exit the process with a non-zero status code to indicate an error
110
+ sys.exit(1)
@@ -4,7 +4,6 @@ import os
4
4
  import sys
5
5
  from orionis.console.output.enums import ANSIColors
6
6
  from orionis.console.output.contracts.console import IConsole
7
- from orionis.support.formatter.serializer import Parser
8
7
 
9
8
  class Console(IConsole):
10
9
  """
@@ -512,31 +511,12 @@ class Console(IConsole):
512
511
  -----
513
512
  This method prints the exception type, message, and a detailed stack trace.
514
513
  """
514
+ from rich.console import Console as RichConsole
515
+ from rich.traceback import Traceback
515
516
 
516
- errors = Parser.exception(e).toDict()
517
- error_type = str(errors.get("error_type")).split(".")[-1]
518
- error_message = str(errors.get("error_message")).replace(error_type, "").replace("[]", "").strip()
519
- stack_trace = errors.get("stack_trace")
520
-
521
- # Format the output with a more eye-catching appearance
522
- message = f"{ANSIColors.BG_ERROR.value}{ANSIColors.TEXT_WHITE.value}[{error_type}]{ANSIColors.TEXT_RESET.value}: {ANSIColors.TEXT_WARNING.value}{error_message}{ANSIColors.TEXT_RESET.value}"
523
- print("▬" * len(f" [{error_type}] : {error_message}"))
524
- print(message)
525
-
526
- real_count = len(stack_trace)
527
- count_error = real_count
528
- for frame in stack_trace:
529
- filename = frame["filename"]
530
- lineno = frame["lineno"]
531
- name = frame["name"]
532
- line = frame["line"]
533
-
534
- # Print the stack trace with enhanced styling
535
- print(f"{ANSIColors.TEXT_MUTED.value}Trace Call ({count_error}/{real_count}){ANSIColors.TEXT_RESET.value} - {ANSIColors.TEXT_WHITE.value}{filename}:{lineno}{ANSIColors.TEXT_RESET.value}")
536
- print(f" {ANSIColors.DIM.value}{ANSIColors.ITALIC.value}{ANSIColors.TEXT_WARNING.value}{name}{ANSIColors.TEXT_RESET.value} : {ANSIColors.CYAN.value}{line}{ANSIColors.TEXT_RESET.value}")
537
- count_error -= 1
538
-
539
- print("▬" * len(f" [{error_type}] : {error_message}"))
517
+ rc = RichConsole()
518
+ rc.print("[bold red]❌ Exception caught in method[/]")
519
+ rc.print(Traceback.from_exception(type(e), e, e.__traceback__))
540
520
 
541
521
  def exitSuccess(self, message: str = None) -> None:
542
522
  """
@@ -5,7 +5,7 @@ from apscheduler.triggers.cron import CronTrigger
5
5
  from apscheduler.triggers.date import DateTrigger
6
6
  from apscheduler.triggers.interval import IntervalTrigger
7
7
  from orionis.console.contracts.event import IEvent
8
- from orionis.console.contracts.event_listener import IEventListener
8
+ from orionis.console.contracts.listener import IEventListener
9
9
  from orionis.console.enums.event import Event as EventEntity
10
10
  from orionis.console.exceptions import CLIOrionisValueError
11
11