orionis 0.482.0__tar.gz → 0.484.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 (535) hide show
  1. {orionis-0.482.0/orionis.egg-info → orionis-0.484.0}/PKG-INFO +1 -1
  2. orionis-0.484.0/orionis/console/commands/scheduler_list.py +139 -0
  3. orionis-0.484.0/orionis/console/commands/scheduler_work.py +141 -0
  4. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/core/reactor.py +3 -1
  5. orionis-0.484.0/orionis/console/entities/listeners.py +241 -0
  6. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/tasks/schedule.py +22 -2
  7. {orionis-0.482.0 → orionis-0.484.0}/orionis/metadata/framework.py +1 -1
  8. {orionis-0.482.0 → orionis-0.484.0/orionis.egg-info}/PKG-INFO +1 -1
  9. {orionis-0.482.0 → orionis-0.484.0}/orionis.egg-info/SOURCES.txt +3 -0
  10. orionis-0.484.0/tests/testing/view/__init__.py +0 -0
  11. orionis-0.482.0/orionis/console/commands/scheduler_work.py +0 -88
  12. {orionis-0.482.0 → orionis-0.484.0}/LICENCE +0 -0
  13. {orionis-0.482.0 → orionis-0.484.0}/MANIFEST.in +0 -0
  14. {orionis-0.482.0 → orionis-0.484.0}/README.md +0 -0
  15. {orionis-0.482.0 → orionis-0.484.0}/orionis/__init__.py +0 -0
  16. {orionis-0.482.0 → orionis-0.484.0}/orionis/app.py +0 -0
  17. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/__init__.py +0 -0
  18. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/args/__init__.py +0 -0
  19. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/args/argument.py +0 -0
  20. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/args/enums/__init__.py +0 -0
  21. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/args/enums/actions.py +0 -0
  22. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/base/__init__.py +0 -0
  23. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/base/command.py +0 -0
  24. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/base/contracts/__init__.py +0 -0
  25. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/base/contracts/command.py +0 -0
  26. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/commands/__init__.py +0 -0
  27. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/commands/cache.py +0 -0
  28. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/commands/help.py +0 -0
  29. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/commands/publisher.py +0 -0
  30. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/commands/test.py +0 -0
  31. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/commands/version.py +0 -0
  32. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/commands/workflow.py +0 -0
  33. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/contracts/__init__.py +0 -0
  34. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/contracts/event.py +0 -0
  35. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/contracts/kernel.py +0 -0
  36. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/contracts/reactor.py +0 -0
  37. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/contracts/schedule.py +0 -0
  38. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/core/__init__.py +0 -0
  39. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/dumper/__init__.py +0 -0
  40. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/dumper/contracts/__init__.py +0 -0
  41. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/dumper/contracts/dump.py +0 -0
  42. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/dumper/dump.py +0 -0
  43. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/dynamic/__init__.py +0 -0
  44. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/dynamic/contracts/__init__.py +0 -0
  45. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
  46. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/dynamic/progress_bar.py +0 -0
  47. {orionis-0.482.0/orionis/console/enums → orionis-0.484.0/orionis/console/entities}/__init__.py +0 -0
  48. {orionis-0.482.0/orionis/console/output → orionis-0.484.0/orionis/console/enums}/__init__.py +0 -0
  49. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/enums/command.py +0 -0
  50. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/enums/event.py +0 -0
  51. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/exceptions/__init__.py +0 -0
  52. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/exceptions/cli_exception.py +0 -0
  53. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
  54. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
  55. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
  56. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/kernel.py +0 -0
  57. {orionis-0.482.0/orionis/console/output/contracts → orionis-0.484.0/orionis/console/output}/__init__.py +0 -0
  58. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/output/console.py +0 -0
  59. {orionis-0.482.0/orionis/console/tasks → orionis-0.484.0/orionis/console/output/contracts}/__init__.py +0 -0
  60. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/output/contracts/console.py +0 -0
  61. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/output/contracts/executor.py +0 -0
  62. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/output/enums/__init__.py +0 -0
  63. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/output/enums/styles.py +0 -0
  64. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/output/executor.py +0 -0
  65. {orionis-0.482.0/orionis/container → orionis-0.484.0/orionis/console/tasks}/__init__.py +0 -0
  66. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/tasks/event.py +0 -0
  67. {orionis-0.482.0 → orionis-0.484.0}/orionis/console/tasks/exception_report.py +0 -0
  68. {orionis-0.482.0/orionis/container/context → orionis-0.484.0/orionis/container}/__init__.py +0 -0
  69. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/container.py +0 -0
  70. {orionis-0.482.0/orionis/container/contracts → orionis-0.484.0/orionis/container/context}/__init__.py +0 -0
  71. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/context/manager.py +0 -0
  72. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/context/scope.py +0 -0
  73. {orionis-0.482.0/orionis/container/entities → orionis-0.484.0/orionis/container/contracts}/__init__.py +0 -0
  74. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/contracts/container.py +0 -0
  75. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/contracts/service_provider.py +0 -0
  76. {orionis-0.482.0/orionis/container/facades → orionis-0.484.0/orionis/container/entities}/__init__.py +0 -0
  77. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/entities/binding.py +0 -0
  78. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/enums/__init__.py +0 -0
  79. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/enums/lifetimes.py +0 -0
  80. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/exceptions/__init__.py +0 -0
  81. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/exceptions/attribute.py +0 -0
  82. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/exceptions/exception.py +0 -0
  83. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/exceptions/type.py +0 -0
  84. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/exceptions/value.py +0 -0
  85. {orionis-0.482.0/orionis/container/providers → orionis-0.484.0/orionis/container/facades}/__init__.py +0 -0
  86. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/facades/facade.py +0 -0
  87. {orionis-0.482.0/orionis/foundation → orionis-0.484.0/orionis/container/providers}/__init__.py +0 -0
  88. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/providers/service_provider.py +0 -0
  89. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/__init__.py +0 -0
  90. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/implements.py +0 -0
  91. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/is_abstract_class.py +0 -0
  92. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/is_callable.py +0 -0
  93. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/is_concrete_class.py +0 -0
  94. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/is_instance.py +0 -0
  95. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/is_not_subclass.py +0 -0
  96. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/is_subclass.py +0 -0
  97. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/is_valid_alias.py +0 -0
  98. {orionis-0.482.0 → orionis-0.484.0}/orionis/container/validators/lifetime.py +0 -0
  99. {orionis-0.482.0/orionis/foundation/config → orionis-0.484.0/orionis/foundation}/__init__.py +0 -0
  100. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/application.py +0 -0
  101. {orionis-0.482.0/orionis/foundation/config/app → orionis-0.484.0/orionis/foundation/config}/__init__.py +0 -0
  102. {orionis-0.482.0/orionis/foundation/config/app/entities → orionis-0.484.0/orionis/foundation/config/app}/__init__.py +0 -0
  103. {orionis-0.482.0/orionis/foundation/config/auth → orionis-0.484.0/orionis/foundation/config/app/entities}/__init__.py +0 -0
  104. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/app/entities/app.py +0 -0
  105. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  106. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
  107. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  108. {orionis-0.482.0/orionis/foundation/config/auth/entities → orionis-0.484.0/orionis/foundation/config/auth}/__init__.py +0 -0
  109. {orionis-0.482.0/orionis/foundation/config/cache → orionis-0.484.0/orionis/foundation/config/auth/entities}/__init__.py +0 -0
  110. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  111. {orionis-0.482.0/orionis/foundation/config/cache/entities → orionis-0.484.0/orionis/foundation/config/cache}/__init__.py +0 -0
  112. {orionis-0.482.0/orionis/foundation/config/cors → orionis-0.484.0/orionis/foundation/config/cache/entities}/__init__.py +0 -0
  113. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  114. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  115. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  116. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  117. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  118. {orionis-0.482.0/orionis/foundation/config/cors/entities → orionis-0.484.0/orionis/foundation/config/cors}/__init__.py +0 -0
  119. {orionis-0.482.0/orionis/foundation/config/database → orionis-0.484.0/orionis/foundation/config/cors/entities}/__init__.py +0 -0
  120. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  121. {orionis-0.482.0/orionis/foundation/config/database/entities → orionis-0.484.0/orionis/foundation/config/database}/__init__.py +0 -0
  122. {orionis-0.482.0/orionis/foundation/config/filesystems → orionis-0.484.0/orionis/foundation/config/database/entities}/__init__.py +0 -0
  123. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  124. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/entities/database.py +0 -0
  125. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  126. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  127. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  128. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  129. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  130. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  131. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  132. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  133. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  134. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  135. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  136. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  137. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  138. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  139. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  140. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  141. {orionis-0.482.0/orionis/foundation/config/filesystems/entitites → orionis-0.484.0/orionis/foundation/config/filesystems}/__init__.py +0 -0
  142. {orionis-0.482.0/orionis/foundation/config/logging → orionis-0.484.0/orionis/foundation/config/filesystems/entitites}/__init__.py +0 -0
  143. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  144. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  145. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  146. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  147. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  148. {orionis-0.482.0/orionis/foundation/config/logging/entities → orionis-0.484.0/orionis/foundation/config/logging}/__init__.py +0 -0
  149. {orionis-0.482.0/orionis/foundation/config/mail → orionis-0.484.0/orionis/foundation/config/logging/entities}/__init__.py +0 -0
  150. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  151. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  152. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  153. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  154. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  155. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  156. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  157. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  158. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  159. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  160. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
  161. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/validators/level.py +0 -0
  162. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/logging/validators/path.py +0 -0
  163. {orionis-0.482.0/orionis/foundation/config/mail/entities → orionis-0.484.0/orionis/foundation/config/mail}/__init__.py +0 -0
  164. {orionis-0.482.0/orionis/foundation/config/queue → orionis-0.484.0/orionis/foundation/config/mail/entities}/__init__.py +0 -0
  165. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  166. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  167. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  168. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  169. {orionis-0.482.0/orionis/foundation/config/queue/entities → orionis-0.484.0/orionis/foundation/config/queue}/__init__.py +0 -0
  170. {orionis-0.482.0/orionis/foundation/config/roots → orionis-0.484.0/orionis/foundation/config/queue/entities}/__init__.py +0 -0
  171. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  172. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  173. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  174. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
  175. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  176. {orionis-0.482.0/orionis/foundation/config/session → orionis-0.484.0/orionis/foundation/config/roots}/__init__.py +0 -0
  177. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/roots/paths.py +0 -0
  178. {orionis-0.482.0/orionis/foundation/config/session/entities → orionis-0.484.0/orionis/foundation/config/session}/__init__.py +0 -0
  179. {orionis-0.482.0/orionis/foundation/config/session/helpers → orionis-0.484.0/orionis/foundation/config/session/entities}/__init__.py +0 -0
  180. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/session/entities/session.py +0 -0
  181. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  182. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  183. {orionis-0.482.0/orionis/foundation/config/testing → orionis-0.484.0/orionis/foundation/config/session/helpers}/__init__.py +0 -0
  184. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  185. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/startup.py +0 -0
  186. {orionis-0.482.0/orionis/foundation/config/testing/entities → orionis-0.484.0/orionis/foundation/config/testing}/__init__.py +0 -0
  187. {orionis-0.482.0/orionis/foundation/contracts → orionis-0.484.0/orionis/foundation/config/testing/entities}/__init__.py +0 -0
  188. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
  189. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  190. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
  191. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
  192. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
  193. {orionis-0.482.0/orionis/foundation/providers → orionis-0.484.0/orionis/foundation/contracts}/__init__.py +0 -0
  194. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/contracts/application.py +0 -0
  195. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/contracts/config.py +0 -0
  196. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/exceptions/__init__.py +0 -0
  197. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/exceptions/integrity.py +0 -0
  198. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/exceptions/runtime.py +0 -0
  199. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/exceptions/type.py +0 -0
  200. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/exceptions/value.py +0 -0
  201. {orionis-0.482.0/orionis/metadata → orionis-0.484.0/orionis/foundation/providers}/__init__.py +0 -0
  202. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/console_provider.py +0 -0
  203. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/dumper_provider.py +0 -0
  204. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/executor_provider.py +0 -0
  205. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
  206. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/logger_provider.py +0 -0
  207. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
  208. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
  209. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/reactor_provider.py +0 -0
  210. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
  211. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/testing_provider.py +0 -0
  212. {orionis-0.482.0 → orionis-0.484.0}/orionis/foundation/providers/workers_provider.py +0 -0
  213. {orionis-0.482.0/orionis/services → orionis-0.484.0/orionis/metadata}/__init__.py +0 -0
  214. {orionis-0.482.0 → orionis-0.484.0}/orionis/metadata/package.py +0 -0
  215. {orionis-0.482.0/orionis/services/asynchrony → orionis-0.484.0/orionis/services}/__init__.py +0 -0
  216. {orionis-0.482.0/orionis/services/asynchrony/contracts → orionis-0.484.0/orionis/services/asynchrony}/__init__.py +0 -0
  217. {orionis-0.482.0/orionis/services/environment → orionis-0.484.0/orionis/services/asynchrony/contracts}/__init__.py +0 -0
  218. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  219. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/asynchrony/coroutines.py +0 -0
  220. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  221. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
  222. {orionis-0.482.0/orionis/services/environment/contracts → orionis-0.484.0/orionis/services/environment}/__init__.py +0 -0
  223. {orionis-0.482.0/orionis/services/environment/core → orionis-0.484.0/orionis/services/environment/contracts}/__init__.py +0 -0
  224. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/contracts/caster.py +0 -0
  225. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/contracts/env.py +0 -0
  226. {orionis-0.482.0/orionis/services/environment/dynamic → orionis-0.484.0/orionis/services/environment/core}/__init__.py +0 -0
  227. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/core/dot_env.py +0 -0
  228. {orionis-0.482.0/orionis/services/environment/helpers → orionis-0.484.0/orionis/services/environment/dynamic}/__init__.py +0 -0
  229. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/dynamic/caster.py +0 -0
  230. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/enums/__init__.py +0 -0
  231. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/enums/value_type.py +0 -0
  232. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/env.py +0 -0
  233. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  234. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/exceptions/exception.py +0 -0
  235. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/exceptions/value.py +0 -0
  236. {orionis-0.482.0/orionis/services/environment/key → orionis-0.484.0/orionis/services/environment/helpers}/__init__.py +0 -0
  237. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/helpers/functions.py +0 -0
  238. {orionis-0.482.0/orionis/services/inspirational → orionis-0.484.0/orionis/services/environment/key}/__init__.py +0 -0
  239. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/key/key_generator.py +0 -0
  240. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/validators/__init__.py +0 -0
  241. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/validators/key_name.py +0 -0
  242. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/environment/validators/types.py +0 -0
  243. {orionis-0.482.0/orionis/services/inspirational/contracts → orionis-0.484.0/orionis/services/inspirational}/__init__.py +0 -0
  244. {orionis-0.482.0/orionis/services/introspection → orionis-0.484.0/orionis/services/inspirational/contracts}/__init__.py +0 -0
  245. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
  246. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/inspirational/inspire.py +0 -0
  247. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/inspirational/quotes.py +0 -0
  248. {orionis-0.482.0/orionis/services/introspection/abstract → orionis-0.484.0/orionis/services/introspection}/__init__.py +0 -0
  249. {orionis-0.482.0/orionis/services/introspection/abstract/contracts → orionis-0.484.0/orionis/services/introspection/abstract}/__init__.py +0 -0
  250. {orionis-0.482.0/orionis/services/introspection/callables → orionis-0.484.0/orionis/services/introspection/abstract/contracts}/__init__.py +0 -0
  251. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
  252. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/abstract/reflection.py +0 -0
  253. {orionis-0.482.0/orionis/services/introspection/callables/contracts → orionis-0.484.0/orionis/services/introspection/callables}/__init__.py +0 -0
  254. {orionis-0.482.0/orionis/services/introspection/concretes → orionis-0.484.0/orionis/services/introspection/callables/contracts}/__init__.py +0 -0
  255. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
  256. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/callables/reflection.py +0 -0
  257. {orionis-0.482.0/orionis/services/introspection/concretes/contracts → orionis-0.484.0/orionis/services/introspection/concretes}/__init__.py +0 -0
  258. {orionis-0.482.0/orionis/services/introspection/dependencies → orionis-0.484.0/orionis/services/introspection/concretes/contracts}/__init__.py +0 -0
  259. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
  260. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/concretes/reflection.py +0 -0
  261. {orionis-0.482.0/orionis/services/introspection/dependencies/contracts → orionis-0.484.0/orionis/services/introspection/dependencies}/__init__.py +0 -0
  262. {orionis-0.482.0/orionis/services/introspection/dependencies/entities → orionis-0.484.0/orionis/services/introspection/dependencies/contracts}/__init__.py +0 -0
  263. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
  264. {orionis-0.482.0/orionis/services/introspection/instances → orionis-0.484.0/orionis/services/introspection/dependencies/entities}/__init__.py +0 -0
  265. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
  266. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
  267. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
  268. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  269. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
  270. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/exceptions/type.py +0 -0
  271. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/exceptions/value.py +0 -0
  272. {orionis-0.482.0/orionis/services/introspection/instances/contracts → orionis-0.484.0/orionis/services/introspection/instances}/__init__.py +0 -0
  273. {orionis-0.482.0/orionis/services/introspection/modules → orionis-0.484.0/orionis/services/introspection/instances/contracts}/__init__.py +0 -0
  274. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
  275. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/instances/reflection.py +0 -0
  276. {orionis-0.482.0/orionis/services/introspection/modules/contracts → orionis-0.484.0/orionis/services/introspection/modules}/__init__.py +0 -0
  277. {orionis-0.482.0/orionis/services/introspection/objects → orionis-0.484.0/orionis/services/introspection/modules/contracts}/__init__.py +0 -0
  278. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
  279. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/modules/reflection.py +0 -0
  280. {orionis-0.482.0/orionis/services/log → orionis-0.484.0/orionis/services/introspection/objects}/__init__.py +0 -0
  281. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/objects/types.py +0 -0
  282. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/introspection/reflection.py +0 -0
  283. {orionis-0.482.0/orionis/services/log/contracts → orionis-0.484.0/orionis/services/log}/__init__.py +0 -0
  284. {orionis-0.482.0/orionis/services/log/handlers → orionis-0.484.0/orionis/services/log/contracts}/__init__.py +0 -0
  285. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/log/contracts/log_service.py +0 -0
  286. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/log/exceptions/__init__.py +0 -0
  287. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/log/exceptions/runtime.py +0 -0
  288. {orionis-0.482.0/orionis/services/system → orionis-0.484.0/orionis/services/log/handlers}/__init__.py +0 -0
  289. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/log/handlers/filename.py +0 -0
  290. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/log/handlers/size_rotating.py +0 -0
  291. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
  292. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/log/log_service.py +0 -0
  293. {orionis-0.482.0/orionis/services/system/contracts → orionis-0.484.0/orionis/services/system}/__init__.py +0 -0
  294. {orionis-0.482.0/orionis/services/system/runtime → orionis-0.484.0/orionis/services/system/contracts}/__init__.py +0 -0
  295. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/system/contracts/imports.py +0 -0
  296. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/system/contracts/workers.py +0 -0
  297. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/system/imports.py +0 -0
  298. {orionis-0.482.0/orionis/support → orionis-0.484.0/orionis/services/system/runtime}/__init__.py +0 -0
  299. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/system/runtime/imports.py +0 -0
  300. {orionis-0.482.0 → orionis-0.484.0}/orionis/services/system/workers.py +0 -0
  301. {orionis-0.482.0/orionis/support/entities → orionis-0.484.0/orionis/support}/__init__.py +0 -0
  302. {orionis-0.482.0/orionis/support/facades → orionis-0.484.0/orionis/support/entities}/__init__.py +0 -0
  303. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/entities/base.py +0 -0
  304. {orionis-0.482.0/orionis/support/formatter → orionis-0.484.0/orionis/support/facades}/__init__.py +0 -0
  305. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/application.py +0 -0
  306. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/console.py +0 -0
  307. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/dumper.py +0 -0
  308. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/executor.py +0 -0
  309. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/inspire.py +0 -0
  310. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/logger.py +0 -0
  311. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/performance_counter.py +0 -0
  312. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/progress_bar.py +0 -0
  313. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/reactor.py +0 -0
  314. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/testing.py +0 -0
  315. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/facades/workers.py +0 -0
  316. {orionis-0.482.0/orionis/support/formatter/exceptions → orionis-0.484.0/orionis/support/formatter}/__init__.py +0 -0
  317. {orionis-0.482.0/orionis/support/formatter/exceptions/contracts → orionis-0.484.0/orionis/support/formatter/exceptions}/__init__.py +0 -0
  318. {orionis-0.482.0/orionis/support/patterns → orionis-0.484.0/orionis/support/formatter/exceptions/contracts}/__init__.py +0 -0
  319. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
  320. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/formatter/exceptions/parser.py +0 -0
  321. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/formatter/serializer.py +0 -0
  322. {orionis-0.482.0/orionis/support/performance → orionis-0.484.0/orionis/support/patterns}/__init__.py +0 -0
  323. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/patterns/singleton/__init__.py +0 -0
  324. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/patterns/singleton/meta.py +0 -0
  325. {orionis-0.482.0/orionis/support/performance/contracts → orionis-0.484.0/orionis/support/performance}/__init__.py +0 -0
  326. {orionis-0.482.0/orionis/support/standard → orionis-0.484.0/orionis/support/performance/contracts}/__init__.py +0 -0
  327. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/performance/contracts/counter.py +0 -0
  328. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/performance/counter.py +0 -0
  329. {orionis-0.482.0/orionis/support/standard/contracts → orionis-0.484.0/orionis/support/standard}/__init__.py +0 -0
  330. {orionis-0.482.0/orionis/test → orionis-0.484.0/orionis/support/standard/contracts}/__init__.py +0 -0
  331. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/standard/contracts/std.py +0 -0
  332. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  333. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/standard/exceptions/value.py +0 -0
  334. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/standard/std.py +0 -0
  335. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/wrapper/__init__.py +0 -0
  336. {orionis-0.482.0 → orionis-0.484.0}/orionis/support/wrapper/dot_dict.py +0 -0
  337. {orionis-0.482.0/orionis/test/cases → orionis-0.484.0/orionis/test}/__init__.py +0 -0
  338. {orionis-0.482.0/orionis/test/contracts → orionis-0.484.0/orionis/test/cases}/__init__.py +0 -0
  339. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/cases/asynchronous.py +0 -0
  340. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/cases/synchronous.py +0 -0
  341. {orionis-0.482.0/orionis/test/core → orionis-0.484.0/orionis/test/contracts}/__init__.py +0 -0
  342. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/contracts/dumper.py +0 -0
  343. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/contracts/kernel.py +0 -0
  344. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/contracts/logs.py +0 -0
  345. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/contracts/printer.py +0 -0
  346. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/contracts/render.py +0 -0
  347. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/contracts/test_result.py +0 -0
  348. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/contracts/unit_test.py +0 -0
  349. {orionis-0.482.0/orionis/test/entities → orionis-0.484.0/orionis/test/core}/__init__.py +0 -0
  350. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/core/unit_test.py +0 -0
  351. {orionis-0.482.0/orionis/test/output → orionis-0.484.0/orionis/test/entities}/__init__.py +0 -0
  352. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/entities/result.py +0 -0
  353. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/enums/__init__.py +0 -0
  354. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/enums/status.py +0 -0
  355. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/exceptions/__init__.py +0 -0
  356. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/exceptions/config.py +0 -0
  357. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/exceptions/failure.py +0 -0
  358. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/exceptions/persistence.py +0 -0
  359. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/exceptions/runtime.py +0 -0
  360. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/exceptions/value.py +0 -0
  361. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/kernel.py +0 -0
  362. {orionis-0.482.0/orionis/test/records → orionis-0.484.0/orionis/test/output}/__init__.py +0 -0
  363. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/output/dumper.py +0 -0
  364. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/output/printer.py +0 -0
  365. {orionis-0.482.0/orionis/test/view → orionis-0.484.0/orionis/test/records}/__init__.py +0 -0
  366. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/records/logs.py +0 -0
  367. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/__init__.py +0 -0
  368. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/base_path.py +0 -0
  369. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/execution_mode.py +0 -0
  370. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/fail_fast.py +0 -0
  371. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/folder_path.py +0 -0
  372. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/module_name.py +0 -0
  373. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/name_pattern.py +0 -0
  374. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/pattern.py +0 -0
  375. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/persistent.py +0 -0
  376. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/persistent_driver.py +0 -0
  377. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/print_result.py +0 -0
  378. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/tags.py +0 -0
  379. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/throw_exception.py +0 -0
  380. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/verbosity.py +0 -0
  381. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/web_report.py +0 -0
  382. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/validators/workers.py +0 -0
  383. {orionis-0.482.0/tests → orionis-0.484.0/orionis/test/view}/__init__.py +0 -0
  384. {orionis-0.482.0 → orionis-0.484.0}/orionis/test/view/render.py +0 -0
  385. {orionis-0.482.0 → orionis-0.484.0}/orionis.egg-info/dependency_links.txt +0 -0
  386. {orionis-0.482.0 → orionis-0.484.0}/orionis.egg-info/requires.txt +0 -0
  387. {orionis-0.482.0 → orionis-0.484.0}/orionis.egg-info/top_level.txt +0 -0
  388. {orionis-0.482.0 → orionis-0.484.0}/orionis.egg-info/zip-safe +0 -0
  389. {orionis-0.482.0 → orionis-0.484.0}/setup.cfg +0 -0
  390. {orionis-0.482.0 → orionis-0.484.0}/setup.py +0 -0
  391. {orionis-0.482.0/tests/container → orionis-0.484.0/tests}/__init__.py +0 -0
  392. {orionis-0.482.0/tests/container/context → orionis-0.484.0/tests/container}/__init__.py +0 -0
  393. {orionis-0.482.0/tests/container/core → orionis-0.484.0/tests/container/context}/__init__.py +0 -0
  394. {orionis-0.482.0 → orionis-0.484.0}/tests/container/context/test_manager.py +0 -0
  395. {orionis-0.482.0 → orionis-0.484.0}/tests/container/context/test_scope.py +0 -0
  396. {orionis-0.482.0/tests/container/entities → orionis-0.484.0/tests/container/core}/__init__.py +0 -0
  397. {orionis-0.482.0 → orionis-0.484.0}/tests/container/core/test_advanced_async.py +0 -0
  398. {orionis-0.482.0 → orionis-0.484.0}/tests/container/core/test_async_optimizations.py +0 -0
  399. {orionis-0.482.0 → orionis-0.484.0}/tests/container/core/test_container.py +0 -0
  400. {orionis-0.482.0 → orionis-0.484.0}/tests/container/core/test_singleton.py +0 -0
  401. {orionis-0.482.0 → orionis-0.484.0}/tests/container/core/test_thread_safety.py +0 -0
  402. {orionis-0.482.0/tests/container/enums → orionis-0.484.0/tests/container/entities}/__init__.py +0 -0
  403. {orionis-0.482.0 → orionis-0.484.0}/tests/container/entities/test_binding.py +0 -0
  404. {orionis-0.482.0/tests/container/facades → orionis-0.484.0/tests/container/enums}/__init__.py +0 -0
  405. {orionis-0.482.0 → orionis-0.484.0}/tests/container/enums/test_lifetimes.py +0 -0
  406. {orionis-0.482.0/tests/container/mocks → orionis-0.484.0/tests/container/facades}/__init__.py +0 -0
  407. {orionis-0.482.0 → orionis-0.484.0}/tests/container/facades/test_facade.py +0 -0
  408. {orionis-0.482.0/tests/container/providers → orionis-0.484.0/tests/container/mocks}/__init__.py +0 -0
  409. {orionis-0.482.0 → orionis-0.484.0}/tests/container/mocks/mock_advanced_async.py +0 -0
  410. {orionis-0.482.0 → orionis-0.484.0}/tests/container/mocks/mock_async_optimizations.py +0 -0
  411. {orionis-0.482.0 → orionis-0.484.0}/tests/container/mocks/mock_auto_resolution.py +0 -0
  412. {orionis-0.482.0 → orionis-0.484.0}/tests/container/mocks/mock_complex_classes.py +0 -0
  413. {orionis-0.482.0 → orionis-0.484.0}/tests/container/mocks/mock_simple_classes.py +0 -0
  414. {orionis-0.482.0/tests/container/validators → orionis-0.484.0/tests/container/providers}/__init__.py +0 -0
  415. {orionis-0.482.0 → orionis-0.484.0}/tests/container/providers/test_providers.py +0 -0
  416. {orionis-0.482.0/tests/example → orionis-0.484.0/tests/container/validators}/__init__.py +0 -0
  417. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_implements.py +0 -0
  418. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_is_abstract_class.py +0 -0
  419. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_is_callable.py +0 -0
  420. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_is_concrete_class.py +0 -0
  421. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_is_instance.py +0 -0
  422. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_is_not_subclass.py +0 -0
  423. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_is_subclass.py +0 -0
  424. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_is_valid_alias.py +0 -0
  425. {orionis-0.482.0 → orionis-0.484.0}/tests/container/validators/test_lifetime.py +0 -0
  426. {orionis-0.482.0/tests/foundation → orionis-0.484.0/tests/example}/__init__.py +0 -0
  427. {orionis-0.482.0 → orionis-0.484.0}/tests/example/test_example.py +0 -0
  428. {orionis-0.482.0/tests/foundation/config → orionis-0.484.0/tests/foundation}/__init__.py +0 -0
  429. {orionis-0.482.0/tests/foundation/config/app → orionis-0.484.0/tests/foundation/config}/__init__.py +0 -0
  430. {orionis-0.482.0/tests/foundation/config/auth → orionis-0.484.0/tests/foundation/config/app}/__init__.py +0 -0
  431. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
  432. {orionis-0.482.0/tests/foundation/config/cache → orionis-0.484.0/tests/foundation/config/auth}/__init__.py +0 -0
  433. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
  434. {orionis-0.482.0/tests/foundation/config/cors → orionis-0.484.0/tests/foundation/config/cache}/__init__.py +0 -0
  435. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
  436. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
  437. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
  438. {orionis-0.482.0/tests/foundation/config/database → orionis-0.484.0/tests/foundation/config/cors}/__init__.py +0 -0
  439. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
  440. {orionis-0.482.0/tests/foundation/config/filesystems → orionis-0.484.0/tests/foundation/config/database}/__init__.py +0 -0
  441. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
  442. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
  443. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
  444. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
  445. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
  446. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
  447. {orionis-0.482.0/tests/foundation/config/logging → orionis-0.484.0/tests/foundation/config/filesystems}/__init__.py +0 -0
  448. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
  449. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
  450. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
  451. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
  452. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
  453. {orionis-0.482.0/tests/foundation/config/mail → orionis-0.484.0/tests/foundation/config/logging}/__init__.py +0 -0
  454. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
  455. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
  456. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
  457. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
  458. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
  459. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
  460. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
  461. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
  462. {orionis-0.482.0/tests/foundation/config/queue → orionis-0.484.0/tests/foundation/config/mail}/__init__.py +0 -0
  463. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
  464. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
  465. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
  466. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
  467. {orionis-0.482.0/tests/foundation/config/root → orionis-0.484.0/tests/foundation/config/queue}/__init__.py +0 -0
  468. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
  469. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
  470. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
  471. {orionis-0.482.0/tests/foundation/config/session → orionis-0.484.0/tests/foundation/config/root}/__init__.py +0 -0
  472. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
  473. {orionis-0.482.0/tests/foundation/config/startup → orionis-0.484.0/tests/foundation/config/session}/__init__.py +0 -0
  474. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
  475. {orionis-0.482.0/tests/foundation/config/testing → orionis-0.484.0/tests/foundation/config/startup}/__init__.py +0 -0
  476. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
  477. {orionis-0.482.0/tests/metadata → orionis-0.484.0/tests/foundation/config/testing}/__init__.py +0 -0
  478. {orionis-0.482.0 → orionis-0.484.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
  479. {orionis-0.482.0/tests/services → orionis-0.484.0/tests/metadata}/__init__.py +0 -0
  480. {orionis-0.482.0 → orionis-0.484.0}/tests/metadata/test_metadata_framework.py +0 -0
  481. {orionis-0.482.0 → orionis-0.484.0}/tests/metadata/test_metadata_package.py +0 -0
  482. {orionis-0.482.0/tests/services/asynchrony → orionis-0.484.0/tests/services}/__init__.py +0 -0
  483. {orionis-0.482.0/tests/services/environment → orionis-0.484.0/tests/services/asynchrony}/__init__.py +0 -0
  484. {orionis-0.482.0 → orionis-0.484.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
  485. {orionis-0.482.0/tests/services/introspection → orionis-0.484.0/tests/services/environment}/__init__.py +0 -0
  486. {orionis-0.482.0 → orionis-0.484.0}/tests/services/environment/test_services_environment.py +0 -0
  487. {orionis-0.482.0/tests/services/introspection/dependencies → orionis-0.484.0/tests/services/introspection}/__init__.py +0 -0
  488. {orionis-0.482.0/tests/services/introspection/dependencies/mocks → orionis-0.484.0/tests/services/introspection/dependencies}/__init__.py +0 -0
  489. {orionis-0.482.0/tests/services/introspection/reflection → orionis-0.484.0/tests/services/introspection/dependencies/mocks}/__init__.py +0 -0
  490. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/dependencies/mocks/mock_user.py +0 -0
  491. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -0
  492. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -0
  493. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -0
  494. {orionis-0.482.0/tests/services/introspection/reflection/mock → orionis-0.484.0/tests/services/introspection/reflection}/__init__.py +0 -0
  495. {orionis-0.482.0/tests/services/log → orionis-0.484.0/tests/services/introspection/reflection/mock}/__init__.py +0 -0
  496. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -0
  497. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/reflection/test_reflection_abstract.py +0 -0
  498. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/reflection/test_reflection_callable.py +0 -0
  499. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/reflection/test_reflection_concrete.py +0 -0
  500. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/reflection/test_reflection_instance.py +0 -0
  501. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/reflection/test_reflection_module.py +0 -0
  502. {orionis-0.482.0 → orionis-0.484.0}/tests/services/introspection/test_reflection.py +0 -0
  503. {orionis-0.482.0/tests/services/system → orionis-0.484.0/tests/services/log}/__init__.py +0 -0
  504. {orionis-0.482.0 → orionis-0.484.0}/tests/services/log/test_log.py +0 -0
  505. {orionis-0.482.0/tests/support → orionis-0.484.0/tests/services/system}/__init__.py +0 -0
  506. {orionis-0.482.0 → orionis-0.484.0}/tests/services/system/test_services_system_imports.py +0 -0
  507. {orionis-0.482.0 → orionis-0.484.0}/tests/services/system/test_services_system_workers.py +0 -0
  508. {orionis-0.482.0/tests/support/entities → orionis-0.484.0/tests/support}/__init__.py +0 -0
  509. {orionis-0.482.0/tests/support/patterns → orionis-0.484.0/tests/support/entities}/__init__.py +0 -0
  510. {orionis-0.482.0 → orionis-0.484.0}/tests/support/entities/mock_dataclass.py +0 -0
  511. {orionis-0.482.0 → orionis-0.484.0}/tests/support/entities/test_base.py +0 -0
  512. {orionis-0.482.0/tests/support/patterns/singleton → orionis-0.484.0/tests/support/patterns}/__init__.py +0 -0
  513. {orionis-0.482.0/tests/support/standard → orionis-0.484.0/tests/support/patterns/singleton}/__init__.py +0 -0
  514. {orionis-0.482.0 → orionis-0.484.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
  515. {orionis-0.482.0/tests/support/wrapper → orionis-0.484.0/tests/support/standard}/__init__.py +0 -0
  516. {orionis-0.482.0 → orionis-0.484.0}/tests/support/standard/test_services_std.py +0 -0
  517. {orionis-0.482.0/tests/testing → orionis-0.484.0/tests/support/wrapper}/__init__.py +0 -0
  518. {orionis-0.482.0 → orionis-0.484.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
  519. {orionis-0.482.0/tests/testing/cases → orionis-0.484.0/tests/testing}/__init__.py +0 -0
  520. {orionis-0.482.0/tests/testing/entities → orionis-0.484.0/tests/testing/cases}/__init__.py +0 -0
  521. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/cases/test_testing_asynchronous.py +0 -0
  522. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/cases/test_testing_synchronous.py +0 -0
  523. {orionis-0.482.0/tests/testing/enums → orionis-0.484.0/tests/testing/entities}/__init__.py +0 -0
  524. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/entities/test_testing_result.py +0 -0
  525. {orionis-0.482.0/tests/testing/output → orionis-0.484.0/tests/testing/enums}/__init__.py +0 -0
  526. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/enums/test_testing_status.py +0 -0
  527. {orionis-0.482.0/tests/testing/records → orionis-0.484.0/tests/testing/output}/__init__.py +0 -0
  528. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/output/test_testing_dumper.py +0 -0
  529. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/output/test_testing_printer.py +0 -0
  530. {orionis-0.482.0/tests/testing/validators → orionis-0.484.0/tests/testing/records}/__init__.py +0 -0
  531. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/records/test_testing_records.py +0 -0
  532. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/test_testing_unit.py +0 -0
  533. {orionis-0.482.0/tests/testing/view → orionis-0.484.0/tests/testing/validators}/__init__.py +0 -0
  534. {orionis-0.482.0 → orionis-0.484.0}/tests/testing/validators/test_testing_validators.py +0 -0
  535. {orionis-0.482.0 → orionis-0.484.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.482.0
3
+ Version: 0.484.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
@@ -0,0 +1,139 @@
1
+ import importlib
2
+ import os
3
+ from pathlib import Path
4
+ from rich.console import Console
5
+ from rich.panel import Panel
6
+ from rich.table import Table
7
+ from orionis.console.base.command import BaseCommand
8
+ from orionis.console.contracts.schedule import ISchedule
9
+ from orionis.console.exceptions import CLIOrionisRuntimeError
10
+ from orionis.foundation.contracts.application import IApplication
11
+
12
+ class ScheduleListCommand(BaseCommand):
13
+ """
14
+ Command class to display usage information for the Orionis CLI.
15
+
16
+ Methods
17
+ -------
18
+ handle(orionis: IApplication, console: Console) -> bool
19
+ Displays a table of scheduled tasks defined in the application.
20
+ Imports the scheduler module, retrieves scheduled jobs, and prints them
21
+ in a formatted table using the rich library.
22
+
23
+ Returns
24
+ -------
25
+ bool
26
+ Returns True if the scheduled jobs are listed successfully or if no jobs are found.
27
+ Raises CLIOrionisRuntimeError if an error occurs during execution.
28
+ """
29
+
30
+ # Indicates whether timestamps will be shown in the command output
31
+ timestamps: bool = False
32
+
33
+ # Command signature and description
34
+ signature: str = "schedule:list"
35
+
36
+ # Command description
37
+ description: str = "Executes the scheduled tasks defined in the application."
38
+
39
+ def handle(self, orionis: IApplication, console: Console) -> bool:
40
+ """
41
+ Displays a table of scheduled jobs defined in the application.
42
+
43
+ This method dynamically imports the scheduler module, retrieves the list of
44
+ scheduled jobs using the ISchedule service, and prints the jobs in a formatted
45
+ table. If no jobs are found, a message is displayed. Handles and reports errors
46
+ encountered during the process.
47
+
48
+ Parameters
49
+ ----------
50
+ orionis : IApplication
51
+ The application instance providing configuration and service resolution.
52
+ console : Console
53
+ The rich Console instance used for output.
54
+
55
+ Returns
56
+ -------
57
+ bool
58
+ Returns True if the scheduled jobs are listed successfully or if no jobs are found.
59
+ Raises CLIOrionisRuntimeError if an error occurs during execution.
60
+ """
61
+
62
+ try:
63
+
64
+ # Get the absolute path of the scheduler from the application configuration
65
+ scheduler_path = orionis.path('console_scheduler')
66
+
67
+ # Get the base path from the current working directory
68
+ base_path = Path(os.getcwd()).resolve()
69
+ scheduler_path = Path(scheduler_path).resolve()
70
+ rel_path = scheduler_path.relative_to(base_path)
71
+
72
+ # Convert the path to a module name (replace separators with dots, remove .py)
73
+ module_name = ".".join(rel_path.with_suffix('').parts)
74
+
75
+ # Dynamically import the scheduler module
76
+ scheduler_module = importlib.import_module(module_name)
77
+
78
+ # Retrieve the Scheduler class from the imported module
79
+ Scheduler = getattr(scheduler_module, "Scheduler", None)
80
+
81
+ # Raise an error if the Scheduler class is not found
82
+ if Scheduler is None:
83
+ raise CLIOrionisRuntimeError(f"Scheduler class not found in module {module_name}")
84
+
85
+ # Retrieve the 'tasks' method from the Scheduler class
86
+ task_method = getattr(Scheduler, "tasks", None)
87
+
88
+ # Raise an error if the 'tasks' method is not found
89
+ if task_method is None:
90
+ raise CLIOrionisRuntimeError(f"Method 'tasks' not found in Scheduler class in module {module_name}")
91
+
92
+ # Create an instance of ISchedule using the application container
93
+ schedule_serice: ISchedule = orionis.make(ISchedule)
94
+
95
+ # Initialize the scheduled tasks by calling the 'tasks' method
96
+ task_method(schedule_serice)
97
+
98
+ # Retrieve the list of scheduled jobs/events
99
+ list_tasks = schedule_serice.events()
100
+
101
+ # Display a message if no scheduled jobs are found
102
+ if not list_tasks:
103
+ console.line()
104
+ console.print(Panel("No scheduled jobs found.", border_style="green"))
105
+ console.line()
106
+ return True
107
+
108
+ # Create and configure a table to display scheduled jobs
109
+ table = Table(title="Scheduled Jobs", show_lines=True)
110
+ table.add_column("Signature", style="cyan", no_wrap=True)
111
+ table.add_column("Arguments", style="magenta")
112
+ table.add_column("Purpose", style="green")
113
+ table.add_column("Random Delay", style="yellow")
114
+ table.add_column("Start Date", style="white")
115
+ table.add_column("End Date", style="white")
116
+ table.add_column("Details", style="dim")
117
+
118
+ # Populate the table with job details
119
+ for job in list_tasks:
120
+ signature = str(job.get("signature", ""))
121
+ args = ", ".join(map(str, job.get("args", [])))
122
+ purpose = str(job.get("purpose", ""))
123
+ random_delay = str(job.get("random_delay", ""))
124
+ start_date = str(job.get("start_date", "")) if job.get("start_date") else "-"
125
+ end_date = str(job.get("end_date", "")) if job.get("end_date") else "-"
126
+ details = str(job.get("details", ""))
127
+
128
+ table.add_row(signature, args, purpose, random_delay, start_date, end_date, details)
129
+
130
+ # Print the table to the console
131
+ console.line()
132
+ console.print(table)
133
+ console.line()
134
+ return True
135
+
136
+ except Exception as exc:
137
+
138
+ # Catch any unexpected exceptions and raise as a CLIOrionisRuntimeError
139
+ raise CLIOrionisRuntimeError(f"An unexpected error occurred while clearing the cache: {exc}")
@@ -0,0 +1,141 @@
1
+ import importlib
2
+ import os
3
+ from datetime import datetime
4
+ from pathlib import Path
5
+ from rich.console import Console
6
+ from rich.panel import Panel
7
+ from rich.text import Text
8
+ from orionis.console.base.command import BaseCommand
9
+ from orionis.console.contracts.schedule import ISchedule
10
+ from orionis.console.exceptions import CLIOrionisRuntimeError
11
+ from orionis.foundation.contracts.application import IApplication
12
+
13
+ class ScheduleWorkCommand(BaseCommand):
14
+ """
15
+ Executes the scheduled tasks defined in the application's scheduler.
16
+
17
+ This command dynamically loads the scheduler module specified in the application's configuration,
18
+ retrieves the `Scheduler` class and its `tasks` method, registers the scheduled tasks with the
19
+ ISchedule service, and starts the scheduler worker. It provides user feedback via the console and
20
+ handles errors by raising CLIOrionisRuntimeError exceptions.
21
+
22
+ Parameters
23
+ ----------
24
+ orionis : IApplication
25
+ The application instance providing configuration and service resolution.
26
+ console : Console
27
+ The Rich console instance used for displaying output to the user.
28
+
29
+ Returns
30
+ -------
31
+ bool
32
+ Returns True if the scheduler worker starts successfully. If an error occurs during the process,
33
+ a CLIOrionisRuntimeError is raised.
34
+
35
+ Raises
36
+ ------
37
+ CLIOrionisRuntimeError
38
+ If the scheduler module, class, or tasks method cannot be found, or if any unexpected error occurs.
39
+ """
40
+
41
+ # Indicates whether timestamps will be shown in the command output
42
+ timestamps: bool = False
43
+
44
+ # Command signature and description
45
+ signature: str = "schedule:work"
46
+
47
+ # Command description
48
+ description: str = "Executes the scheduled tasks defined in the application."
49
+
50
+ async def handle(self, orionis: IApplication, console: Console) -> bool:
51
+ """
52
+ Executes the scheduled tasks defined in the application's scheduler.
53
+
54
+ This method dynamically loads the scheduler module specified in the application's configuration,
55
+ retrieves the `Scheduler` class and its `tasks` method, registers the scheduled tasks with the
56
+ ISchedule service, and starts the scheduler worker. It provides user feedback via the console and
57
+ handles errors by raising CLIOrionisRuntimeError exceptions.
58
+
59
+ Parameters
60
+ ----------
61
+ orionis : IApplication
62
+ The application instance providing configuration and service resolution.
63
+ console : Console
64
+ The Rich console instance used for displaying output to the user.
65
+
66
+ Returns
67
+ -------
68
+ bool
69
+ Returns True if the scheduler worker starts successfully. If an error occurs during the process,
70
+ a CLIOrionisRuntimeError is raised.
71
+
72
+ Raises
73
+ ------
74
+ CLIOrionisRuntimeError
75
+ If the scheduler module, class, or tasks method cannot be found, or if any unexpected error occurs.
76
+ """
77
+ try:
78
+ # Get the absolute path to the scheduler module from the application configuration
79
+ scheduler_path = orionis.path('console_scheduler')
80
+
81
+ # Resolve the base path (current working directory)
82
+ base_path = Path(os.getcwd()).resolve()
83
+ scheduler_path = Path(scheduler_path).resolve()
84
+
85
+ # Compute the relative path from the base path to the scheduler module
86
+ rel_path = scheduler_path.relative_to(base_path)
87
+
88
+ # Convert the relative path to a Python module name (dot notation, no .py extension)
89
+ module_name = ".".join(rel_path.with_suffix('').parts)
90
+
91
+ # Dynamically import the scheduler module
92
+ scheduler_module = importlib.import_module(module_name)
93
+
94
+ # Retrieve the Scheduler class from the imported module
95
+ Scheduler = getattr(scheduler_module, "Scheduler", None)
96
+ if Scheduler is None:
97
+ raise CLIOrionisRuntimeError(f"Scheduler class not found in module {module_name}")
98
+
99
+ # Create an instance of the Scheduler class
100
+ Scheduler = Scheduler()
101
+
102
+ # Retrieve the 'tasks' method from the Scheduler class
103
+ task_method = getattr(Scheduler, "tasks", None)
104
+ if task_method is None:
105
+ raise CLIOrionisRuntimeError(f"Method 'tasks' not found in Scheduler class in module {module_name}")
106
+
107
+ # Create an instance of the ISchedule service
108
+ schedule_serice: ISchedule = orionis.make(ISchedule)
109
+
110
+ # Register scheduled tasks using the Scheduler's tasks method
111
+ task_method(schedule_serice)
112
+
113
+ # Register event listeners for the scheduler
114
+ onSchedulerStarted = getattr(Scheduler, "onSchedulerStarted", None)
115
+ if onSchedulerStarted:
116
+ schedule_serice.addListenerOnSchedulerStarted(onSchedulerStarted)
117
+
118
+ # Display a start message for the scheduler worker
119
+ console.line()
120
+ start_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
121
+ panel_content = Text.assemble(
122
+ (" Orionis Scheduler Worker ", "bold white on green"),
123
+ ("\n\n", ""),
124
+ ("The scheduled tasks worker has started successfully.\n", "white"),
125
+ (f"Started at: {start_time}\n", "dim"),
126
+ ("To stop the worker, press ", "white"),
127
+ ("Ctrl+C", "bold yellow"),
128
+ (".", "white")
129
+ )
130
+ console.print(
131
+ Panel(panel_content, border_style="green", padding=(1, 2))
132
+ )
133
+ console.line()
134
+
135
+ # Start the scheduler worker asynchronously
136
+ await schedule_serice.start()
137
+ return True
138
+
139
+ except Exception as exc:
140
+ # Raise any unexpected exceptions as CLIOrionisRuntimeError
141
+ raise CLIOrionisRuntimeError(f"An unexpected error occurred while clearing the cache: {exc}")
@@ -112,6 +112,7 @@ class Reactor(IReactor):
112
112
  from orionis.console.commands.workflow import WorkFlowGithubCommand
113
113
  from orionis.console.commands.cache import CacheClearCommand
114
114
  from orionis.console.commands.scheduler_work import ScheduleWorkCommand
115
+ from orionis.console.commands.scheduler_list import ScheduleListCommand
115
116
 
116
117
  # List of core command classes to load (extend this list as more core commands are added)
117
118
  core_commands = [
@@ -121,7 +122,8 @@ class Reactor(IReactor):
121
122
  PublisherCommand,
122
123
  WorkFlowGithubCommand,
123
124
  CacheClearCommand,
124
- ScheduleWorkCommand
125
+ ScheduleWorkCommand,
126
+ ScheduleListCommand
125
127
  ]
126
128
 
127
129
  # Iterate through the core command classes and register them
@@ -0,0 +1,241 @@
1
+ from dataclasses import dataclass
2
+ from datetime import datetime
3
+ from typing import Any
4
+
5
+ # ==============================================================
6
+ # Base Events
7
+ # ==============================================================
8
+
9
+ @dataclass
10
+ class SchedulerEventData:
11
+ """
12
+ Base class for scheduler-related events.
13
+
14
+ Attributes
15
+ ----------
16
+ code : int
17
+ The numeric event code indicating the event type.
18
+ """
19
+ code: int
20
+
21
+
22
+ @dataclass
23
+ class JobEventData(SchedulerEventData):
24
+ """
25
+ Base class for job-related events.
26
+
27
+ Attributes
28
+ ----------
29
+ code : int
30
+ The numeric event code indicating the event type.
31
+ job_id : str
32
+ The identifier of the job.
33
+ jobstore : str
34
+ The name of the job store where the job is located.
35
+ """
36
+ job_id: str
37
+ jobstore: str
38
+
39
+
40
+ # ==============================================================
41
+ # Scheduler Lifecycle Events
42
+ # ==============================================================
43
+
44
+ @dataclass
45
+ class SchedulerStarted(SchedulerEventData):
46
+ """
47
+ Event triggered when the scheduler starts running.
48
+ """
49
+
50
+
51
+ @dataclass
52
+ class SchedulerShutdown(SchedulerEventData):
53
+ """
54
+ Event triggered when the scheduler shuts down.
55
+ """
56
+
57
+
58
+ @dataclass
59
+ class SchedulerPaused(SchedulerEventData):
60
+ """
61
+ Event triggered when the scheduler is paused.
62
+ """
63
+
64
+
65
+ @dataclass
66
+ class SchedulerResumed(SchedulerEventData):
67
+ """
68
+ Event triggered when the scheduler is resumed.
69
+ """
70
+
71
+
72
+ # ==============================================================
73
+ # Executor and JobStore Events
74
+ # ==============================================================
75
+
76
+ @dataclass
77
+ class ExecutorAdded(SchedulerEventData):
78
+ """
79
+ Event triggered when an executor is added.
80
+
81
+ Attributes
82
+ ----------
83
+ alias : str
84
+ The alias of the added executor.
85
+ """
86
+ alias: str
87
+
88
+
89
+ @dataclass
90
+ class ExecutorRemoved(SchedulerEventData):
91
+ """
92
+ Event triggered when an executor is removed.
93
+
94
+ Attributes
95
+ ----------
96
+ alias : str
97
+ The alias of the removed executor.
98
+ """
99
+ alias: str
100
+
101
+
102
+ @dataclass
103
+ class JobstoreAdded(SchedulerEventData):
104
+ """
105
+ Event triggered when a job store is added.
106
+
107
+ Attributes
108
+ ----------
109
+ alias : str
110
+ The alias of the added job store.
111
+ """
112
+ alias: str
113
+
114
+
115
+ @dataclass
116
+ class JobstoreRemoved(SchedulerEventData):
117
+ """
118
+ Event triggered when a job store is removed.
119
+
120
+ Attributes
121
+ ----------
122
+ alias : str
123
+ The alias of the removed job store.
124
+ """
125
+ alias: str
126
+
127
+
128
+ @dataclass
129
+ class AllJobsRemoved(SchedulerEventData):
130
+ """
131
+ Event triggered when all jobs are removed from a job store.
132
+
133
+ Attributes
134
+ ----------
135
+ jobstore : str
136
+ The alias of the job store from which jobs were removed.
137
+ """
138
+ jobstore: str
139
+
140
+
141
+ # ==============================================================
142
+ # Job Management Events
143
+ # ==============================================================
144
+
145
+ @dataclass
146
+ class JobAdded(JobEventData):
147
+ """
148
+ Event triggered when a job is added to a job store.
149
+ """
150
+
151
+
152
+ @dataclass
153
+ class JobRemoved(JobEventData):
154
+ """
155
+ Event triggered when a job is removed from a job store.
156
+ """
157
+
158
+
159
+ @dataclass
160
+ class JobModified(JobEventData):
161
+ """
162
+ Event triggered when a job is modified in a job store.
163
+ """
164
+
165
+
166
+ @dataclass
167
+ class JobSubmitted(JobEventData):
168
+ """
169
+ Event triggered when a job is submitted to an executor.
170
+
171
+ Attributes
172
+ ----------
173
+ run_time : datetime
174
+ The datetime when the job was scheduled to run.
175
+ """
176
+ run_time: datetime
177
+
178
+
179
+ @dataclass
180
+ class JobMaxInstances(JobEventData):
181
+ """
182
+ Event triggered when a job exceeds its maximum allowed instances.
183
+
184
+ Attributes
185
+ ----------
186
+ run_time : datetime
187
+ The datetime when the job was scheduled to run.
188
+ """
189
+ run_time: datetime
190
+
191
+
192
+ # ==============================================================
193
+ # Job Execution Events
194
+ # ==============================================================
195
+
196
+ @dataclass
197
+ class JobExecuted(JobEventData):
198
+ """
199
+ Event triggered when a job finishes successfully.
200
+
201
+ Attributes
202
+ ----------
203
+ scheduled_run_time : datetime
204
+ The datetime when the job was scheduled to run.
205
+ retval : Any
206
+ The return value of the job function.
207
+ """
208
+ scheduled_run_time: datetime
209
+ retval: Any
210
+
211
+
212
+ @dataclass
213
+ class JobError(JobEventData):
214
+ """
215
+ Event triggered when a job raises an exception during execution.
216
+
217
+ Attributes
218
+ ----------
219
+ scheduled_run_time : datetime
220
+ The datetime when the job was scheduled to run.
221
+ exception : Exception
222
+ The exception raised by the job.
223
+ traceback : str
224
+ The traceback of the exception.
225
+ """
226
+ scheduled_run_time: datetime
227
+ exception: Exception
228
+ traceback: str
229
+
230
+
231
+ @dataclass
232
+ class JobMissed(JobEventData):
233
+ """
234
+ Event triggered when a job run is missed due to scheduler constraints.
235
+
236
+ Attributes
237
+ ----------
238
+ scheduled_run_time : datetime
239
+ The datetime when the job was originally scheduled to run.
240
+ """
241
+ scheduled_run_time: datetime
@@ -2,7 +2,7 @@ import asyncio
2
2
  import logging
3
3
  from typing import Dict, List, Optional
4
4
  import pytz
5
- from apscheduler.events import EVENT_JOB_MISSED, EVENT_JOB_ERROR
5
+ from apscheduler.events import EVENT_JOB_MISSED, EVENT_JOB_ERROR, EVENT_ALL, EVENT_SCHEDULER_STARTED
6
6
  from apscheduler.schedulers.asyncio import AsyncIOScheduler as APSAsyncIOScheduler
7
7
  from orionis.console.contracts.reactor import IReactor
8
8
  from orionis.console.contracts.schedule import ISchedule
@@ -80,7 +80,7 @@ class Scheduler(ISchedule):
80
80
  self.__jobs: List[dict] = []
81
81
 
82
82
  # Add a listener to the scheduler to capture job events such as missed jobs or errors.
83
- self.__scheduler.add_listener(self.__listener, EVENT_JOB_MISSED | EVENT_JOB_ERROR)
83
+ self.__scheduler.add_listener(self.__listener, EVENT_ALL)
84
84
 
85
85
  # Log the initialization of the Scheduler.
86
86
  self.__logger.info("Orionis scheduler initialized.")
@@ -313,6 +313,26 @@ class Scheduler(ISchedule):
313
313
  # Return the Event instance for further scheduling configuration
314
314
  return self.__events[signature]
315
315
 
316
+ def addListenerOnSchedulerStarted(
317
+ self,
318
+ listener: callable
319
+ ) -> None:
320
+ """
321
+ Add a listener for the scheduler started event.
322
+
323
+ This method allows you to register a callback function that will be called
324
+ when the scheduler starts. The callback should accept a single argument, which
325
+ is the event object containing details about the scheduler start event.
326
+
327
+ Parameters
328
+ ----------
329
+ listener : callable
330
+ A function that will be called when the scheduler starts.
331
+ It should accept one parameter, which is the event object.
332
+ """
333
+ # Register the listener for the scheduler started event
334
+ self.__scheduler.add_listener(listener, EVENT_SCHEDULER_STARTED)
335
+
316
336
  async def start(self) -> None:
317
337
  """
318
338
  Start the AsyncIO scheduler instance and keep it running.
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.482.0"
8
+ VERSION = "0.484.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.482.0
3
+ Version: 0.484.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
@@ -24,6 +24,7 @@ orionis/console/commands/__init__.py
24
24
  orionis/console/commands/cache.py
25
25
  orionis/console/commands/help.py
26
26
  orionis/console/commands/publisher.py
27
+ orionis/console/commands/scheduler_list.py
27
28
  orionis/console/commands/scheduler_work.py
28
29
  orionis/console/commands/test.py
29
30
  orionis/console/commands/version.py
@@ -43,6 +44,8 @@ orionis/console/dynamic/__init__.py
43
44
  orionis/console/dynamic/progress_bar.py
44
45
  orionis/console/dynamic/contracts/__init__.py
45
46
  orionis/console/dynamic/contracts/progress_bar.py
47
+ orionis/console/entities/__init__.py
48
+ orionis/console/entities/listeners.py
46
49
  orionis/console/enums/__init__.py
47
50
  orionis/console/enums/command.py
48
51
  orionis/console/enums/event.py
File without changes