orionis 0.492.0__tar.gz → 0.493.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 (553) hide show
  1. {orionis-0.492.0/orionis.egg-info → orionis-0.493.0}/PKG-INFO +1 -1
  2. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/base/scheduler.py +2 -8
  3. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/kernel.py +1 -2
  4. orionis-0.492.0/orionis/failure/catch.py → orionis-0.493.0/orionis/failure/base/handler.py +16 -76
  5. orionis-0.493.0/orionis/failure/catch.py +93 -0
  6. orionis-0.493.0/orionis/failure/contracts/catch.py +32 -0
  7. orionis-0.493.0/orionis/failure/contracts/handler.py +38 -0
  8. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/application.py +88 -4
  9. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/contracts/application.py +63 -0
  10. {orionis-0.492.0 → orionis-0.493.0}/orionis/metadata/framework.py +1 -1
  11. {orionis-0.492.0 → orionis-0.493.0/orionis.egg-info}/PKG-INFO +1 -1
  12. {orionis-0.492.0 → orionis-0.493.0}/orionis.egg-info/SOURCES.txt +3 -2
  13. orionis-0.492.0/orionis/console/default/scheduler.py +0 -27
  14. orionis-0.492.0/orionis/failure/contracts/catch.py +0 -91
  15. {orionis-0.492.0 → orionis-0.493.0}/LICENCE +0 -0
  16. {orionis-0.492.0 → orionis-0.493.0}/MANIFEST.in +0 -0
  17. {orionis-0.492.0 → orionis-0.493.0}/README.md +0 -0
  18. {orionis-0.492.0 → orionis-0.493.0}/orionis/__init__.py +0 -0
  19. {orionis-0.492.0 → orionis-0.493.0}/orionis/app.py +0 -0
  20. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/__init__.py +0 -0
  21. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/args/__init__.py +0 -0
  22. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/args/argument.py +0 -0
  23. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/args/enums/__init__.py +0 -0
  24. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/args/enums/actions.py +0 -0
  25. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/base/__init__.py +0 -0
  26. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/base/command.py +0 -0
  27. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/base/contracts/__init__.py +0 -0
  28. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/base/contracts/command.py +0 -0
  29. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/base/contracts/scheduler.py +0 -0
  30. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/__init__.py +0 -0
  31. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/cache.py +0 -0
  32. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/help.py +0 -0
  33. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/publisher.py +0 -0
  34. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/scheduler_list.py +0 -0
  35. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/scheduler_work.py +0 -0
  36. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/test.py +0 -0
  37. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/version.py +0 -0
  38. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/commands/workflow.py +0 -0
  39. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/contracts/__init__.py +0 -0
  40. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/contracts/event.py +0 -0
  41. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/contracts/kernel.py +0 -0
  42. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/contracts/listener.py +0 -0
  43. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/contracts/reactor.py +0 -0
  44. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/contracts/schedule.py +0 -0
  45. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/core/__init__.py +0 -0
  46. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/core/reactor.py +0 -0
  47. {orionis-0.492.0/orionis/console/default → orionis-0.493.0/orionis/console/dumper}/__init__.py +0 -0
  48. {orionis-0.492.0/orionis/console/dumper → orionis-0.493.0/orionis/console/dumper/contracts}/__init__.py +0 -0
  49. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/dumper/contracts/dump.py +0 -0
  50. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/dumper/dump.py +0 -0
  51. {orionis-0.492.0/orionis/console/dumper/contracts → orionis-0.493.0/orionis/console/dynamic}/__init__.py +0 -0
  52. {orionis-0.492.0/orionis/console/dynamic → orionis-0.493.0/orionis/console/dynamic/contracts}/__init__.py +0 -0
  53. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
  54. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/dynamic/progress_bar.py +0 -0
  55. {orionis-0.492.0/orionis/console/dynamic/contracts → orionis-0.493.0/orionis/console/entities}/__init__.py +0 -0
  56. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/entities/listeners.py +0 -0
  57. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/entities/request.py +0 -0
  58. {orionis-0.492.0/orionis/console/entities → orionis-0.493.0/orionis/console/enums}/__init__.py +0 -0
  59. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/enums/command.py +0 -0
  60. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/enums/event.py +0 -0
  61. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/exceptions/__init__.py +0 -0
  62. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/exceptions/cli_exception.py +0 -0
  63. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
  64. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
  65. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
  66. {orionis-0.492.0/orionis/console/enums → orionis-0.493.0/orionis/console/output}/__init__.py +0 -0
  67. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/output/console.py +0 -0
  68. {orionis-0.492.0/orionis/console/output → orionis-0.493.0/orionis/console/output/contracts}/__init__.py +0 -0
  69. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/output/contracts/console.py +0 -0
  70. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/output/contracts/executor.py +0 -0
  71. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/output/enums/__init__.py +0 -0
  72. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/output/enums/styles.py +0 -0
  73. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/output/executor.py +0 -0
  74. {orionis-0.492.0/orionis/console/output/contracts → orionis-0.493.0/orionis/console/tasks}/__init__.py +0 -0
  75. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/tasks/event.py +0 -0
  76. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/tasks/exception_report.py +0 -0
  77. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/tasks/listener.py +0 -0
  78. {orionis-0.492.0 → orionis-0.493.0}/orionis/console/tasks/schedule.py +0 -0
  79. {orionis-0.492.0/orionis/console/tasks → orionis-0.493.0/orionis/container}/__init__.py +0 -0
  80. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/container.py +0 -0
  81. {orionis-0.492.0/orionis/container → orionis-0.493.0/orionis/container/context}/__init__.py +0 -0
  82. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/context/manager.py +0 -0
  83. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/context/scope.py +0 -0
  84. {orionis-0.492.0/orionis/container/context → orionis-0.493.0/orionis/container/contracts}/__init__.py +0 -0
  85. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/contracts/container.py +0 -0
  86. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/contracts/service_provider.py +0 -0
  87. {orionis-0.492.0/orionis/container/contracts → orionis-0.493.0/orionis/container/entities}/__init__.py +0 -0
  88. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/entities/binding.py +0 -0
  89. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/enums/__init__.py +0 -0
  90. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/enums/lifetimes.py +0 -0
  91. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/exceptions/__init__.py +0 -0
  92. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/exceptions/attribute.py +0 -0
  93. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/exceptions/exception.py +0 -0
  94. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/exceptions/type.py +0 -0
  95. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/exceptions/value.py +0 -0
  96. {orionis-0.492.0/orionis/container/entities → orionis-0.493.0/orionis/container/facades}/__init__.py +0 -0
  97. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/facades/facade.py +0 -0
  98. {orionis-0.492.0/orionis/container/facades → orionis-0.493.0/orionis/container/providers}/__init__.py +0 -0
  99. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/providers/service_provider.py +0 -0
  100. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/__init__.py +0 -0
  101. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/implements.py +0 -0
  102. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/is_abstract_class.py +0 -0
  103. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/is_callable.py +0 -0
  104. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/is_concrete_class.py +0 -0
  105. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/is_instance.py +0 -0
  106. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/is_not_subclass.py +0 -0
  107. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/is_subclass.py +0 -0
  108. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/is_valid_alias.py +0 -0
  109. {orionis-0.492.0 → orionis-0.493.0}/orionis/container/validators/lifetime.py +0 -0
  110. {orionis-0.492.0/orionis/container/providers → orionis-0.493.0/orionis/failure}/__init__.py +0 -0
  111. {orionis-0.492.0/orionis/failure → orionis-0.493.0/orionis/failure/base}/__init__.py +0 -0
  112. {orionis-0.492.0 → orionis-0.493.0}/orionis/failure/contracts/__init__.py +0 -0
  113. {orionis-0.492.0 → orionis-0.493.0}/orionis/failure/entities/__init__.py +0 -0
  114. {orionis-0.492.0 → orionis-0.493.0}/orionis/failure/entities/throwable.py +0 -0
  115. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/__init__.py +0 -0
  116. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/__init__.py +0 -0
  117. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/app/__init__.py +0 -0
  118. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
  119. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/app/entities/app.py +0 -0
  120. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  121. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
  122. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  123. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/auth/__init__.py +0 -0
  124. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
  125. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  126. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cache/__init__.py +0 -0
  127. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
  128. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  129. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  130. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  131. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  132. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  133. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cors/__init__.py +0 -0
  134. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
  135. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  136. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/__init__.py +0 -0
  137. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
  138. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  139. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/database.py +0 -0
  140. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  141. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  142. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  143. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  144. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  145. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  146. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  147. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  148. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  149. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  150. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  151. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  152. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  153. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  154. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  155. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  156. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
  157. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
  158. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  159. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  160. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  161. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  162. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  163. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/__init__.py +0 -0
  164. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
  165. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  166. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  167. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  168. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  169. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  170. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  171. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  172. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  173. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  174. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  175. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
  176. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/validators/level.py +0 -0
  177. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/logging/validators/path.py +0 -0
  178. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/mail/__init__.py +0 -0
  179. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
  180. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  181. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  182. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  183. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  184. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/queue/__init__.py +0 -0
  185. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
  186. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  187. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  188. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  189. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
  190. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  191. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/roots/__init__.py +0 -0
  192. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/roots/paths.py +0 -0
  193. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/session/__init__.py +0 -0
  194. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
  195. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/session/entities/session.py +0 -0
  196. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  197. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  198. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
  199. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  200. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/startup.py +0 -0
  201. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/testing/__init__.py +0 -0
  202. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
  203. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
  204. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  205. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
  206. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
  207. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
  208. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/contracts/__init__.py +0 -0
  209. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/contracts/config.py +0 -0
  210. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/exceptions/__init__.py +0 -0
  211. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/exceptions/integrity.py +0 -0
  212. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/exceptions/runtime.py +0 -0
  213. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/exceptions/type.py +0 -0
  214. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/exceptions/value.py +0 -0
  215. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/__init__.py +0 -0
  216. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/catch_provider.py +0 -0
  217. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/console_provider.py +0 -0
  218. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/dumper_provider.py +0 -0
  219. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/executor_provider.py +0 -0
  220. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
  221. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/logger_provider.py +0 -0
  222. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
  223. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
  224. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/reactor_provider.py +0 -0
  225. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
  226. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/testing_provider.py +0 -0
  227. {orionis-0.492.0 → orionis-0.493.0}/orionis/foundation/providers/workers_provider.py +0 -0
  228. {orionis-0.492.0 → orionis-0.493.0}/orionis/metadata/__init__.py +0 -0
  229. {orionis-0.492.0 → orionis-0.493.0}/orionis/metadata/package.py +0 -0
  230. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/__init__.py +0 -0
  231. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/asynchrony/__init__.py +0 -0
  232. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
  233. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  234. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/asynchrony/coroutines.py +0 -0
  235. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  236. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
  237. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/__init__.py +0 -0
  238. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/contracts/__init__.py +0 -0
  239. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/contracts/caster.py +0 -0
  240. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/contracts/env.py +0 -0
  241. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/core/__init__.py +0 -0
  242. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/core/dot_env.py +0 -0
  243. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/dynamic/__init__.py +0 -0
  244. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/dynamic/caster.py +0 -0
  245. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/enums/__init__.py +0 -0
  246. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/enums/value_type.py +0 -0
  247. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/env.py +0 -0
  248. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  249. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/exceptions/exception.py +0 -0
  250. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/exceptions/value.py +0 -0
  251. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/helpers/__init__.py +0 -0
  252. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/helpers/functions.py +0 -0
  253. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/key/__init__.py +0 -0
  254. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/key/key_generator.py +0 -0
  255. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/validators/__init__.py +0 -0
  256. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/validators/key_name.py +0 -0
  257. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/environment/validators/types.py +0 -0
  258. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/file/__init__.py +0 -0
  259. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/file/directory.py +0 -0
  260. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/inspirational/__init__.py +0 -0
  261. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
  262. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
  263. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/inspirational/inspire.py +0 -0
  264. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/inspirational/quotes.py +0 -0
  265. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/__init__.py +0 -0
  266. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/abstract/__init__.py +0 -0
  267. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
  268. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
  269. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/abstract/reflection.py +0 -0
  270. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/callables/__init__.py +0 -0
  271. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
  272. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
  273. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/callables/reflection.py +0 -0
  274. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/concretes/__init__.py +0 -0
  275. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
  276. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
  277. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/concretes/reflection.py +0 -0
  278. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
  279. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
  280. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
  281. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
  282. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
  283. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
  284. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
  285. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  286. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
  287. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/exceptions/type.py +0 -0
  288. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/exceptions/value.py +0 -0
  289. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/instances/__init__.py +0 -0
  290. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
  291. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
  292. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/instances/reflection.py +0 -0
  293. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/modules/__init__.py +0 -0
  294. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
  295. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
  296. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/modules/reflection.py +0 -0
  297. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/objects/__init__.py +0 -0
  298. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/objects/types.py +0 -0
  299. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/introspection/reflection.py +0 -0
  300. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/__init__.py +0 -0
  301. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/contracts/__init__.py +0 -0
  302. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/contracts/log_service.py +0 -0
  303. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/exceptions/__init__.py +0 -0
  304. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/exceptions/runtime.py +0 -0
  305. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/handlers/__init__.py +0 -0
  306. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/handlers/filename.py +0 -0
  307. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/handlers/size_rotating.py +0 -0
  308. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
  309. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/log/log_service.py +0 -0
  310. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/system/__init__.py +0 -0
  311. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/system/contracts/__init__.py +0 -0
  312. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/system/contracts/imports.py +0 -0
  313. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/system/contracts/workers.py +0 -0
  314. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/system/imports.py +0 -0
  315. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/system/runtime/__init__.py +0 -0
  316. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/system/runtime/imports.py +0 -0
  317. {orionis-0.492.0 → orionis-0.493.0}/orionis/services/system/workers.py +0 -0
  318. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/__init__.py +0 -0
  319. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/entities/__init__.py +0 -0
  320. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/entities/base.py +0 -0
  321. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/__init__.py +0 -0
  322. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/application.py +0 -0
  323. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/console.py +0 -0
  324. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/dumper.py +0 -0
  325. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/executor.py +0 -0
  326. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/inspire.py +0 -0
  327. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/logger.py +0 -0
  328. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/performance_counter.py +0 -0
  329. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/progress_bar.py +0 -0
  330. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/reactor.py +0 -0
  331. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/testing.py +0 -0
  332. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/facades/workers.py +0 -0
  333. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/formatter/__init__.py +0 -0
  334. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
  335. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
  336. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
  337. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/formatter/exceptions/parser.py +0 -0
  338. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/formatter/serializer.py +0 -0
  339. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/patterns/__init__.py +0 -0
  340. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/patterns/singleton/__init__.py +0 -0
  341. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/patterns/singleton/meta.py +0 -0
  342. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/performance/__init__.py +0 -0
  343. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/performance/contracts/__init__.py +0 -0
  344. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/performance/contracts/counter.py +0 -0
  345. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/performance/counter.py +0 -0
  346. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/standard/__init__.py +0 -0
  347. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/standard/contracts/__init__.py +0 -0
  348. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/standard/contracts/std.py +0 -0
  349. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  350. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/standard/exceptions/value.py +0 -0
  351. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/standard/std.py +0 -0
  352. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/wrapper/__init__.py +0 -0
  353. {orionis-0.492.0 → orionis-0.493.0}/orionis/support/wrapper/dot_dict.py +0 -0
  354. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/__init__.py +0 -0
  355. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/cases/__init__.py +0 -0
  356. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/cases/asynchronous.py +0 -0
  357. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/cases/synchronous.py +0 -0
  358. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/contracts/__init__.py +0 -0
  359. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/contracts/dumper.py +0 -0
  360. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/contracts/kernel.py +0 -0
  361. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/contracts/logs.py +0 -0
  362. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/contracts/printer.py +0 -0
  363. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/contracts/render.py +0 -0
  364. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/contracts/test_result.py +0 -0
  365. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/contracts/unit_test.py +0 -0
  366. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/core/__init__.py +0 -0
  367. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/core/unit_test.py +0 -0
  368. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/entities/__init__.py +0 -0
  369. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/entities/result.py +0 -0
  370. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/enums/__init__.py +0 -0
  371. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/enums/status.py +0 -0
  372. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/exceptions/__init__.py +0 -0
  373. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/exceptions/config.py +0 -0
  374. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/exceptions/failure.py +0 -0
  375. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/exceptions/persistence.py +0 -0
  376. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/exceptions/runtime.py +0 -0
  377. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/exceptions/value.py +0 -0
  378. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/kernel.py +0 -0
  379. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/output/__init__.py +0 -0
  380. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/output/dumper.py +0 -0
  381. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/output/printer.py +0 -0
  382. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/records/__init__.py +0 -0
  383. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/records/logs.py +0 -0
  384. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/__init__.py +0 -0
  385. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/base_path.py +0 -0
  386. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/execution_mode.py +0 -0
  387. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/fail_fast.py +0 -0
  388. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/folder_path.py +0 -0
  389. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/module_name.py +0 -0
  390. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/name_pattern.py +0 -0
  391. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/pattern.py +0 -0
  392. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/persistent.py +0 -0
  393. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/persistent_driver.py +0 -0
  394. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/print_result.py +0 -0
  395. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/tags.py +0 -0
  396. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/throw_exception.py +0 -0
  397. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/verbosity.py +0 -0
  398. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/web_report.py +0 -0
  399. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/validators/workers.py +0 -0
  400. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/view/__init__.py +0 -0
  401. {orionis-0.492.0 → orionis-0.493.0}/orionis/test/view/render.py +0 -0
  402. {orionis-0.492.0 → orionis-0.493.0}/orionis.egg-info/dependency_links.txt +0 -0
  403. {orionis-0.492.0 → orionis-0.493.0}/orionis.egg-info/requires.txt +0 -0
  404. {orionis-0.492.0 → orionis-0.493.0}/orionis.egg-info/top_level.txt +0 -0
  405. {orionis-0.492.0 → orionis-0.493.0}/orionis.egg-info/zip-safe +0 -0
  406. {orionis-0.492.0 → orionis-0.493.0}/setup.cfg +0 -0
  407. {orionis-0.492.0 → orionis-0.493.0}/setup.py +0 -0
  408. {orionis-0.492.0 → orionis-0.493.0}/tests/__init__.py +0 -0
  409. {orionis-0.492.0 → orionis-0.493.0}/tests/container/__init__.py +0 -0
  410. {orionis-0.492.0 → orionis-0.493.0}/tests/container/context/__init__.py +0 -0
  411. {orionis-0.492.0 → orionis-0.493.0}/tests/container/context/test_manager.py +0 -0
  412. {orionis-0.492.0 → orionis-0.493.0}/tests/container/context/test_scope.py +0 -0
  413. {orionis-0.492.0 → orionis-0.493.0}/tests/container/core/__init__.py +0 -0
  414. {orionis-0.492.0 → orionis-0.493.0}/tests/container/core/test_advanced_async.py +0 -0
  415. {orionis-0.492.0 → orionis-0.493.0}/tests/container/core/test_async_optimizations.py +0 -0
  416. {orionis-0.492.0 → orionis-0.493.0}/tests/container/core/test_container.py +0 -0
  417. {orionis-0.492.0 → orionis-0.493.0}/tests/container/core/test_singleton.py +0 -0
  418. {orionis-0.492.0 → orionis-0.493.0}/tests/container/core/test_thread_safety.py +0 -0
  419. {orionis-0.492.0 → orionis-0.493.0}/tests/container/entities/__init__.py +0 -0
  420. {orionis-0.492.0 → orionis-0.493.0}/tests/container/entities/test_binding.py +0 -0
  421. {orionis-0.492.0 → orionis-0.493.0}/tests/container/enums/__init__.py +0 -0
  422. {orionis-0.492.0 → orionis-0.493.0}/tests/container/enums/test_lifetimes.py +0 -0
  423. {orionis-0.492.0 → orionis-0.493.0}/tests/container/facades/__init__.py +0 -0
  424. {orionis-0.492.0 → orionis-0.493.0}/tests/container/facades/test_facade.py +0 -0
  425. {orionis-0.492.0 → orionis-0.493.0}/tests/container/mocks/__init__.py +0 -0
  426. {orionis-0.492.0 → orionis-0.493.0}/tests/container/mocks/mock_advanced_async.py +0 -0
  427. {orionis-0.492.0 → orionis-0.493.0}/tests/container/mocks/mock_async_optimizations.py +0 -0
  428. {orionis-0.492.0 → orionis-0.493.0}/tests/container/mocks/mock_auto_resolution.py +0 -0
  429. {orionis-0.492.0 → orionis-0.493.0}/tests/container/mocks/mock_complex_classes.py +0 -0
  430. {orionis-0.492.0 → orionis-0.493.0}/tests/container/mocks/mock_simple_classes.py +0 -0
  431. {orionis-0.492.0 → orionis-0.493.0}/tests/container/providers/__init__.py +0 -0
  432. {orionis-0.492.0 → orionis-0.493.0}/tests/container/providers/test_providers.py +0 -0
  433. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/__init__.py +0 -0
  434. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_implements.py +0 -0
  435. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_is_abstract_class.py +0 -0
  436. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_is_callable.py +0 -0
  437. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_is_concrete_class.py +0 -0
  438. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_is_instance.py +0 -0
  439. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_is_not_subclass.py +0 -0
  440. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_is_subclass.py +0 -0
  441. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_is_valid_alias.py +0 -0
  442. {orionis-0.492.0 → orionis-0.493.0}/tests/container/validators/test_lifetime.py +0 -0
  443. {orionis-0.492.0 → orionis-0.493.0}/tests/example/__init__.py +0 -0
  444. {orionis-0.492.0 → orionis-0.493.0}/tests/example/test_example.py +0 -0
  445. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/__init__.py +0 -0
  446. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/__init__.py +0 -0
  447. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/app/__init__.py +0 -0
  448. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
  449. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/auth/__init__.py +0 -0
  450. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
  451. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/cache/__init__.py +0 -0
  452. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
  453. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
  454. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
  455. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/cors/__init__.py +0 -0
  456. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
  457. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/database/__init__.py +0 -0
  458. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
  459. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
  460. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
  461. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
  462. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
  463. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
  464. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/filesystems/__init__.py +0 -0
  465. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
  466. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
  467. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
  468. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
  469. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
  470. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/__init__.py +0 -0
  471. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
  472. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
  473. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
  474. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
  475. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
  476. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
  477. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
  478. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
  479. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/mail/__init__.py +0 -0
  480. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
  481. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
  482. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
  483. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
  484. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/queue/__init__.py +0 -0
  485. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
  486. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
  487. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
  488. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/root/__init__.py +0 -0
  489. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
  490. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/session/__init__.py +0 -0
  491. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
  492. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/startup/__init__.py +0 -0
  493. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
  494. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/testing/__init__.py +0 -0
  495. {orionis-0.492.0 → orionis-0.493.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
  496. {orionis-0.492.0 → orionis-0.493.0}/tests/metadata/__init__.py +0 -0
  497. {orionis-0.492.0 → orionis-0.493.0}/tests/metadata/test_metadata_framework.py +0 -0
  498. {orionis-0.492.0 → orionis-0.493.0}/tests/metadata/test_metadata_package.py +0 -0
  499. {orionis-0.492.0 → orionis-0.493.0}/tests/services/__init__.py +0 -0
  500. {orionis-0.492.0 → orionis-0.493.0}/tests/services/asynchrony/__init__.py +0 -0
  501. {orionis-0.492.0 → orionis-0.493.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
  502. {orionis-0.492.0 → orionis-0.493.0}/tests/services/environment/__init__.py +0 -0
  503. {orionis-0.492.0 → orionis-0.493.0}/tests/services/environment/test_services_environment.py +0 -0
  504. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/__init__.py +0 -0
  505. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/dependencies/__init__.py +0 -0
  506. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/dependencies/mocks/__init__.py +0 -0
  507. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/dependencies/mocks/mock_user.py +0 -0
  508. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -0
  509. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -0
  510. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -0
  511. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/reflection/__init__.py +0 -0
  512. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/reflection/mock/__init__.py +0 -0
  513. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -0
  514. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_abstract.py +0 -0
  515. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_callable.py +0 -0
  516. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_concrete.py +0 -0
  517. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_instance.py +0 -0
  518. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_module.py +0 -0
  519. {orionis-0.492.0 → orionis-0.493.0}/tests/services/introspection/test_reflection.py +0 -0
  520. {orionis-0.492.0 → orionis-0.493.0}/tests/services/log/__init__.py +0 -0
  521. {orionis-0.492.0 → orionis-0.493.0}/tests/services/log/test_log.py +0 -0
  522. {orionis-0.492.0 → orionis-0.493.0}/tests/services/system/__init__.py +0 -0
  523. {orionis-0.492.0 → orionis-0.493.0}/tests/services/system/test_services_system_imports.py +0 -0
  524. {orionis-0.492.0 → orionis-0.493.0}/tests/services/system/test_services_system_workers.py +0 -0
  525. {orionis-0.492.0 → orionis-0.493.0}/tests/support/__init__.py +0 -0
  526. {orionis-0.492.0 → orionis-0.493.0}/tests/support/entities/__init__.py +0 -0
  527. {orionis-0.492.0 → orionis-0.493.0}/tests/support/entities/mock_dataclass.py +0 -0
  528. {orionis-0.492.0 → orionis-0.493.0}/tests/support/entities/test_base.py +0 -0
  529. {orionis-0.492.0 → orionis-0.493.0}/tests/support/patterns/__init__.py +0 -0
  530. {orionis-0.492.0 → orionis-0.493.0}/tests/support/patterns/singleton/__init__.py +0 -0
  531. {orionis-0.492.0 → orionis-0.493.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
  532. {orionis-0.492.0 → orionis-0.493.0}/tests/support/standard/__init__.py +0 -0
  533. {orionis-0.492.0 → orionis-0.493.0}/tests/support/standard/test_services_std.py +0 -0
  534. {orionis-0.492.0 → orionis-0.493.0}/tests/support/wrapper/__init__.py +0 -0
  535. {orionis-0.492.0 → orionis-0.493.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
  536. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/__init__.py +0 -0
  537. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/cases/__init__.py +0 -0
  538. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/cases/test_testing_asynchronous.py +0 -0
  539. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/cases/test_testing_synchronous.py +0 -0
  540. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/entities/__init__.py +0 -0
  541. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/entities/test_testing_result.py +0 -0
  542. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/enums/__init__.py +0 -0
  543. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/enums/test_testing_status.py +0 -0
  544. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/output/__init__.py +0 -0
  545. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/output/test_testing_dumper.py +0 -0
  546. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/output/test_testing_printer.py +0 -0
  547. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/records/__init__.py +0 -0
  548. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/records/test_testing_records.py +0 -0
  549. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/test_testing_unit.py +0 -0
  550. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/validators/__init__.py +0 -0
  551. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/validators/test_testing_validators.py +0 -0
  552. {orionis-0.492.0 → orionis-0.493.0}/tests/testing/view/__init__.py +0 -0
  553. {orionis-0.492.0 → orionis-0.493.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.492.0
3
+ Version: 0.493.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
@@ -27,15 +27,9 @@ class BaseScheduler(IBaseScheduler):
27
27
  None
28
28
  This method does not return any value. It is intended to be overridden
29
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
30
  """
37
- # Raise an error to enforce implementation in subclasses
38
- raise NotImplementedError("The 'tasks' method must be implemented in the subclass.")
31
+ # Placeholder for task registration logic
32
+ pass
39
33
 
40
34
  def onStarted(self):
41
35
  """
@@ -103,8 +103,7 @@ class KernelCLI(IKernelCLI):
103
103
  except BaseException as e:
104
104
 
105
105
  # Catch any exceptions that occur during command handling
106
- self.__catch.report(e)
107
- self.__catch.renderCLI(args, e)
106
+ self.__catch.exception(self, args, e)
108
107
 
109
108
  # Exit the process with a non-zero status code to indicate an error
110
109
  sys.exit(1)
@@ -1,51 +1,17 @@
1
1
  from typing import Any, List
2
2
  from orionis.console.output.contracts.console import IConsole
3
- from orionis.failure.contracts.catch import ICatch
3
+ from orionis.failure.contracts.handler import IBaseExceptionHandler
4
4
  from orionis.failure.entities.throwable import Throwable
5
- from orionis.foundation.contracts.application import IApplication
6
5
  from orionis.services.log.contracts.log_service import ILogger
7
6
 
8
- class Catch(ICatch):
7
+ class BaseExceptionHandler(IBaseExceptionHandler):
9
8
 
10
9
  # Exceptions that should not be caught by the handler
11
10
  dont_cathc: List[type[BaseException]] = [
12
- #...
11
+ # Add specific exceptions that should not be caught
12
+ # Example: OrionisContainerException
13
13
  ]
14
14
 
15
- def __init__(self, app: IApplication) -> None:
16
- """
17
- Initializes the Catch handler with application services for console output and logging.
18
-
19
- Parameters
20
- ----------
21
- app : IApplication
22
- The application instance used to resolve required services.
23
-
24
- Attributes
25
- ----------
26
- console : IConsole
27
- Console output service obtained from the application for displaying messages and exceptions.
28
- logger : ILogger
29
- Logger service obtained from the application for logging errors and exceptions.
30
-
31
- Returns
32
- -------
33
- None
34
- This constructor does not return any value.
35
-
36
- Notes
37
- -----
38
- The constructor retrieves the console and logger services from the application container
39
- using their respective service keys. These services are used throughout the class for
40
- error reporting and output.
41
- """
42
-
43
- # Retrieve the console output service from the application container
44
- self.console: IConsole = app.make('x-orionis.console.output.console')
45
-
46
- # Retrieve the logger service from the application container
47
- self.logger: ILogger = app.make('x-orionis.services.log.log_service')
48
-
49
15
  def destructureException(self, e: BaseException) -> Throwable:
50
16
  """
51
17
  Converts an exception into a structured `Throwable` object containing detailed information.
@@ -74,31 +40,19 @@ class Catch(ICatch):
74
40
  traceback=getattr(e, '__traceback__', None) # The traceback object, if available
75
41
  )
76
42
 
77
- def report(self, exception: BaseException) -> Any:
43
+ def report (self, exception: BaseException, log: ILogger) -> Any:
78
44
  """
79
- Logs and returns a destructured representation of an exception.
45
+ Report or log an exception.
80
46
 
81
47
  Parameters
82
48
  ----------
83
49
  exception : BaseException
84
- The exception instance to be reported.
50
+ The exception instance that was caught.
85
51
 
86
52
  Returns
87
53
  -------
88
- Throwable
89
- A destructured representation of the exception, containing its type, message, arguments, and traceback.
90
-
91
- Raises
92
- ------
93
- TypeError
94
- If the provided exception is not an instance of BaseException.
95
-
96
- Notes
97
- -----
98
- This method logs the exception details using the configured logger and returns a structured
99
- representation of the exception for further processing.
54
+ None
100
55
  """
101
-
102
56
  # Ensure the provided object is an exception
103
57
  if not isinstance(exception, BaseException):
104
58
  raise TypeError(f"Expected BaseException, got {type(exception).__name__}")
@@ -111,38 +65,24 @@ class Catch(ICatch):
111
65
  return
112
66
 
113
67
  # Log the exception details
114
- self.logger.error(f"[{throwable.classtype.__name__}] {throwable.message}")
68
+ log.error(f"[{throwable.classtype.__name__}] {throwable.message}")
115
69
 
116
70
  # Return the structured exception
117
71
  return throwable
118
72
 
119
- def renderCLI(self, args: List[str], exception: BaseException) -> Any:
73
+ def renderCLI(self, args: List[str], exception: BaseException, log: ILogger, console: IConsole) -> Any:
120
74
  """
121
- Renders a CLI-friendly error message for a given exception.
75
+ Render the exception message for CLI output.
122
76
 
123
77
  Parameters
124
78
  ----------
125
- args : list
126
- The list of command-line arguments that were passed to the CLI.
127
79
  exception : BaseException
128
- The exception instance to be rendered.
80
+ The exception instance that was caught.
129
81
 
130
82
  Returns
131
83
  -------
132
84
  None
133
- This method does not return any value.
134
-
135
- Raises
136
- ------
137
- TypeError
138
- If the provided exception is not an instance of BaseException.
139
-
140
- Notes
141
- -----
142
- This method logs the error message using the configured logger and outputs
143
- the exception traceback to the console for user visibility.
144
85
  """
145
-
146
86
  # Ensure the provided object is an exception
147
87
  if not isinstance(exception, BaseException):
148
88
  raise TypeError(f"Expected BaseException, got {type(exception).__name__}")
@@ -155,9 +95,9 @@ class Catch(ICatch):
155
95
  return
156
96
 
157
97
  # Log the CLI error message with arguments
158
- self.logger.error(f"CLI Error: {throwable.message} (Args: {args})")
98
+ log.error(f"CLI Error: {throwable.message} (Args: {args})")
159
99
 
160
100
  # Output the exception traceback to the console
161
- self.console.newLine()
162
- self.console.exception(exception)
163
- self.console.newLine()
101
+ console.newLine()
102
+ console.exception(exception)
103
+ console.newLine()
@@ -0,0 +1,93 @@
1
+ from typing import Any, List
2
+ from orionis.console.kernel import KernelCLI
3
+ from orionis.console.output.contracts.console import IConsole
4
+ from orionis.failure.contracts.catch import ICatch
5
+ from orionis.failure.contracts.handler import IBaseExceptionHandler
6
+ from orionis.foundation.contracts.application import IApplication
7
+ from orionis.services.log.contracts.log_service import ILogger
8
+
9
+ class Catch(ICatch):
10
+
11
+ # Exceptions that should not be caught by the handler
12
+ dont_cathc: List[type[BaseException]] = [
13
+ #...
14
+ ]
15
+
16
+ def __init__(self, app: IApplication) -> None:
17
+ """
18
+ Initializes the Catch handler with application services for console output and logging.
19
+
20
+ Parameters
21
+ ----------
22
+ app : IApplication
23
+ The application instance used to resolve required services.
24
+
25
+ Attributes
26
+ ----------
27
+ console : IConsole
28
+ Console output service obtained from the application for displaying messages and exceptions.
29
+ logger : ILogger
30
+ Logger service obtained from the application for logging errors and exceptions.
31
+
32
+ Returns
33
+ -------
34
+ None
35
+ This constructor does not return any value.
36
+
37
+ Notes
38
+ -----
39
+ The constructor retrieves the console and logger services from the application container
40
+ using their respective service keys. These services are used throughout the class for
41
+ error reporting and output.
42
+ """
43
+
44
+ # Retrieve the console output service from the application container
45
+ self.__console: IConsole = app.make('x-orionis.console.output.console')
46
+
47
+ # Retrieve the logger service from the application container
48
+ self.__logger: ILogger = app.make('x-orionis.services.log.log_service')
49
+
50
+ # Retrieve the console output service from the application container
51
+ self.__exception_handler: IBaseExceptionHandler = app.getExceptionHandler()
52
+
53
+ def exception(self, kernel: Any, request: Any, e: BaseException) -> None:
54
+ """
55
+ Handles and reports exceptions that occur during CLI execution.
56
+
57
+ This method reports the provided exception using the application's exception handler and logger.
58
+ If a kernel instance is provided, it also renders the exception details to the CLI for user visibility.
59
+
60
+ Parameters
61
+ ----------
62
+ kernel : Any
63
+ The kernel instance associated with the CLI, or None if not available.
64
+ request : Any
65
+ The request or arguments associated with the CLI command.
66
+ e : BaseException
67
+ The exception instance to be handled.
68
+
69
+ Returns
70
+ -------
71
+ None
72
+ This method does not return any value. It performs side effects such as logging and output.
73
+
74
+ Notes
75
+ -----
76
+ The exception is always reported using the exception handler and logger.
77
+ If a valid kernel is provided, the exception details are rendered to the CLI.
78
+ """
79
+
80
+ # Report the exception using the application's exception handler and logger
81
+ self.__exception_handler.report(
82
+ exception=e,
83
+ log=self.__logger
84
+ )
85
+
86
+ # If a kernel is provided, render the exception details to the CLI
87
+ if isinstance(kernel, KernelCLI):
88
+ return self.__exception_handler.renderCLI(
89
+ args=request,
90
+ exception=e,
91
+ log=self.__logger,
92
+ console=self.__console
93
+ )
@@ -0,0 +1,32 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any
3
+
4
+ class ICatch(ABC):
5
+
6
+ @abstractmethod
7
+ def exception(self, kernel: Any, request: Any, e: BaseException) -> None:
8
+ """
9
+ Handles and reports exceptions that occur during CLI execution.
10
+
11
+ This method reports the provided exception using the application's exception handler and logger.
12
+ If a kernel instance is provided, it also renders the exception details to the CLI for user visibility.
13
+
14
+ Parameters
15
+ ----------
16
+ kernel : Any
17
+ The kernel instance associated with the CLI, or None if not available.
18
+ request : Any
19
+ The request or arguments associated with the CLI command.
20
+ e : BaseException
21
+ The exception instance to be handled.
22
+
23
+ Returns
24
+ -------
25
+ None
26
+ This method does not return any value. It performs side effects such as logging and output.
27
+
28
+ Notes
29
+ -----
30
+ The exception is always reported using the exception handler and logger.
31
+ If a valid kernel is provided, the exception details are rendered to the CLI.
32
+ """
@@ -0,0 +1,38 @@
1
+ from abc import abstractmethod
2
+ from typing import Any, List
3
+ from orionis.console.output.contracts.console import IConsole
4
+ from orionis.services.log.contracts.log_service import ILogger
5
+
6
+ class IBaseExceptionHandler:
7
+
8
+ @abstractmethod
9
+ def report (self, exception: BaseException, log: ILogger) -> Any:
10
+ """
11
+ Report or log an exception.
12
+
13
+ Parameters
14
+ ----------
15
+ exception : BaseException
16
+ The exception instance that was caught.
17
+
18
+ Returns
19
+ -------
20
+ None
21
+ """
22
+ pass
23
+
24
+ @abstractmethod
25
+ def renderCLI(self, args: List[str], exception: BaseException, log: ILogger, console: IConsole) -> Any:
26
+ """
27
+ Render the exception message for CLI output.
28
+
29
+ Parameters
30
+ ----------
31
+ exception : BaseException
32
+ The exception instance that was caught.
33
+
34
+ Returns
35
+ -------
36
+ None
37
+ """
38
+ pass
@@ -2,9 +2,12 @@ import asyncio
2
2
  import time
3
3
  from pathlib import Path
4
4
  from typing import Any, List, Type
5
+ from orionis.console.base.contracts.scheduler import IBaseScheduler
5
6
  from orionis.console.base.scheduler import BaseScheduler
6
7
  from orionis.container.container import Container
7
8
  from orionis.container.contracts.service_provider import IServiceProvider
9
+ from orionis.failure.base.handler import BaseExceptionHandler
10
+ from orionis.failure.contracts.handler import IBaseExceptionHandler
8
11
  from orionis.foundation.config.app.entities.app import App
9
12
  from orionis.foundation.config.auth.entities.auth import Auth
10
13
  from orionis.foundation.config.cache.entities.cache import Cache
@@ -117,6 +120,9 @@ class Application(Container, IApplication):
117
120
  # Property to store the scheduler instance
118
121
  self.__scheduler: BaseScheduler = None
119
122
 
123
+ # Property to store the exception handler class
124
+ self.__exception_handler: Type[BaseExceptionHandler] = None
125
+
120
126
  # Flag to prevent re-initialization
121
127
  self.__initialized = True
122
128
 
@@ -383,9 +389,88 @@ class Application(Container, IApplication):
383
389
  # for complex and unique application requirements, supporting advanced customization
384
390
  # of every subsystem as needed.
385
391
 
392
+ def setExceptionHandler(
393
+ self,
394
+ handler: IBaseExceptionHandler
395
+ ) -> 'Application':
396
+ """
397
+ Register a custom exception handler class for the application.
398
+
399
+ This method allows you to specify a custom exception handler class that
400
+ inherits from BaseExceptionHandler. The handler class will be used to
401
+ manage exceptions raised within the application, including reporting and
402
+ rendering error messages. The provided handler must be a class (not an
403
+ instance) and must inherit from BaseExceptionHandler.
404
+
405
+ Parameters
406
+ ----------
407
+ handler : Type[BaseExceptionHandler]
408
+ The exception handler class to be used by the application. Must be a
409
+ subclass of BaseExceptionHandler.
410
+
411
+ Returns
412
+ -------
413
+ Application
414
+ The current Application instance, allowing for method chaining.
415
+
416
+ Raises
417
+ ------
418
+ OrionisTypeError
419
+ If the provided handler is not a class or is not a subclass of BaseExceptionHandler.
420
+
421
+ Notes
422
+ -----
423
+ The handler is stored internally and will be instantiated when needed.
424
+ This method does not instantiate the handler; it only registers the class.
425
+ """
426
+
427
+ # Ensure the provided handler is a subclass of BaseExceptionHandler
428
+ if not issubclass(handler, BaseExceptionHandler):
429
+ raise OrionisTypeError(f"Expected BaseExceptionHandler subclass, got {type(handler).__name__}")
430
+
431
+ # Store the handler class in the application for later use
432
+ self.__exception_handler = handler
433
+
434
+ # Return the application instance for method chaining
435
+ return self
436
+
437
+ def getExceptionHandler(
438
+ self
439
+ ) -> IBaseExceptionHandler:
440
+ """
441
+ Retrieve the currently registered exception handler instance.
442
+
443
+ This method returns an instance of the exception handler that has been set using
444
+ the `setExceptionHandler` method. If no custom handler has been set, it returns
445
+ a default `BaseExceptionHandler` instance. The returned object is responsible
446
+ for handling exceptions within the application, including reporting and rendering
447
+ error messages.
448
+
449
+ Returns
450
+ -------
451
+ BaseExceptionHandler
452
+ An instance of the currently registered exception handler. If no handler
453
+ has been set, returns a default `BaseExceptionHandler` instance.
454
+
455
+ Notes
456
+ -----
457
+ This method always returns an instance (not a class) of the exception handler.
458
+ If a custom handler was registered, it is instantiated and returned; otherwise,
459
+ a default handler is used.
460
+ """
461
+
462
+ # Check if an exception handler has been set
463
+ if self.__exception_handler is None:
464
+
465
+ # Return the default exception handler instance
466
+ return BaseExceptionHandler()
467
+
468
+ # Instantiate and return the registered exception handler
469
+ return self.__exception_handler()
470
+
386
471
  def setScheduler(
387
472
  self,
388
- scheduler: BaseScheduler
473
+ scheduler: IBaseScheduler
389
474
  ) -> 'Application':
390
475
  """
391
476
  Register a custom scheduler class for the application.
@@ -430,7 +515,7 @@ class Application(Container, IApplication):
430
515
 
431
516
  def getScheduler(
432
517
  self
433
- ) -> BaseScheduler:
518
+ ) -> IBaseScheduler:
434
519
  """
435
520
  Retrieve the currently registered scheduler instance.
436
521
 
@@ -450,8 +535,7 @@ class Application(Container, IApplication):
450
535
 
451
536
  # Check if a scheduler has been set
452
537
  if self.__scheduler is None:
453
- from orionis.console.default.scheduler import Scheduler as DefaultScheduler
454
- return DefaultScheduler()
538
+ return BaseScheduler()
455
539
 
456
540
  # Return the registered scheduler instance
457
541
  return self.__scheduler()
@@ -2,6 +2,7 @@ from abc import abstractmethod
2
2
  from pathlib import Path
3
3
  from typing import Any, List, Type
4
4
  from orionis.console.base.scheduler import BaseScheduler
5
+ from orionis.failure.contracts.handler import IBaseExceptionHandler
5
6
  from orionis.foundation.config.roots.paths import Paths
6
7
  from orionis.container.contracts.service_provider import IServiceProvider
7
8
  from orionis.container.contracts.container import IContainer
@@ -93,6 +94,68 @@ class IApplication(IContainer):
93
94
  """
94
95
  pass
95
96
 
97
+ def setExceptionHandler(
98
+ self,
99
+ handler: IBaseExceptionHandler
100
+ ) -> 'IApplication':
101
+ """
102
+ Register a custom exception handler class for the application.
103
+
104
+ This method allows you to specify a custom exception handler class that
105
+ inherits from BaseHandlerException. The handler class will be used to
106
+ manage exceptions raised within the application, including reporting and
107
+ rendering error messages. The provided handler must be a class (not an
108
+ instance) and must inherit from BaseHandlerException.
109
+
110
+ Parameters
111
+ ----------
112
+ handler : Type[BaseHandlerException]
113
+ The exception handler class to be used by the application. Must be a
114
+ subclass of BaseHandlerException.
115
+
116
+ Returns
117
+ -------
118
+ Application
119
+ The current Application instance, allowing for method chaining.
120
+
121
+ Raises
122
+ ------
123
+ OrionisTypeError
124
+ If the provided handler is not a class or is not a subclass of BaseHandlerException.
125
+
126
+ Notes
127
+ -----
128
+ The handler is stored internally and will be instantiated when needed.
129
+ This method does not instantiate the handler; it only registers the class.
130
+ """
131
+ pass
132
+
133
+ def getExceptionHandler(
134
+ self
135
+ ) -> IBaseExceptionHandler:
136
+ """
137
+ Retrieve the currently registered exception handler instance.
138
+
139
+ This method returns an instance of the exception handler that has been set using
140
+ the `setExceptionHandler` method. If no custom handler has been set, it returns
141
+ a default `BaseHandlerException` instance. The returned object is responsible
142
+ for handling exceptions within the application, including reporting and rendering
143
+ error messages.
144
+
145
+ Returns
146
+ -------
147
+ BaseHandlerException
148
+ An instance of the currently registered exception handler. If no handler
149
+ has been set, returns a default `BaseHandlerException` instance.
150
+
151
+ Notes
152
+ -----
153
+ This method always returns an instance (not a class) of the exception handler.
154
+ If a custom handler was registered, it is instantiated and returned; otherwise,
155
+ a default handler is used.
156
+ """
157
+ pass
158
+
96
159
  @abstractmethod
97
160
  def setScheduler(
98
161
  self,
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.492.0"
8
+ VERSION = "0.493.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.492.0
3
+ Version: 0.493.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
@@ -39,8 +39,6 @@ orionis/console/contracts/reactor.py
39
39
  orionis/console/contracts/schedule.py
40
40
  orionis/console/core/__init__.py
41
41
  orionis/console/core/reactor.py
42
- orionis/console/default/__init__.py
43
- orionis/console/default/scheduler.py
44
42
  orionis/console/dumper/__init__.py
45
43
  orionis/console/dumper/dump.py
46
44
  orionis/console/dumper/contracts/__init__.py
@@ -106,8 +104,11 @@ orionis/container/validators/is_valid_alias.py
106
104
  orionis/container/validators/lifetime.py
107
105
  orionis/failure/__init__.py
108
106
  orionis/failure/catch.py
107
+ orionis/failure/base/__init__.py
108
+ orionis/failure/base/handler.py
109
109
  orionis/failure/contracts/__init__.py
110
110
  orionis/failure/contracts/catch.py
111
+ orionis/failure/contracts/handler.py
111
112
  orionis/failure/entities/__init__.py
112
113
  orionis/failure/entities/throwable.py
113
114
  orionis/foundation/__init__.py
@@ -1,27 +0,0 @@
1
- from orionis.console.base.scheduler import BaseScheduler
2
- from orionis.console.contracts.schedule import ISchedule
3
-
4
- class Scheduler(BaseScheduler):
5
-
6
- def tasks(self, schedule: ISchedule):
7
- """
8
- Defines and registers scheduled tasks for the application.
9
-
10
- Parameters
11
- ----------
12
- schedule : ISchedule
13
- The schedule object used to define and register scheduled commands.
14
-
15
- Returns
16
- -------
17
- None
18
- This method does not return any value. It is intended to be overridden
19
- by subclasses to specify scheduled tasks.
20
-
21
- Notes
22
- -----
23
- Subclasses should implement this method to add specific tasks to the scheduler
24
- using the provided `schedule` object. This method enforces that each subclass
25
- defines its own scheduled tasks.
26
- """
27
- pass