orionis 0.536.0__tar.gz → 0.538.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 (580) hide show
  1. {orionis-0.536.0/orionis.egg-info → orionis-0.538.0}/PKG-INFO +1 -1
  2. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/contracts/event.py +20 -12
  3. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/contracts/schedule.py +106 -3
  4. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/enums/event.py +7 -1
  5. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/tasks/event.py +51 -1
  6. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/tasks/schedule.py +87 -76
  7. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/container.py +144 -5
  8. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/contracts/container.py +52 -0
  9. {orionis-0.536.0 → orionis-0.538.0}/orionis/failure/base/handler.py +9 -9
  10. orionis-0.538.0/orionis/failure/catch.py +82 -0
  11. {orionis-0.536.0 → orionis-0.538.0}/orionis/failure/entities/throwable.py +1 -1
  12. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/application.py +2 -2
  13. {orionis-0.536.0 → orionis-0.538.0}/orionis/metadata/framework.py +1 -1
  14. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +10 -0
  15. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dependencies/reflection.py +7 -1
  16. {orionis-0.536.0 → orionis-0.538.0/orionis.egg-info}/PKG-INFO +1 -1
  17. orionis-0.536.0/orionis/failure/catch.py +0 -164
  18. {orionis-0.536.0 → orionis-0.538.0}/LICENCE +0 -0
  19. {orionis-0.536.0 → orionis-0.538.0}/MANIFEST.in +0 -0
  20. {orionis-0.536.0 → orionis-0.538.0}/README.md +0 -0
  21. {orionis-0.536.0 → orionis-0.538.0}/orionis/__init__.py +0 -0
  22. {orionis-0.536.0 → orionis-0.538.0}/orionis/app.py +0 -0
  23. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/__init__.py +0 -0
  24. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/args/__init__.py +0 -0
  25. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/args/argument.py +0 -0
  26. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/args/enums/__init__.py +0 -0
  27. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/args/enums/actions.py +0 -0
  28. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/base/__init__.py +0 -0
  29. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/base/command.py +0 -0
  30. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/base/scheduler.py +0 -0
  31. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/base/scheduler_event_listener.py +0 -0
  32. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/__init__.py +0 -0
  33. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/cache.py +0 -0
  34. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/help.py +0 -0
  35. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/make_listener.py +0 -0
  36. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/publisher.py +0 -0
  37. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/scheduler_list.py +0 -0
  38. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/scheduler_work.py +0 -0
  39. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/test.py +0 -0
  40. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/version.py +0 -0
  41. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/commands/workflow.py +0 -0
  42. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/contracts/__init__.py +0 -0
  43. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/contracts/command.py +0 -0
  44. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/contracts/kernel.py +0 -0
  45. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/contracts/reactor.py +0 -0
  46. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/contracts/schedule_event_listener.py +0 -0
  47. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/contracts/scheduler.py +0 -0
  48. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/core/__init__.py +0 -0
  49. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/core/reactor.py +0 -0
  50. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/dumper/__init__.py +0 -0
  51. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/dumper/contracts/__init__.py +0 -0
  52. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/dumper/contracts/dump.py +0 -0
  53. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/dumper/dump.py +0 -0
  54. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/dynamic/__init__.py +0 -0
  55. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/dynamic/contracts/__init__.py +0 -0
  56. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
  57. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/dynamic/progress_bar.py +0 -0
  58. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/__init__.py +0 -0
  59. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/all_jobs_removed.py +0 -0
  60. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/event_job.py +0 -0
  61. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/executor_added.py +0 -0
  62. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/executor_removed.py +0 -0
  63. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_added.py +0 -0
  64. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_error.py +0 -0
  65. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_event_data.py +0 -0
  66. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_executed.py +0 -0
  67. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_max_instances.py +0 -0
  68. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_missed.py +0 -0
  69. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_modified.py +0 -0
  70. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_pause.py +0 -0
  71. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_removed.py +0 -0
  72. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_resume.py +0 -0
  73. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_store_added.py +0 -0
  74. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_store_removed.py +0 -0
  75. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/job_submitted.py +0 -0
  76. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/request.py +0 -0
  77. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/scheduler_error.py +0 -0
  78. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/scheduler_event_data.py +0 -0
  79. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/scheduler_paused.py +0 -0
  80. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/scheduler_resumed.py +0 -0
  81. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/scheduler_shutdown.py +0 -0
  82. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/entities/scheduler_started.py +0 -0
  83. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/enums/__init__.py +0 -0
  84. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/enums/command.py +0 -0
  85. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/enums/listener.py +0 -0
  86. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/exceptions/__init__.py +0 -0
  87. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/exceptions/cli_exception.py +0 -0
  88. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
  89. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
  90. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
  91. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/kernel.py +0 -0
  92. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/output/__init__.py +0 -0
  93. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/output/console.py +0 -0
  94. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/output/contracts/__init__.py +0 -0
  95. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/output/contracts/console.py +0 -0
  96. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/output/contracts/executor.py +0 -0
  97. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/output/enums/__init__.py +0 -0
  98. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/output/enums/styles.py +0 -0
  99. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/output/executor.py +0 -0
  100. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/request/cli_request.py +0 -0
  101. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/tasks/__init__.py +0 -0
  102. {orionis-0.536.0 → orionis-0.538.0}/orionis/console/tasks/listener.py +0 -0
  103. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/__init__.py +0 -0
  104. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/context/__init__.py +0 -0
  105. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/context/manager.py +0 -0
  106. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/context/scope.py +0 -0
  107. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/contracts/__init__.py +0 -0
  108. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/contracts/service_provider.py +0 -0
  109. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/entities/__init__.py +0 -0
  110. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/entities/binding.py +0 -0
  111. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/enums/__init__.py +0 -0
  112. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/enums/lifetimes.py +0 -0
  113. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/exceptions/__init__.py +0 -0
  114. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/exceptions/attribute.py +0 -0
  115. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/exceptions/exception.py +0 -0
  116. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/exceptions/type.py +0 -0
  117. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/exceptions/value.py +0 -0
  118. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/facades/__init__.py +0 -0
  119. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/facades/facade.py +0 -0
  120. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/providers/__init__.py +0 -0
  121. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/providers/service_provider.py +0 -0
  122. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/__init__.py +0 -0
  123. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/implements.py +0 -0
  124. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/is_abstract_class.py +0 -0
  125. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/is_callable.py +0 -0
  126. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/is_concrete_class.py +0 -0
  127. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/is_instance.py +0 -0
  128. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/is_not_subclass.py +0 -0
  129. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/is_subclass.py +0 -0
  130. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/is_valid_alias.py +0 -0
  131. {orionis-0.536.0 → orionis-0.538.0}/orionis/container/validators/lifetime.py +0 -0
  132. {orionis-0.536.0 → orionis-0.538.0}/orionis/failure/__init__.py +0 -0
  133. {orionis-0.536.0 → orionis-0.538.0}/orionis/failure/base/__init__.py +0 -0
  134. {orionis-0.536.0 → orionis-0.538.0}/orionis/failure/contracts/__init__.py +0 -0
  135. {orionis-0.536.0 → orionis-0.538.0}/orionis/failure/contracts/catch.py +0 -0
  136. {orionis-0.536.0 → orionis-0.538.0}/orionis/failure/contracts/handler.py +0 -0
  137. {orionis-0.536.0 → orionis-0.538.0}/orionis/failure/entities/__init__.py +0 -0
  138. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/__init__.py +0 -0
  139. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/__init__.py +0 -0
  140. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/app/__init__.py +0 -0
  141. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
  142. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/app/entities/app.py +0 -0
  143. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  144. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
  145. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  146. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/auth/__init__.py +0 -0
  147. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
  148. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  149. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cache/__init__.py +0 -0
  150. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
  151. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  152. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  153. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  154. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  155. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  156. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cors/__init__.py +0 -0
  157. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
  158. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  159. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/__init__.py +0 -0
  160. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
  161. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  162. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/entities/database.py +0 -0
  163. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  164. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  165. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  166. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  167. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  168. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  169. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  170. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  171. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  172. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  173. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  174. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  175. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  176. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  177. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  178. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  179. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
  180. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
  181. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  182. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  183. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  184. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  185. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  186. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/__init__.py +0 -0
  187. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
  188. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  189. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  190. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  191. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  192. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  193. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  194. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  195. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  196. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  197. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  198. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
  199. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/validators/level.py +0 -0
  200. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/logging/validators/path.py +0 -0
  201. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/mail/__init__.py +0 -0
  202. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
  203. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  204. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  205. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  206. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  207. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/queue/__init__.py +0 -0
  208. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
  209. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  210. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  211. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  212. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
  213. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  214. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/roots/__init__.py +0 -0
  215. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/roots/paths.py +0 -0
  216. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/session/__init__.py +0 -0
  217. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
  218. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/session/entities/session.py +0 -0
  219. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  220. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  221. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
  222. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  223. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/startup.py +0 -0
  224. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/testing/__init__.py +0 -0
  225. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
  226. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
  227. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  228. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
  229. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
  230. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
  231. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/contracts/__init__.py +0 -0
  232. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/contracts/application.py +0 -0
  233. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/contracts/config.py +0 -0
  234. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/exceptions/__init__.py +0 -0
  235. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/exceptions/integrity.py +0 -0
  236. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/exceptions/runtime.py +0 -0
  237. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/exceptions/type.py +0 -0
  238. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/exceptions/value.py +0 -0
  239. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/__init__.py +0 -0
  240. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/catch_provider.py +0 -0
  241. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/console_provider.py +0 -0
  242. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/directory_provider.py +0 -0
  243. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/dumper_provider.py +0 -0
  244. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/executor_provider.py +0 -0
  245. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
  246. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/logger_provider.py +0 -0
  247. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
  248. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
  249. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/reactor_provider.py +0 -0
  250. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
  251. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/testing_provider.py +0 -0
  252. {orionis-0.536.0 → orionis-0.538.0}/orionis/foundation/providers/workers_provider.py +0 -0
  253. {orionis-0.536.0 → orionis-0.538.0}/orionis/metadata/__init__.py +0 -0
  254. {orionis-0.536.0 → orionis-0.538.0}/orionis/metadata/package.py +0 -0
  255. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/__init__.py +0 -0
  256. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/asynchrony/__init__.py +0 -0
  257. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
  258. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  259. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/asynchrony/coroutines.py +0 -0
  260. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  261. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
  262. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/__init__.py +0 -0
  263. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/contracts/__init__.py +0 -0
  264. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/contracts/caster.py +0 -0
  265. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/contracts/env.py +0 -0
  266. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/core/__init__.py +0 -0
  267. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/core/dot_env.py +0 -0
  268. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/dynamic/__init__.py +0 -0
  269. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/dynamic/caster.py +0 -0
  270. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/enums/__init__.py +0 -0
  271. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/enums/value_type.py +0 -0
  272. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/env.py +0 -0
  273. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  274. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/exceptions/exception.py +0 -0
  275. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/exceptions/value.py +0 -0
  276. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/helpers/__init__.py +0 -0
  277. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/helpers/functions.py +0 -0
  278. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/key/__init__.py +0 -0
  279. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/key/key_generator.py +0 -0
  280. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/validators/__init__.py +0 -0
  281. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/validators/key_name.py +0 -0
  282. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/environment/validators/types.py +0 -0
  283. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/file/__init__.py +0 -0
  284. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/file/contracts/__init__.py +0 -0
  285. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/file/contracts/directory.py +0 -0
  286. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/file/directory.py +0 -0
  287. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/inspirational/__init__.py +0 -0
  288. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
  289. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
  290. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/inspirational/inspire.py +0 -0
  291. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/inspirational/quotes.py +0 -0
  292. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/__init__.py +0 -0
  293. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/abstract/__init__.py +0 -0
  294. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
  295. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
  296. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/abstract/reflection.py +0 -0
  297. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/callables/__init__.py +0 -0
  298. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
  299. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
  300. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/callables/reflection.py +0 -0
  301. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/concretes/__init__.py +0 -0
  302. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
  303. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
  304. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/concretes/reflection.py +0 -0
  305. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dataclass/__init__.py +0 -0
  306. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dataclass/attributes.py +0 -0
  307. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
  308. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
  309. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
  310. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
  311. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
  312. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  313. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
  314. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/exceptions/type.py +0 -0
  315. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/exceptions/value.py +0 -0
  316. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/instances/__init__.py +0 -0
  317. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
  318. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
  319. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/instances/reflection.py +0 -0
  320. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/modules/__init__.py +0 -0
  321. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
  322. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
  323. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/modules/reflection.py +0 -0
  324. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/objects/__init__.py +0 -0
  325. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/objects/types.py +0 -0
  326. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/introspection/reflection.py +0 -0
  327. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/__init__.py +0 -0
  328. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/contracts/__init__.py +0 -0
  329. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/contracts/log_service.py +0 -0
  330. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/exceptions/__init__.py +0 -0
  331. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/exceptions/runtime.py +0 -0
  332. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/handlers/__init__.py +0 -0
  333. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/handlers/filename.py +0 -0
  334. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/handlers/size_rotating.py +0 -0
  335. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
  336. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/log/log_service.py +0 -0
  337. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/system/__init__.py +0 -0
  338. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/system/contracts/__init__.py +0 -0
  339. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/system/contracts/imports.py +0 -0
  340. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/system/contracts/workers.py +0 -0
  341. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/system/imports.py +0 -0
  342. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/system/runtime/__init__.py +0 -0
  343. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/system/runtime/imports.py +0 -0
  344. {orionis-0.536.0 → orionis-0.538.0}/orionis/services/system/workers.py +0 -0
  345. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/__init__.py +0 -0
  346. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/entities/__init__.py +0 -0
  347. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/entities/base.py +0 -0
  348. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/__init__.py +0 -0
  349. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/application.py +0 -0
  350. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/console.py +0 -0
  351. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/dumper.py +0 -0
  352. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/executor.py +0 -0
  353. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/inspire.py +0 -0
  354. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/logger.py +0 -0
  355. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/performance_counter.py +0 -0
  356. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/progress_bar.py +0 -0
  357. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/reactor.py +0 -0
  358. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/testing.py +0 -0
  359. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/facades/workers.py +0 -0
  360. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/formatter/__init__.py +0 -0
  361. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
  362. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
  363. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
  364. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/formatter/exceptions/parser.py +0 -0
  365. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/formatter/serializer.py +0 -0
  366. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/patterns/__init__.py +0 -0
  367. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/patterns/singleton/__init__.py +0 -0
  368. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/patterns/singleton/meta.py +0 -0
  369. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/performance/__init__.py +0 -0
  370. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/performance/contracts/__init__.py +0 -0
  371. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/performance/contracts/counter.py +0 -0
  372. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/performance/counter.py +0 -0
  373. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/standard/__init__.py +0 -0
  374. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/standard/contracts/__init__.py +0 -0
  375. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/standard/contracts/std.py +0 -0
  376. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  377. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/standard/exceptions/value.py +0 -0
  378. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/standard/std.py +0 -0
  379. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/wrapper/__init__.py +0 -0
  380. {orionis-0.536.0 → orionis-0.538.0}/orionis/support/wrapper/dot_dict.py +0 -0
  381. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/__init__.py +0 -0
  382. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/cases/__init__.py +0 -0
  383. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/cases/asynchronous.py +0 -0
  384. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/cases/synchronous.py +0 -0
  385. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/contracts/__init__.py +0 -0
  386. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/contracts/dumper.py +0 -0
  387. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/contracts/kernel.py +0 -0
  388. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/contracts/logs.py +0 -0
  389. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/contracts/printer.py +0 -0
  390. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/contracts/render.py +0 -0
  391. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/contracts/test_result.py +0 -0
  392. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/contracts/unit_test.py +0 -0
  393. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/core/__init__.py +0 -0
  394. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/core/unit_test.py +0 -0
  395. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/entities/__init__.py +0 -0
  396. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/entities/result.py +0 -0
  397. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/enums/__init__.py +0 -0
  398. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/enums/status.py +0 -0
  399. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/exceptions/__init__.py +0 -0
  400. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/exceptions/config.py +0 -0
  401. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/exceptions/failure.py +0 -0
  402. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/exceptions/persistence.py +0 -0
  403. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/exceptions/runtime.py +0 -0
  404. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/exceptions/value.py +0 -0
  405. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/kernel.py +0 -0
  406. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/output/__init__.py +0 -0
  407. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/output/dumper.py +0 -0
  408. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/output/printer.py +0 -0
  409. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/records/__init__.py +0 -0
  410. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/records/logs.py +0 -0
  411. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/__init__.py +0 -0
  412. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/base_path.py +0 -0
  413. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/execution_mode.py +0 -0
  414. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/fail_fast.py +0 -0
  415. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/folder_path.py +0 -0
  416. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/module_name.py +0 -0
  417. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/name_pattern.py +0 -0
  418. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/pattern.py +0 -0
  419. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/persistent.py +0 -0
  420. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/persistent_driver.py +0 -0
  421. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/print_result.py +0 -0
  422. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/tags.py +0 -0
  423. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/throw_exception.py +0 -0
  424. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/verbosity.py +0 -0
  425. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/web_report.py +0 -0
  426. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/validators/workers.py +0 -0
  427. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/view/__init__.py +0 -0
  428. {orionis-0.536.0 → orionis-0.538.0}/orionis/test/view/render.py +0 -0
  429. {orionis-0.536.0 → orionis-0.538.0}/orionis.egg-info/SOURCES.txt +0 -0
  430. {orionis-0.536.0 → orionis-0.538.0}/orionis.egg-info/dependency_links.txt +0 -0
  431. {orionis-0.536.0 → orionis-0.538.0}/orionis.egg-info/requires.txt +0 -0
  432. {orionis-0.536.0 → orionis-0.538.0}/orionis.egg-info/top_level.txt +0 -0
  433. {orionis-0.536.0 → orionis-0.538.0}/orionis.egg-info/zip-safe +0 -0
  434. {orionis-0.536.0 → orionis-0.538.0}/setup.cfg +0 -0
  435. {orionis-0.536.0 → orionis-0.538.0}/setup.py +0 -0
  436. {orionis-0.536.0 → orionis-0.538.0}/tests/container/__init__.py +0 -0
  437. {orionis-0.536.0 → orionis-0.538.0}/tests/container/context/__init__.py +0 -0
  438. {orionis-0.536.0 → orionis-0.538.0}/tests/container/context/test_manager.py +0 -0
  439. {orionis-0.536.0 → orionis-0.538.0}/tests/container/context/test_scope.py +0 -0
  440. {orionis-0.536.0 → orionis-0.538.0}/tests/container/core/__init__.py +0 -0
  441. {orionis-0.536.0 → orionis-0.538.0}/tests/container/core/test_advanced_async.py +0 -0
  442. {orionis-0.536.0 → orionis-0.538.0}/tests/container/core/test_async_optimizations.py +0 -0
  443. {orionis-0.536.0 → orionis-0.538.0}/tests/container/core/test_container.py +0 -0
  444. {orionis-0.536.0 → orionis-0.538.0}/tests/container/core/test_singleton.py +0 -0
  445. {orionis-0.536.0 → orionis-0.538.0}/tests/container/core/test_thread_safety.py +0 -0
  446. {orionis-0.536.0 → orionis-0.538.0}/tests/container/entities/__init__.py +0 -0
  447. {orionis-0.536.0 → orionis-0.538.0}/tests/container/entities/test_binding.py +0 -0
  448. {orionis-0.536.0 → orionis-0.538.0}/tests/container/enums/__init__.py +0 -0
  449. {orionis-0.536.0 → orionis-0.538.0}/tests/container/enums/test_lifetimes.py +0 -0
  450. {orionis-0.536.0 → orionis-0.538.0}/tests/container/facades/__init__.py +0 -0
  451. {orionis-0.536.0 → orionis-0.538.0}/tests/container/facades/test_facade.py +0 -0
  452. {orionis-0.536.0 → orionis-0.538.0}/tests/container/mocks/__init__.py +0 -0
  453. {orionis-0.536.0 → orionis-0.538.0}/tests/container/mocks/mock_advanced_async.py +0 -0
  454. {orionis-0.536.0 → orionis-0.538.0}/tests/container/mocks/mock_async_optimizations.py +0 -0
  455. {orionis-0.536.0 → orionis-0.538.0}/tests/container/mocks/mock_auto_resolution.py +0 -0
  456. {orionis-0.536.0 → orionis-0.538.0}/tests/container/mocks/mock_complex_classes.py +0 -0
  457. {orionis-0.536.0 → orionis-0.538.0}/tests/container/mocks/mock_simple_classes.py +0 -0
  458. {orionis-0.536.0 → orionis-0.538.0}/tests/container/providers/__init__.py +0 -0
  459. {orionis-0.536.0 → orionis-0.538.0}/tests/container/providers/test_providers.py +0 -0
  460. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/__init__.py +0 -0
  461. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_implements.py +0 -0
  462. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_is_abstract_class.py +0 -0
  463. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_is_callable.py +0 -0
  464. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_is_concrete_class.py +0 -0
  465. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_is_instance.py +0 -0
  466. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_is_not_subclass.py +0 -0
  467. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_is_subclass.py +0 -0
  468. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_is_valid_alias.py +0 -0
  469. {orionis-0.536.0 → orionis-0.538.0}/tests/container/validators/test_lifetime.py +0 -0
  470. {orionis-0.536.0 → orionis-0.538.0}/tests/example/__init__.py +0 -0
  471. {orionis-0.536.0 → orionis-0.538.0}/tests/example/test_example.py +0 -0
  472. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/__init__.py +0 -0
  473. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/__init__.py +0 -0
  474. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/app/__init__.py +0 -0
  475. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
  476. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/auth/__init__.py +0 -0
  477. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
  478. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/cache/__init__.py +0 -0
  479. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
  480. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
  481. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
  482. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/cors/__init__.py +0 -0
  483. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
  484. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/database/__init__.py +0 -0
  485. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
  486. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
  487. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
  488. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
  489. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
  490. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
  491. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/filesystems/__init__.py +0 -0
  492. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
  493. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
  494. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
  495. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
  496. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
  497. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/__init__.py +0 -0
  498. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
  499. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
  500. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
  501. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
  502. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
  503. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
  504. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
  505. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
  506. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/mail/__init__.py +0 -0
  507. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
  508. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
  509. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
  510. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
  511. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/queue/__init__.py +0 -0
  512. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
  513. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
  514. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
  515. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/root/__init__.py +0 -0
  516. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
  517. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/session/__init__.py +0 -0
  518. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
  519. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/startup/__init__.py +0 -0
  520. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
  521. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/testing/__init__.py +0 -0
  522. {orionis-0.536.0 → orionis-0.538.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
  523. {orionis-0.536.0 → orionis-0.538.0}/tests/metadata/__init__.py +0 -0
  524. {orionis-0.536.0 → orionis-0.538.0}/tests/metadata/test_metadata_framework.py +0 -0
  525. {orionis-0.536.0 → orionis-0.538.0}/tests/metadata/test_metadata_package.py +0 -0
  526. {orionis-0.536.0 → orionis-0.538.0}/tests/services/__init__.py +0 -0
  527. {orionis-0.536.0 → orionis-0.538.0}/tests/services/asynchrony/__init__.py +0 -0
  528. {orionis-0.536.0 → orionis-0.538.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
  529. {orionis-0.536.0 → orionis-0.538.0}/tests/services/environment/__init__.py +0 -0
  530. {orionis-0.536.0 → orionis-0.538.0}/tests/services/environment/test_services_environment.py +0 -0
  531. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/__init__.py +0 -0
  532. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/dependencies/__init__.py +0 -0
  533. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/dependencies/mocks/__init__.py +0 -0
  534. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/dependencies/mocks/mock_user.py +0 -0
  535. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -0
  536. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -0
  537. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -0
  538. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/reflection/__init__.py +0 -0
  539. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/reflection/mock/__init__.py +0 -0
  540. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -0
  541. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/reflection/test_reflection_abstract.py +0 -0
  542. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/reflection/test_reflection_callable.py +0 -0
  543. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/reflection/test_reflection_concrete.py +0 -0
  544. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/reflection/test_reflection_instance.py +0 -0
  545. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/reflection/test_reflection_module.py +0 -0
  546. {orionis-0.536.0 → orionis-0.538.0}/tests/services/introspection/test_reflection.py +0 -0
  547. {orionis-0.536.0 → orionis-0.538.0}/tests/services/log/__init__.py +0 -0
  548. {orionis-0.536.0 → orionis-0.538.0}/tests/services/log/test_log.py +0 -0
  549. {orionis-0.536.0 → orionis-0.538.0}/tests/services/system/__init__.py +0 -0
  550. {orionis-0.536.0 → orionis-0.538.0}/tests/services/system/test_services_system_imports.py +0 -0
  551. {orionis-0.536.0 → orionis-0.538.0}/tests/services/system/test_services_system_workers.py +0 -0
  552. {orionis-0.536.0 → orionis-0.538.0}/tests/support/__init__.py +0 -0
  553. {orionis-0.536.0 → orionis-0.538.0}/tests/support/entities/__init__.py +0 -0
  554. {orionis-0.536.0 → orionis-0.538.0}/tests/support/entities/mock_dataclass.py +0 -0
  555. {orionis-0.536.0 → orionis-0.538.0}/tests/support/entities/test_base.py +0 -0
  556. {orionis-0.536.0 → orionis-0.538.0}/tests/support/patterns/__init__.py +0 -0
  557. {orionis-0.536.0 → orionis-0.538.0}/tests/support/patterns/singleton/__init__.py +0 -0
  558. {orionis-0.536.0 → orionis-0.538.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
  559. {orionis-0.536.0 → orionis-0.538.0}/tests/support/standard/__init__.py +0 -0
  560. {orionis-0.536.0 → orionis-0.538.0}/tests/support/standard/test_services_std.py +0 -0
  561. {orionis-0.536.0 → orionis-0.538.0}/tests/support/wrapper/__init__.py +0 -0
  562. {orionis-0.536.0 → orionis-0.538.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
  563. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/__init__.py +0 -0
  564. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/cases/__init__.py +0 -0
  565. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/cases/test_testing_asynchronous.py +0 -0
  566. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/cases/test_testing_synchronous.py +0 -0
  567. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/entities/__init__.py +0 -0
  568. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/entities/test_testing_result.py +0 -0
  569. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/enums/__init__.py +0 -0
  570. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/enums/test_testing_status.py +0 -0
  571. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/output/__init__.py +0 -0
  572. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/output/test_testing_dumper.py +0 -0
  573. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/output/test_testing_printer.py +0 -0
  574. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/records/__init__.py +0 -0
  575. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/records/test_testing_records.py +0 -0
  576. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/test_testing_unit.py +0 -0
  577. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/validators/__init__.py +0 -0
  578. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/validators/test_testing_validators.py +0 -0
  579. {orionis-0.536.0 → orionis-0.538.0}/tests/testing/view/__init__.py +0 -0
  580. {orionis-0.536.0 → orionis-0.538.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.536.0
3
+ Version: 0.538.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -5,24 +5,32 @@ from orionis.console.enums.event import Event as EventEntity
5
5
 
6
6
  class IEvent(ABC):
7
7
 
8
- @abstractmethod
9
- def toEntity(
10
- self
11
- ) -> EventEntity:
8
+ def misfireGraceTime(
9
+ self,
10
+ seconds: int = 60
11
+ ) -> 'IEvent':
12
12
  """
13
- Retrieve the event details as an EventEntity instance.
13
+ Set the misfire grace time for the event.
14
14
 
15
- This method gathers all relevant attributes of the current Event object,
16
- such as its signature, arguments, purpose, random delay, start and end dates,
17
- and trigger, and returns them encapsulated in an EventEntity object.
15
+ This method allows you to specify a grace period (in seconds) during which
16
+ a missed execution of the event can still be executed. If the event is not
17
+ executed within this time frame after its scheduled time, it will be skipped.
18
+
19
+ Parameters
20
+ ----------
21
+ seconds : int
22
+ The number of seconds to allow for a misfire grace period. Must be a positive integer.
18
23
 
19
24
  Returns
20
25
  -------
21
- EventEntity
22
- An EventEntity instance containing the event's signature, arguments,
23
- purpose, random delay, start date, end date, and trigger.
26
+ Event
27
+ Returns the current instance of the Event to allow method chaining.
28
+
29
+ Raises
30
+ ------
31
+ CLIOrionisValueError
32
+ If the provided seconds is not a positive integer.
24
33
  """
25
- pass
26
34
 
27
35
  @abstractmethod
28
36
  def purpose(
@@ -218,7 +218,7 @@ class ISchedule(ABC):
218
218
  pass
219
219
 
220
220
  @abstractmethod
221
- def pause(self, signature: str) -> bool:
221
+ def pauseTask(self, signature: str) -> bool:
222
222
  """
223
223
  Pause a scheduled job in the AsyncIO scheduler.
224
224
 
@@ -246,7 +246,7 @@ class ISchedule(ABC):
246
246
  pass
247
247
 
248
248
  @abstractmethod
249
- def resume(self, signature: str) -> bool:
249
+ def resumeTask(self, signature: str) -> bool:
250
250
  """
251
251
  Resume a paused job in the AsyncIO scheduler.
252
252
 
@@ -274,7 +274,7 @@ class ISchedule(ABC):
274
274
  pass
275
275
 
276
276
  @abstractmethod
277
- def remove(self, signature: str) -> bool:
277
+ def removeTask(self, signature: str) -> bool:
278
278
  """
279
279
  Remove a scheduled job from the AsyncIO scheduler.
280
280
 
@@ -324,4 +324,107 @@ class ISchedule(ABC):
324
324
  - 'end_date': str or None, the formatted end date and time of the job, or None if not set.
325
325
  - 'details': any, additional details about the job.
326
326
  """
327
+ pass
328
+
329
+ @abstractmethod
330
+ def cancelScheduledPause(self) -> bool:
331
+ """
332
+ Cancel a previously scheduled pause operation.
333
+
334
+ This method attempts to remove a job from the scheduler that was set to pause
335
+ the scheduler at a specific time. If the job exists, it is removed, and a log entry
336
+ is created to indicate the cancellation. If no such job exists, the method returns False.
337
+
338
+ Returns
339
+ -------
340
+ bool
341
+ True if the scheduled pause job was successfully cancelled.
342
+ False if no pause job was found or an error occurred during the cancellation process.
343
+ """
344
+ pass
345
+
346
+ @abstractmethod
347
+ def cancelScheduledResume(self) -> bool:
348
+ """
349
+ Cancel a previously scheduled resume operation.
350
+
351
+ This method attempts to remove a job from the scheduler that was set to resume
352
+ the scheduler at a specific time. If the job exists, it is removed, and a log entry
353
+ is created to indicate the cancellation. If no such job exists, the method returns False.
354
+
355
+ Returns
356
+ -------
357
+ bool
358
+ True if the scheduled resume job was successfully cancelled.
359
+ False if no resume job was found or an error occurred during the cancellation process.
360
+ """
361
+ pass
362
+
363
+ @abstractmethod
364
+ def cancelScheduledShutdown(self) -> bool:
365
+ """
366
+ Cancel a previously scheduled shutdown operation.
367
+
368
+ This method attempts to remove a job from the scheduler that was set to shut down
369
+ the scheduler at a specific time. If the job exists, it is removed, and a log entry
370
+ is created to indicate the cancellation. If no such job exists, the method returns False.
371
+
372
+ Returns
373
+ -------
374
+ bool
375
+ True if the scheduled shutdown job was successfully cancelled.
376
+ False if no shutdown job was found or an error occurred during the cancellation process.
377
+ """
378
+ pass
379
+
380
+ @abstractmethod
381
+ def isRunning(self) -> bool:
382
+ """
383
+ Determine if the scheduler is currently active and running.
384
+
385
+ This method checks the internal state of the AsyncIOScheduler instance to determine
386
+ whether it is currently running. The scheduler is considered running if it has been
387
+ started and has not been paused or shut down.
388
+
389
+ Returns
390
+ -------
391
+ bool
392
+ True if the scheduler is running, False otherwise.
393
+ """
394
+ pass
395
+
396
+ @abstractmethod
397
+ def forceStop(self) -> None:
398
+ """
399
+ Forcefully stop the scheduler immediately without waiting for jobs to complete.
400
+
401
+ This method shuts down the AsyncIOScheduler instance without waiting for currently
402
+ running jobs to finish. It is intended for emergency situations where an immediate
403
+ stop is required. The method also signals the internal stop event to ensure that
404
+ the scheduler's main loop is interrupted and the application can proceed with
405
+ shutdown procedures.
406
+
407
+ Returns
408
+ -------
409
+ None
410
+ This method does not return any value. It forcefully stops the scheduler and
411
+ signals the stop event.
412
+ """
413
+ pass
414
+
415
+ @abstractmethod
416
+ def stop(self) -> None:
417
+ """
418
+ Stop the scheduler synchronously by setting the stop event.
419
+
420
+ This method signals the scheduler to stop by setting the internal stop event.
421
+ It can be called from non-async contexts to initiate a shutdown. If the asyncio
422
+ event loop is running, the stop event is set in a thread-safe manner. Otherwise,
423
+ the stop event is set directly.
424
+
425
+ Returns
426
+ -------
427
+ None
428
+ This method does not return any value. It signals the scheduler to stop.
429
+ """
327
430
  pass
@@ -60,4 +60,10 @@ class Event:
60
60
  details: Optional[str] = None
61
61
 
62
62
  # Optional listener that implements IScheduleEventListener
63
- listener: Optional[IScheduleEventListener] = None
63
+ listener: Optional[IScheduleEventListener] = None
64
+
65
+ # Maximum number of concurrent instances allowed for the event
66
+ max_instances: int = 1
67
+
68
+ # Grace time in seconds for misfired events
69
+ misfire_grace_time : Optional[int] = None
@@ -77,6 +77,9 @@ class Event(IEvent):
77
77
  # Initialize the maximum instances attribute as None
78
78
  self.__max_instances: Optional[int] = None
79
79
 
80
+ # Initialize the misfire grace time attribute as None
81
+ self.__misfire_grace_time: Optional[int] = None
82
+
80
83
  def toEntity(
81
84
  self
82
85
  ) -> EventEntity:
@@ -128,6 +131,14 @@ class Event(IEvent):
128
131
  if self.__listener is not None and not issubclass(self.__listener, IScheduleEventListener):
129
132
  raise CLIOrionisValueError("Listener must implement IScheduleEventListener interface or be None.")
130
133
 
134
+ # Validate that max_instances is a positive integer if it is set
135
+ if self.__max_instances is not None and (not isinstance(self.__max_instances, int) or self.__max_instances <= 0):
136
+ raise CLIOrionisValueError("Max instances must be a positive integer or None.")
137
+
138
+ # Validate that misfire_grace_time is a positive integer if it is set
139
+ if self.__misfire_grace_time is not None and (not isinstance(self.__misfire_grace_time, int) or self.__misfire_grace_time <= 0):
140
+ raise CLIOrionisValueError("Misfire grace time must be a positive integer or None.")
141
+
131
142
  # Construct and return an EventEntity with the current event's attributes
132
143
  return EventEntity(
133
144
  signature=self.__signature,
@@ -138,9 +149,48 @@ class Event(IEvent):
138
149
  end_date=self.__end_date,
139
150
  trigger=self.__trigger,
140
151
  details=self.__details,
141
- listener=self.__listener
152
+ listener=self.__listener,
153
+ max_instances=self.__max_instances,
154
+ misfire_grace_time=self.__misfire_grace_time
142
155
  )
143
156
 
157
+ def misfireGraceTime(
158
+ self,
159
+ seconds: int = 60
160
+ ) -> 'Event':
161
+ """
162
+ Set the misfire grace time for the event.
163
+
164
+ This method allows you to specify a grace period (in seconds) during which
165
+ a missed execution of the event can still be executed. If the event is not
166
+ executed within this time frame after its scheduled time, it will be skipped.
167
+
168
+ Parameters
169
+ ----------
170
+ seconds : int
171
+ The number of seconds to allow for a misfire grace period. Must be a positive integer.
172
+
173
+ Returns
174
+ -------
175
+ Event
176
+ Returns the current instance of the Event to allow method chaining.
177
+
178
+ Raises
179
+ ------
180
+ CLIOrionisValueError
181
+ If the provided seconds is not a positive integer.
182
+ """
183
+
184
+ # Validate that the seconds parameter is a positive integer
185
+ if not isinstance(seconds, int) or seconds <= 0:
186
+ raise CLIOrionisValueError("Misfire grace time must be a positive integer.")
187
+
188
+ # Set the internal misfire grace time attribute
189
+ self.__misfire_grace_time = seconds
190
+
191
+ # Return self to support method chaining
192
+ return self
193
+
144
194
  def purpose(
145
195
  self,
146
196
  purpose: str
@@ -37,7 +37,6 @@ from orionis.console.exceptions import CLIOrionisRuntimeError
37
37
  from orionis.console.exceptions.cli_orionis_value_error import CLIOrionisValueError
38
38
  from orionis.failure.contracts.catch import ICatch
39
39
  from orionis.foundation.contracts.application import IApplication
40
- from orionis.services.asynchrony.coroutines import Coroutine
41
40
  from orionis.services.log.contracts.log_service import ILogger
42
41
 
43
42
  class Schedule(ISchedule):
@@ -167,7 +166,7 @@ class Schedule(ISchedule):
167
166
  # Store each job's signature and description in the commands dictionary
168
167
  commands[job['signature']] = {
169
168
  'signature': job['signature'],
170
- 'description': job.get('description', '')
169
+ 'description': job.get('description', 'No description available.')
171
170
  }
172
171
 
173
172
  # Return the commands dictionary
@@ -268,7 +267,7 @@ class Schedule(ISchedule):
268
267
 
269
268
  # Prevent adding new commands while the scheduler is running
270
269
  if self.isRunning():
271
- raise CLIOrionisRuntimeError("Cannot add new commands while the scheduler is running.")
270
+ self.__raiseException(CLIOrionisValueError("Cannot add new commands while the scheduler is running."))
272
271
 
273
272
  # Validate that the command signature is a non-empty string
274
273
  if not isinstance(signature, str) or not signature.strip():
@@ -465,7 +464,7 @@ class Schedule(ISchedule):
465
464
 
466
465
  # Validate that the provided event is an instance of ListeningEvent
467
466
  if not isinstance(listening_vent, ListeningEvent):
468
- raise CLIOrionisValueError("The event must be an instance of ListeningEvent.")
467
+ self.__raiseException(CLIOrionisValueError("The event must be an instance of ListeningEvent."))
469
468
 
470
469
  # Retrieve the global identifier for the event from the ListeningEvent enum
471
470
  scheduler_event = listening_vent.value
@@ -481,16 +480,9 @@ class Schedule(ISchedule):
481
480
 
482
481
  # Invoke the listener, handling both coroutine and regular functions
483
482
  try:
484
-
485
- # Use Coroutine to handle both sync and async listeners
486
- Coroutine(listener).invoke(event_data, self)
487
-
483
+ self.__app.invoke(listener, event_data, self)
488
484
  except BaseException as e:
489
-
490
- # Construct and log error message
491
- error_msg = f"An error occurred while invoking the listener for event '{scheduler_event}': {str(e)}"
492
- self.__logger.error(error_msg)
493
- raise CLIOrionisRuntimeError(error_msg) from e
485
+ self.__raiseException(e)
494
486
 
495
487
  def __taskCallableListener(
496
488
  self,
@@ -528,9 +520,7 @@ class Schedule(ISchedule):
528
520
 
529
521
  # Validate that the provided event is an instance of ListeningEvent
530
522
  if not isinstance(listening_vent, ListeningEvent):
531
- error_msg = "The event must be an instance of ListeningEvent."
532
- self.__logger.error(error_msg)
533
- raise CLIOrionisValueError(error_msg)
523
+ self.__raiseException(CLIOrionisValueError("The event must be an instance of ListeningEvent."))
534
524
 
535
525
  # Validate that event_data is not None and has a id attribute
536
526
  if not isinstance(event_data, EventJob) or not hasattr(event_data, 'id') or not event_data.id:
@@ -548,38 +538,25 @@ class Schedule(ISchedule):
548
538
  # Check if the listener is an instance of IScheduleEventListener
549
539
  if issubclass(listener, IScheduleEventListener):
550
540
 
551
- # Initialize the listener if it's a class
552
- if isinstance(listener, type):
553
- listener = listener()
554
-
555
- # Check if the listener has a method corresponding to the event type
556
- if hasattr(listener, scheduler_event) and callable(getattr(listener, scheduler_event)):
557
-
558
- # Retrieve the method from the listener
559
- listener_method = getattr(listener, scheduler_event)
560
-
561
- # Invoke the listener method, handling both coroutine and regular functions
562
- try:
563
-
564
- # Use Coroutine to handle both sync and async listener methods
565
- Coroutine(listener_method).invoke(event_data, self)
541
+ try:
566
542
 
567
- except Exception as e:
543
+ # Initialize the listener if it's a class
544
+ if isinstance(listener, type):
545
+ listener = self.__app.make(listener)
568
546
 
569
- # Construct and log error message
570
- error_msg = f"An error occurred while invoking the listener_method for event '{scheduler_event}': {str(e)}"
571
- self.__logger.error(error_msg)
572
- raise CLIOrionisRuntimeError(error_msg) from e
547
+ # Check if the listener has a method corresponding to the event type
548
+ if hasattr(listener, scheduler_event) and callable(getattr(listener, scheduler_event)):
549
+ self.__app.call(listener, scheduler_event, event_data, self)
573
550
 
574
- else:
551
+ except BaseException as e:
575
552
 
576
- # Log a warning if the listener does not have the required method
577
- self.__logger.warning(f"The listener for job ID '{event_data.id}' does not have a method for event '{scheduler_event}'.")
553
+ # If an error occurs while invoking the listener, raise an exception
554
+ self.__raiseException(e)
578
555
 
579
556
  else:
580
557
 
581
- # Log a warning if the listener is not an instance of IScheduleEventListener
582
- self.__logger.warning(f"The listener for job ID '{event_data.id}' is not an instance of IScheduleEventListener.")
558
+ # If the listener is not a subclass of IScheduleEventListener, raise an exception
559
+ self.__raiseException(CLIOrionisValueError(f"The listener for job ID '{event_data.id}' must be a subclass of IScheduleEventListener."))
583
560
 
584
561
  def __startedListener(
585
562
  self,
@@ -727,10 +704,7 @@ class Schedule(ISchedule):
727
704
  self.__globalCallableListener(event_data, ListeningEvent.SCHEDULER_ERROR)
728
705
 
729
706
  # Catch any exceptions that occur during command handling
730
- self.__catch.exception(self, CLIRequest(
731
- command=job_event_data.id,
732
- args=list(job_event_data.args) or []
733
- ), event.exception)
707
+ self.__raiseException(event.exception)
734
708
 
735
709
  def __submittedListener(
736
710
  self,
@@ -929,7 +903,7 @@ class Schedule(ISchedule):
929
903
 
930
904
  try:
931
905
  # Convert the event to its entity representation
932
- entity = event.toEntity()
906
+ entity: EventEntity = event.toEntity()
933
907
 
934
908
  # Add the job to the internal jobs list
935
909
  self.__jobs.append(entity)
@@ -944,7 +918,9 @@ class Schedule(ISchedule):
944
918
  trigger=entity.trigger,
945
919
  id=signature,
946
920
  name=signature,
947
- replace_existing=True
921
+ replace_existing=True,
922
+ max_instances=entity.max_instances,
923
+ misfire_grace_time=entity.misfire_grace_time
948
924
  )
949
925
 
950
926
  # If a listener is associated with the event, register it
@@ -965,6 +941,48 @@ class Schedule(ISchedule):
965
941
  # Raise a runtime error if loading the scheduled event fails
966
942
  raise CLIOrionisRuntimeError(error_msg)
967
943
 
944
+ def __raiseException(
945
+ self,
946
+ exception: BaseException
947
+ ) -> None:
948
+ """
949
+ Handle and propagate exceptions through the application's error handling system.
950
+
951
+ This private method serves as a centralized exception handler for the scheduler,
952
+ delegating exception processing to the application's error catching mechanism.
953
+ It ensures that all exceptions occurring within the scheduler context are
954
+ properly handled according to the application's error handling policies.
955
+
956
+ The method acts as a bridge between the scheduler's internal operations and
957
+ the application's global exception handling system, providing consistent
958
+ error handling behavior across the entire application.
959
+
960
+ Parameters
961
+ ----------
962
+ exception : BaseException
963
+ The exception instance that was raised during command execution. This can be
964
+ any type of exception that inherits from BaseException, including system
965
+ exceptions, custom application exceptions, and runtime errors.
966
+
967
+ Returns
968
+ -------
969
+ None
970
+ This method does not return any value. It delegates exception handling
971
+ to the application's error catching mechanism and may re-raise the
972
+ exception depending on the configured error handling behavior.
973
+
974
+ Notes
975
+ -----
976
+ This method is intended for internal use within the scheduler and should not
977
+ be called directly by external code. The error catching mechanism may perform
978
+ various actions such as logging, reporting, or re-raising the exception based
979
+ on the application's configuration.
980
+ """
981
+
982
+ # Delegate exception handling to the application's error catching mechanism
983
+ # This ensures consistent error handling across the entire application
984
+ self.__catch.exception(self, CLIRequest(command="schedule:work", args=[]), exception)
985
+
968
986
  def setListener(
969
987
  self,
970
988
  event: Union[str, ListeningEvent],
@@ -995,7 +1013,7 @@ class Schedule(ISchedule):
995
1013
 
996
1014
  Raises
997
1015
  ------
998
- ValueError
1016
+ CLIOrionisValueError
999
1017
  If the event name is not a non-empty string or if the listener is not callable
1000
1018
  or an instance of IScheduleEventListener.
1001
1019
  """
@@ -1006,11 +1024,11 @@ class Schedule(ISchedule):
1006
1024
 
1007
1025
  # Validate that the event name is a non-empty string
1008
1026
  if not isinstance(event, str) or not event.strip():
1009
- raise ValueError("Event name must be a non-empty string.")
1027
+ raise CLIOrionisValueError("Event name must be a non-empty string.")
1010
1028
 
1011
1029
  # Validate that the listener is either callable or an instance of IScheduleEventListener
1012
1030
  if not callable(listener) and not isinstance(listener, IScheduleEventListener):
1013
- raise ValueError("Listener must be a callable function or an instance of IScheduleEventListener.")
1031
+ raise CLIOrionisValueError("Listener must be a callable function or an instance of IScheduleEventListener.")
1014
1032
 
1015
1033
  # Register the listener for the specified event in the internal listeners dictionary
1016
1034
  self.__listeners[event] = listener
@@ -1101,19 +1119,13 @@ class Schedule(ISchedule):
1101
1119
  error reporting and debugging information.
1102
1120
  """
1103
1121
 
1122
+ # Execute the asynchronous function using the container's invoke method
1104
1123
  try:
1105
- # Execute the asynchronous function using the Coroutine utility class
1106
- # The Coroutine class handles the event loop management and async execution
1107
- return Coroutine(func).invoke(*args, **kwargs)
1124
+ self.__app.invoke(func, *args, **kwargs)
1108
1125
 
1126
+ # If an error occurs during execution, raise a custom exception
1109
1127
  except Exception as e:
1110
-
1111
- # Log the error with detailed information for debugging purposes
1112
- self.__logger.error(f"Error executing async function: {str(e)}")
1113
-
1114
- # Re-raise the exception wrapped in a custom exception type
1115
- # This provides better error context and maintains the original stack trace
1116
- raise CLIOrionisRuntimeError(f"Failed to execute async function: {str(e)}") from e
1128
+ self.__raiseException(e)
1117
1129
 
1118
1130
  # Return the synchronous wrapper function
1119
1131
  return sync_wrapper
@@ -1151,7 +1163,7 @@ class Schedule(ISchedule):
1151
1163
 
1152
1164
  # Validate that the 'at' parameter is a datetime object
1153
1165
  if not isinstance(at, datetime):
1154
- raise ValueError("The 'at' parameter must be a datetime object.")
1166
+ CLIOrionisValueError("The 'at' parameter must be a datetime object.")
1155
1167
 
1156
1168
  # Define an async function to pause the scheduler
1157
1169
  async def schedule_pause():
@@ -1198,8 +1210,8 @@ class Schedule(ISchedule):
1198
1210
 
1199
1211
  except Exception as e:
1200
1212
 
1201
- # Log a warning if pausing a job fails, but continue with others
1202
- self.__logger.warning(f"Failed to pause job '{job.id}': {str(e)}")
1213
+ # If an error occurs while pausing the job, raise an exception
1214
+ self.__raiseException(e)
1203
1215
 
1204
1216
  # Execute the global callable listener after all jobs are paused
1205
1217
  self.__globalCallableListener(SchedulerPaused(
@@ -1270,7 +1282,7 @@ class Schedule(ISchedule):
1270
1282
 
1271
1283
  # Validate that the 'at' parameter is a datetime object
1272
1284
  if not isinstance(at, datetime):
1273
- raise ValueError("The 'at' parameter must be a datetime object.")
1285
+ raise CLIOrionisValueError("The 'at' parameter must be a datetime object.")
1274
1286
 
1275
1287
  # Define an async function to resume the scheduler
1276
1288
  async def schedule_resume():
@@ -1300,8 +1312,8 @@ class Schedule(ISchedule):
1300
1312
 
1301
1313
  except Exception as e:
1302
1314
 
1303
- # Log a warning if resuming a job fails, but continue with others
1304
- self.__logger.warning(f"Failed to resume job '{job_id}': {str(e)}")
1315
+ # If an error occurs while resuming the job, raise an exception
1316
+ self.__raiseException(e)
1305
1317
 
1306
1318
  # Clear the set after resuming all jobs
1307
1319
  self.__pausedByPauseEverything.clear()
@@ -1407,8 +1419,7 @@ class Schedule(ISchedule):
1407
1419
  except Exception as e:
1408
1420
 
1409
1421
  # Log any errors that occur during shutdown
1410
- error_msg = f"Error during scheduled shutdown: {str(e)}"
1411
- self.__logger.error(error_msg)
1422
+ self.__logger.error(f"Error during scheduled shutdown: {str(e)}")
1412
1423
 
1413
1424
  # Force stop if graceful shutdown fails
1414
1425
  self.forceStop()
@@ -1542,7 +1553,7 @@ class Schedule(ISchedule):
1542
1553
 
1543
1554
  # Validate the wait parameter
1544
1555
  if not isinstance(wait, bool):
1545
- raise ValueError("The 'wait' parameter must be a boolean value.")
1556
+ self.__raiseException(CLIOrionisValueError("The 'wait' parameter must be a boolean value."))
1546
1557
 
1547
1558
  # If the scheduler is not running, there's nothing to shut down
1548
1559
  if not self.isRunning():
@@ -1570,9 +1581,9 @@ class Schedule(ISchedule):
1570
1581
  except Exception as e:
1571
1582
 
1572
1583
  # Handle exceptions that may occur during shutdown
1573
- raise CLIOrionisRuntimeError(f"Failed to shut down the scheduler: {str(e)}") from e
1584
+ self.__raiseException(CLIOrionisRuntimeError(f"Failed to shut down the scheduler: {str(e)}"))
1574
1585
 
1575
- def pause(self, signature: str) -> bool:
1586
+ def pauseTask(self, signature: str) -> bool:
1576
1587
  """
1577
1588
  Pause a scheduled job in the AsyncIO scheduler.
1578
1589
 
@@ -1600,7 +1611,7 @@ class Schedule(ISchedule):
1600
1611
 
1601
1612
  # Validate that the signature is a non-empty string
1602
1613
  if not isinstance(signature, str) or not signature.strip():
1603
- raise CLIOrionisValueError("Signature must be a non-empty string.")
1614
+ self.__raiseException(CLIOrionisValueError("Signature must be a non-empty string."))
1604
1615
 
1605
1616
  try:
1606
1617
 
@@ -1618,7 +1629,7 @@ class Schedule(ISchedule):
1618
1629
  # Return False if the job could not be paused (e.g., it does not exist)
1619
1630
  return False
1620
1631
 
1621
- def resume(self, signature: str) -> bool:
1632
+ def resumeTask(self, signature: str) -> bool:
1622
1633
  """
1623
1634
  Resume a paused job in the AsyncIO scheduler.
1624
1635
 
@@ -1646,7 +1657,7 @@ class Schedule(ISchedule):
1646
1657
 
1647
1658
  # Validate that the signature is a non-empty string
1648
1659
  if not isinstance(signature, str) or not signature.strip():
1649
- raise CLIOrionisValueError("Signature must be a non-empty string.")
1660
+ self.__raiseException(CLIOrionisValueError("Signature must be a non-empty string."))
1650
1661
 
1651
1662
  try:
1652
1663
  # Attempt to resume the job with the given signature
@@ -1663,7 +1674,7 @@ class Schedule(ISchedule):
1663
1674
  # Return False if the job could not be resumed (e.g., it does not exist)
1664
1675
  return False
1665
1676
 
1666
- def remove(self, signature: str) -> bool:
1677
+ def removeTask(self, signature: str) -> bool:
1667
1678
  """
1668
1679
  Remove a scheduled job from the AsyncIO scheduler.
1669
1680
 
@@ -1692,7 +1703,7 @@ class Schedule(ISchedule):
1692
1703
 
1693
1704
  # Validate that the signature is a non-empty string
1694
1705
  if not isinstance(signature, str) or not signature.strip():
1695
- raise CLIOrionisValueError("Signature must be a non-empty string.")
1706
+ self.__raiseException(CLIOrionisValueError("Signature must be a non-empty string."))
1696
1707
 
1697
1708
  try:
1698
1709