orionis 0.588.0__tar.gz → 0.590.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 (425) hide show
  1. {orionis-0.588.0/orionis.egg-info → orionis-0.590.0}/PKG-INFO +1 -1
  2. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/core/reactor.py +4 -2
  3. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/application.py +52 -13
  4. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/testing/entities/testing.py +0 -23
  5. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/contracts/application.py +27 -0
  6. {orionis-0.588.0 → orionis-0.590.0}/orionis/metadata/framework.py +1 -1
  7. orionis-0.590.0/orionis/support/performance/contracts/counter.py +137 -0
  8. orionis-0.590.0/orionis/support/performance/counter.py +197 -0
  9. orionis-0.590.0/orionis/test/contracts/unit_test.py +101 -0
  10. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/core/unit_test.py +351 -409
  11. orionis-0.590.0/orionis/test/kernel.py +98 -0
  12. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/__init__.py +0 -2
  13. {orionis-0.588.0 → orionis-0.590.0/orionis.egg-info}/PKG-INFO +1 -1
  14. {orionis-0.588.0 → orionis-0.590.0}/orionis.egg-info/SOURCES.txt +0 -1
  15. orionis-0.588.0/orionis/support/performance/contracts/counter.py +0 -40
  16. orionis-0.588.0/orionis/support/performance/counter.py +0 -87
  17. orionis-0.588.0/orionis/test/contracts/unit_test.py +0 -257
  18. orionis-0.588.0/orionis/test/kernel.py +0 -113
  19. orionis-0.588.0/orionis/test/validators/tags.py +0 -36
  20. {orionis-0.588.0 → orionis-0.590.0}/LICENCE +0 -0
  21. {orionis-0.588.0 → orionis-0.590.0}/MANIFEST.in +0 -0
  22. {orionis-0.588.0 → orionis-0.590.0}/README.md +0 -0
  23. {orionis-0.588.0 → orionis-0.590.0}/orionis/__init__.py +0 -0
  24. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/__init__.py +0 -0
  25. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/args/__init__.py +0 -0
  26. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/args/argument.py +0 -0
  27. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/base/__init__.py +0 -0
  28. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/base/command.py +0 -0
  29. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/base/scheduler.py +0 -0
  30. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/base/scheduler_event_listener.py +0 -0
  31. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/__init__.py +0 -0
  32. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/cache.py +0 -0
  33. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/help.py +0 -0
  34. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/make_listener.py +0 -0
  35. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/publisher.py +0 -0
  36. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/scheduler_list.py +0 -0
  37. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/scheduler_work.py +0 -0
  38. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/test.py +0 -0
  39. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/version.py +0 -0
  40. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/commands/workflow.py +0 -0
  41. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/__init__.py +0 -0
  42. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/base_command.py +0 -0
  43. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/base_scheduler.py +0 -0
  44. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/cli_request.py +0 -0
  45. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/command.py +0 -0
  46. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/console.py +0 -0
  47. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/debug.py +0 -0
  48. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/event.py +0 -0
  49. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/executor.py +0 -0
  50. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/kernel.py +0 -0
  51. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/progress_bar.py +0 -0
  52. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/reactor.py +0 -0
  53. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/schedule.py +0 -0
  54. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/contracts/schedule_event_listener.py +0 -0
  55. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/core/__init__.py +0 -0
  56. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/dumper/__init__.py +0 -0
  57. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/dumper/debug.py +0 -0
  58. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/dynamic/__init__.py +0 -0
  59. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/dynamic/progress_bar.py +0 -0
  60. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/__init__.py +0 -0
  61. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/command.py +0 -0
  62. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/event.py +0 -0
  63. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/event_job.py +0 -0
  64. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/scheduler_error.py +0 -0
  65. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/scheduler_event_data.py +0 -0
  66. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/scheduler_paused.py +0 -0
  67. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/scheduler_resumed.py +0 -0
  68. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/scheduler_shutdown.py +0 -0
  69. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/entities/scheduler_started.py +0 -0
  70. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/enums/__init__.py +0 -0
  71. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/enums/actions.py +0 -0
  72. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/enums/listener.py +0 -0
  73. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/enums/styles.py +0 -0
  74. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/exceptions/__init__.py +0 -0
  75. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/exceptions/cli_exceptions.py +0 -0
  76. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/fluent/__init__.py +0 -0
  77. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/fluent/command.py +0 -0
  78. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/fluent/event.py +0 -0
  79. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/kernel.py +0 -0
  80. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/output/__init__.py +0 -0
  81. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/output/console.py +0 -0
  82. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/output/executor.py +0 -0
  83. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/request/__init__.py +0 -0
  84. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/request/cli_request.py +0 -0
  85. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/stub/command.stub +0 -0
  86. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/stub/listener.stub +0 -0
  87. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/tasks/__init__.py +0 -0
  88. {orionis-0.588.0 → orionis-0.590.0}/orionis/console/tasks/schedule.py +0 -0
  89. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/__init__.py +0 -0
  90. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/container.py +0 -0
  91. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/context/__init__.py +0 -0
  92. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/context/manager.py +0 -0
  93. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/context/scope.py +0 -0
  94. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/contracts/__init__.py +0 -0
  95. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/contracts/container.py +0 -0
  96. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/contracts/service_provider.py +0 -0
  97. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/entities/__init__.py +0 -0
  98. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/entities/binding.py +0 -0
  99. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/enums/__init__.py +0 -0
  100. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/enums/lifetimes.py +0 -0
  101. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/exceptions/__init__.py +0 -0
  102. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/exceptions/container.py +0 -0
  103. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/facades/__init__.py +0 -0
  104. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/facades/facade.py +0 -0
  105. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/providers/__init__.py +0 -0
  106. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/providers/service_provider.py +0 -0
  107. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/__init__.py +0 -0
  108. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/implements.py +0 -0
  109. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/is_abstract_class.py +0 -0
  110. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/is_callable.py +0 -0
  111. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/is_concrete_class.py +0 -0
  112. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/is_instance.py +0 -0
  113. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/is_not_subclass.py +0 -0
  114. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/is_subclass.py +0 -0
  115. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/is_valid_alias.py +0 -0
  116. {orionis-0.588.0 → orionis-0.590.0}/orionis/container/validators/lifetime.py +0 -0
  117. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/__init__.py +0 -0
  118. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/base/__init__.py +0 -0
  119. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/base/handler.py +0 -0
  120. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/catch.py +0 -0
  121. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/contracts/__init__.py +0 -0
  122. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/contracts/catch.py +0 -0
  123. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/contracts/handler.py +0 -0
  124. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/entities/__init__.py +0 -0
  125. {orionis-0.588.0 → orionis-0.590.0}/orionis/failure/entities/throwable.py +0 -0
  126. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/__init__.py +0 -0
  127. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/__init__.py +0 -0
  128. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/app/__init__.py +0 -0
  129. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
  130. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/app/entities/app.py +0 -0
  131. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  132. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
  133. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  134. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/auth/__init__.py +0 -0
  135. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
  136. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  137. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cache/__init__.py +0 -0
  138. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
  139. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  140. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  141. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  142. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  143. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  144. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cors/__init__.py +0 -0
  145. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
  146. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  147. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/__init__.py +0 -0
  148. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
  149. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  150. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/entities/database.py +0 -0
  151. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  152. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  153. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  154. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  155. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  156. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  157. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  158. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  159. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  160. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  161. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  162. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  163. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  164. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  165. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  166. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  167. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
  168. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
  169. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  170. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  171. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  172. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  173. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  174. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/__init__.py +0 -0
  175. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
  176. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  177. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  178. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  179. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  180. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  181. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  182. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  183. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  184. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  185. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  186. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
  187. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/validators/level.py +0 -0
  188. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/logging/validators/path.py +0 -0
  189. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/mail/__init__.py +0 -0
  190. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
  191. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  192. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  193. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  194. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  195. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/queue/__init__.py +0 -0
  196. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
  197. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  198. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  199. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  200. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
  201. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  202. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/roots/__init__.py +0 -0
  203. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/roots/paths.py +0 -0
  204. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/session/__init__.py +0 -0
  205. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
  206. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/session/entities/session.py +0 -0
  207. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  208. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  209. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
  210. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  211. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/startup.py +0 -0
  212. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/testing/__init__.py +0 -0
  213. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
  214. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  215. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
  216. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
  217. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
  218. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/contracts/__init__.py +0 -0
  219. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/contracts/config.py +0 -0
  220. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/exceptions/__init__.py +0 -0
  221. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/exceptions/application.py +0 -0
  222. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/__init__.py +0 -0
  223. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/catch_provider.py +0 -0
  224. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/cli_request_provider.py +0 -0
  225. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/console_provider.py +0 -0
  226. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/directory_provider.py +0 -0
  227. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/dumper_provider.py +0 -0
  228. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/executor_provider.py +0 -0
  229. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
  230. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/logger_provider.py +0 -0
  231. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
  232. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
  233. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/reactor_provider.py +0 -0
  234. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
  235. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/testing_provider.py +0 -0
  236. {orionis-0.588.0 → orionis-0.590.0}/orionis/foundation/providers/workers_provider.py +0 -0
  237. {orionis-0.588.0 → orionis-0.590.0}/orionis/metadata/__init__.py +0 -0
  238. {orionis-0.588.0 → orionis-0.590.0}/orionis/metadata/package.py +0 -0
  239. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/__init__.py +0 -0
  240. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/asynchrony/__init__.py +0 -0
  241. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
  242. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  243. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/asynchrony/coroutines.py +0 -0
  244. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  245. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/asynchrony/exceptions/asynchrony.py +0 -0
  246. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/encrypter/encrypter.py +0 -0
  247. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/__init__.py +0 -0
  248. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/contracts/__init__.py +0 -0
  249. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/contracts/caster.py +0 -0
  250. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/contracts/env.py +0 -0
  251. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/core/__init__.py +0 -0
  252. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/core/dot_env.py +0 -0
  253. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/dynamic/__init__.py +0 -0
  254. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/dynamic/caster.py +0 -0
  255. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/enums/__init__.py +0 -0
  256. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/enums/value_type.py +0 -0
  257. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/env.py +0 -0
  258. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  259. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/exceptions/environment.py +0 -0
  260. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/helpers/__init__.py +0 -0
  261. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/helpers/functions.py +0 -0
  262. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/key/__init__.py +0 -0
  263. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/key/key_generator.py +0 -0
  264. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/validators/__init__.py +0 -0
  265. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/validators/key_name.py +0 -0
  266. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/environment/validators/types.py +0 -0
  267. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/file/__init__.py +0 -0
  268. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/file/contracts/__init__.py +0 -0
  269. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/file/contracts/directory.py +0 -0
  270. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/file/directory.py +0 -0
  271. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/inspirational/__init__.py +0 -0
  272. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
  273. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
  274. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/inspirational/inspire.py +0 -0
  275. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/inspirational/quotes.py +0 -0
  276. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/__init__.py +0 -0
  277. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/abstract/__init__.py +0 -0
  278. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
  279. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
  280. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/abstract/reflection.py +0 -0
  281. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/callables/__init__.py +0 -0
  282. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
  283. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
  284. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/callables/reflection.py +0 -0
  285. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/concretes/__init__.py +0 -0
  286. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
  287. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
  288. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/concretes/reflection.py +0 -0
  289. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dataclass/__init__.py +0 -0
  290. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dataclass/extractor.py +0 -0
  291. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
  292. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
  293. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
  294. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
  295. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
  296. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
  297. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
  298. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  299. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/exceptions/introspection.py +0 -0
  300. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/instances/__init__.py +0 -0
  301. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
  302. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
  303. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/instances/reflection.py +0 -0
  304. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/modules/__init__.py +0 -0
  305. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
  306. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
  307. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/modules/reflection.py +0 -0
  308. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/objects/__init__.py +0 -0
  309. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/objects/types.py +0 -0
  310. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/introspection/reflection.py +0 -0
  311. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/__init__.py +0 -0
  312. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/contracts/__init__.py +0 -0
  313. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/contracts/log_service.py +0 -0
  314. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/exceptions/__init__.py +0 -0
  315. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/exceptions/log.py +0 -0
  316. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/handlers/__init__.py +0 -0
  317. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/handlers/filename.py +0 -0
  318. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/handlers/size_rotating.py +0 -0
  319. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
  320. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/log/log_service.py +0 -0
  321. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/system/__init__.py +0 -0
  322. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/system/contracts/__init__.py +0 -0
  323. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/system/contracts/imports.py +0 -0
  324. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/system/contracts/workers.py +0 -0
  325. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/system/imports.py +0 -0
  326. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/system/runtime/__init__.py +0 -0
  327. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/system/runtime/imports.py +0 -0
  328. {orionis-0.588.0 → orionis-0.590.0}/orionis/services/system/workers.py +0 -0
  329. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/__init__.py +0 -0
  330. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/entities/__init__.py +0 -0
  331. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/entities/base.py +0 -0
  332. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/__init__.py +0 -0
  333. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/application.py +0 -0
  334. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/application.pyi +0 -0
  335. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/console.py +0 -0
  336. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/console.pyi +0 -0
  337. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/directory.py +0 -0
  338. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/directory.pyi +0 -0
  339. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/dumper.py +0 -0
  340. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/dumper.pyi +0 -0
  341. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/executor.py +0 -0
  342. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/executor.pyi +0 -0
  343. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/inspire.py +0 -0
  344. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/inspire.pyi +0 -0
  345. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/logger.py +0 -0
  346. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/logger.pyi +0 -0
  347. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/performance_counter.py +0 -0
  348. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/performance_counter.pyi +0 -0
  349. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/progress_bar.py +0 -0
  350. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/progress_bar.pyi +0 -0
  351. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/reactor.py +0 -0
  352. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/reactor.pyi +0 -0
  353. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/testing.py +0 -0
  354. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/testing.pyi +0 -0
  355. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/workers.py +0 -0
  356. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/facades/workers.pyi +0 -0
  357. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/formatter/__init__.py +0 -0
  358. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
  359. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
  360. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
  361. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/formatter/exceptions/parser.py +0 -0
  362. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/formatter/serializer.py +0 -0
  363. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/patterns/__init__.py +0 -0
  364. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/patterns/singleton/__init__.py +0 -0
  365. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/patterns/singleton/meta.py +0 -0
  366. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/performance/__init__.py +0 -0
  367. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/performance/contracts/__init__.py +0 -0
  368. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/standard/__init__.py +0 -0
  369. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/standard/contracts/__init__.py +0 -0
  370. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/standard/contracts/std.py +0 -0
  371. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  372. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/standard/exceptions/standard.py +0 -0
  373. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/standard/std.py +0 -0
  374. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/wrapper/__init__.py +0 -0
  375. {orionis-0.588.0 → orionis-0.590.0}/orionis/support/wrapper/dot_dict.py +0 -0
  376. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/__init__.py +0 -0
  377. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/cases/__init__.py +0 -0
  378. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/cases/asynchronous.py +0 -0
  379. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/cases/synchronous.py +0 -0
  380. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/contracts/__init__.py +0 -0
  381. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/contracts/dumper.py +0 -0
  382. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/contracts/kernel.py +0 -0
  383. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/contracts/logs.py +0 -0
  384. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/contracts/printer.py +0 -0
  385. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/contracts/render.py +0 -0
  386. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/contracts/test_result.py +0 -0
  387. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/core/__init__.py +0 -0
  388. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/entities/__init__.py +0 -0
  389. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/entities/result.py +0 -0
  390. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/enums/__init__.py +0 -0
  391. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/enums/status.py +0 -0
  392. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/exceptions/__init__.py +0 -0
  393. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/exceptions/config.py +0 -0
  394. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/exceptions/failure.py +0 -0
  395. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/exceptions/persistence.py +0 -0
  396. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/exceptions/runtime.py +0 -0
  397. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/exceptions/value.py +0 -0
  398. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/output/__init__.py +0 -0
  399. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/output/dumper.py +0 -0
  400. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/output/printer.py +0 -0
  401. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/records/__init__.py +0 -0
  402. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/records/logs.py +0 -0
  403. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/base_path.py +0 -0
  404. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/execution_mode.py +0 -0
  405. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/fail_fast.py +0 -0
  406. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/folder_path.py +0 -0
  407. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/module_name.py +0 -0
  408. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/name_pattern.py +0 -0
  409. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/pattern.py +0 -0
  410. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/persistent.py +0 -0
  411. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/persistent_driver.py +0 -0
  412. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/print_result.py +0 -0
  413. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/throw_exception.py +0 -0
  414. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/verbosity.py +0 -0
  415. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/web_report.py +0 -0
  416. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/validators/workers.py +0 -0
  417. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/view/__init__.py +0 -0
  418. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/view/render.py +0 -0
  419. {orionis-0.588.0 → orionis-0.590.0}/orionis/test/view/report.stub +0 -0
  420. {orionis-0.588.0 → orionis-0.590.0}/orionis.egg-info/dependency_links.txt +0 -0
  421. {orionis-0.588.0 → orionis-0.590.0}/orionis.egg-info/not-zip-safe +0 -0
  422. {orionis-0.588.0 → orionis-0.590.0}/orionis.egg-info/requires.txt +0 -0
  423. {orionis-0.588.0 → orionis-0.590.0}/orionis.egg-info/top_level.txt +0 -0
  424. {orionis-0.588.0 → orionis-0.590.0}/setup.cfg +0 -0
  425. {orionis-0.588.0 → orionis-0.590.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.588.0
3
+ Version: 0.590.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
@@ -850,7 +850,8 @@ class Reactor(IReactor):
850
850
  output = self.__app.call(command_instance, command.method)
851
851
 
852
852
  # Calculate elapsed time and log completion with DONE state if command.timestamps are enabled
853
- elapsed_time = round(self.__performance_counter.stop(), 2)
853
+ self.__performance_counter.stop()
854
+ elapsed_time = round(self.__performance_counter.getSeconds(), 2)
854
855
  if command.timestamps:
855
856
  self.__executer.done(program=signature, time=f"{elapsed_time}s")
856
857
 
@@ -866,7 +867,8 @@ class Reactor(IReactor):
866
867
  self.__logger.error(f"Command '{signature}' execution failed: {e}")
867
868
 
868
869
  # Calculate elapsed time and log failure with ERROR state if command.timestamps are enabled
869
- elapsed_time = round(self.__performance_counter.stop(), 2)
870
+ self.__performance_counter.stop()
871
+ elapsed_time = round(self.__performance_counter.getSeconds(), 2)
870
872
  if command.timestamps:
871
873
  self.__executer.fail(program=signature, time=f"{elapsed_time}s")
872
874
 
@@ -1912,21 +1912,22 @@ class Application(Container, IApplication):
1912
1912
  """
1913
1913
 
1914
1914
  # Create a local copy of the configuration to avoid mutating the original
1915
- local_config = self.__config.copy()
1915
+ if not hasattr(self, '_Application__runtime_config') or self.__runtime_config is None:
1916
+ self.__runtime_config = self.__config.copy()
1916
1917
 
1917
1918
  # Remove 'path' from the local copy to ensure path config is not returned here
1918
- if 'path' in local_config:
1919
- del local_config['path']
1919
+ if 'path' in self.__runtime_config:
1920
+ del self.__runtime_config['path']
1920
1921
 
1921
1922
  # Ensure the application is booted before accessing configuration
1922
- if not local_config:
1923
+ if not self.__runtime_config:
1923
1924
  raise OrionisRuntimeError(
1924
1925
  "Application configuration is not initialized. Please call create() before accessing configuration."
1925
1926
  )
1926
1927
 
1927
1928
  # If no key is provided, return the entire configuration (excluding 'path')
1928
1929
  if key is None:
1929
- return local_config
1930
+ return self.__runtime_config
1930
1931
 
1931
1932
  # Ensure the key is a string
1932
1933
  if not isinstance(key, str):
@@ -1938,7 +1939,7 @@ class Application(Container, IApplication):
1938
1939
  parts = key.split('.')
1939
1940
 
1940
1941
  # Start with the full config and traverse according to the key parts
1941
- config_value = local_config
1942
+ config_value = self.__runtime_config
1942
1943
  for part in parts:
1943
1944
  # If the part exists in the current config_value, go deeper
1944
1945
  if isinstance(config_value, dict) and part in config_value:
@@ -1992,10 +1993,11 @@ class Application(Container, IApplication):
1992
1993
  """
1993
1994
 
1994
1995
  # Create a local copy of the path configuration to avoid mutation
1995
- local_path_config = self.__config.get('path', {}).copy() if self.__config else {}
1996
+ if not hasattr(self, '_Application__runtime_path_config') or self.__runtime_path_config is None:
1997
+ self.__runtime_path_config = self.__config.get('path', {}).copy() if self.__config else {}
1996
1998
 
1997
1999
  # Ensure the application is booted before accessing configuration
1998
- if not local_path_config:
2000
+ if not self.__runtime_path_config:
1999
2001
  raise OrionisRuntimeError(
2000
2002
  "Application configuration is not initialized. Please call create() before accessing path configuration."
2001
2003
  )
@@ -2003,7 +2005,7 @@ class Application(Container, IApplication):
2003
2005
  # If no key is provided, return all paths as a dictionary of Path objects
2004
2006
  if key is None:
2005
2007
  path_resolved: Dict[str, Path] = {}
2006
- for k, v in local_path_config.items():
2008
+ for k, v in self.__runtime_path_config.items():
2007
2009
  # Convert each path string to a Path object
2008
2010
  path_resolved[k] = Path(v)
2009
2011
  return path_resolved
@@ -2015,8 +2017,8 @@ class Application(Container, IApplication):
2015
2017
  )
2016
2018
 
2017
2019
  # Direct key match: return the resolved Path object if the key exists
2018
- if key in local_path_config:
2019
- return Path(local_path_config[key])
2020
+ if key in self.__runtime_path_config:
2021
+ return Path(self.__runtime_path_config[key])
2020
2022
 
2021
2023
  # If the key is not found, return None
2022
2024
  return None
@@ -2078,7 +2080,7 @@ class Application(Container, IApplication):
2078
2080
  # Mark as booted
2079
2081
  self.__booted = True
2080
2082
 
2081
- # Load core framework kernels
2083
+ # Load core framework kernels with app booted
2082
2084
  self.__loadFrameworksKernel()
2083
2085
 
2084
2086
  # Retrieve logger and console instances from the container
@@ -2094,4 +2096,41 @@ class Application(Container, IApplication):
2094
2096
  logger.info(boot_message)
2095
2097
 
2096
2098
  # Return the application instance for method chaining
2097
- return self
2099
+ return self
2100
+
2101
+ def isProduction(
2102
+ self
2103
+ ) -> bool:
2104
+ """
2105
+ Check if the application is running in a production environment.
2106
+
2107
+ This method determines whether the current application environment is set to 'production'.
2108
+ It checks the 'app.env' configuration value to make this determination.
2109
+
2110
+ Returns
2111
+ -------
2112
+ bool
2113
+ True if the application environment is 'production', False otherwise.
2114
+
2115
+ Raises
2116
+ ------
2117
+ OrionisRuntimeError
2118
+ If the application configuration has not been initialized (i.e., if `create()` has not been called).
2119
+
2120
+ Notes
2121
+ -----
2122
+ The environment is typically defined in the application configuration and can be set to values such as 'development', 'testing', or 'production'.
2123
+ This method is useful for conditionally executing code based on the environment, such as enabling/disabling debug features or logging verbosity.
2124
+ """
2125
+
2126
+ # Retrieve the current application environment from configuration
2127
+ app_env = self.config('app.env')
2128
+
2129
+ # Ensure the application is booted before accessing configuration
2130
+ if app_env is None:
2131
+ raise OrionisRuntimeError(
2132
+ "Application configuration is not initialized. Please call create() before checking the environment."
2133
+ )
2134
+
2135
+ # Return True if the environment is 'production', otherwise False
2136
+ return str(app_env).lower() == 'production'
@@ -1,5 +1,4 @@
1
1
  from dataclasses import dataclass, field
2
- from typing import List
3
2
  from orionis.support.entities.base import BaseEntity
4
3
  from orionis.foundation.config.testing.enums import ExecutionMode, PersistentDrivers, VerbosityMode
5
4
  from orionis.foundation.exceptions import OrionisIntegrityException
@@ -32,8 +31,6 @@ class Testing(BaseEntity):
32
31
  Filename pattern to identify test files (default: 'test_*.py').
33
32
  test_name_pattern : str or None, optional
34
33
  Pattern to match specific test names (default: None).
35
- tags : list of str or None, optional
36
- List of tags to filter tests (default: empty list).
37
34
  persistent : bool, optional
38
35
  If True, keep test results persistent (default: False).
39
36
  persistent_driver : str or PersistentDrivers, optional
@@ -118,14 +115,6 @@ class Testing(BaseEntity):
118
115
  }
119
116
  )
120
117
 
121
- tags: List[str] | None = field(
122
- default_factory = lambda: [],
123
- metadata = {
124
- "description": "A list of tags to filter tests. Default is an empty list.",
125
- "default": []
126
- }
127
- )
128
-
129
118
  persistent: bool = field(
130
119
  default = False,
131
120
  metadata = {
@@ -255,18 +244,6 @@ class Testing(BaseEntity):
255
244
  f"Invalid type for 'test_name_pattern': {type(self.test_name_pattern).__name__}. It must be a string or None."
256
245
  )
257
246
 
258
- # Validate tags attribute
259
- if self.tags is not None:
260
- if not isinstance(self.tags, list):
261
- raise OrionisIntegrityException(
262
- f"Invalid type for 'tags': {type(self.tags).__name__}. It must be a list of strings or None."
263
- )
264
- for i, tag in enumerate(self.tags):
265
- if not isinstance(tag, str):
266
- raise OrionisIntegrityException(
267
- f"Invalid type for tag at index {i} in 'tags': {type(tag).__name__}. Each tag must be a string."
268
- )
269
-
270
247
  # Validate persistent attribute
271
248
  if not isinstance(self.persistent, bool):
272
249
  raise OrionisIntegrityException(
@@ -1245,4 +1245,31 @@ class IApplication(IContainer):
1245
1245
  duplicate initialization. The startup time is calculated and logged
1246
1246
  for performance monitoring purposes.
1247
1247
  """
1248
+ pass
1249
+
1250
+ @abstractmethod
1251
+ def isProduction(
1252
+ self
1253
+ ) -> bool:
1254
+ """
1255
+ Check if the application is running in a production environment.
1256
+
1257
+ This method determines whether the current application environment is set to 'production'.
1258
+ It checks the 'app.env' configuration value to make this determination.
1259
+
1260
+ Returns
1261
+ -------
1262
+ bool
1263
+ True if the application environment is 'production', False otherwise.
1264
+
1265
+ Raises
1266
+ ------
1267
+ OrionisRuntimeError
1268
+ If the application configuration has not been initialized (i.e., if `create()` has not been called).
1269
+
1270
+ Notes
1271
+ -----
1272
+ The environment is typically defined in the application configuration and can be set to values such as 'development', 'testing', or 'production'.
1273
+ This method is useful for conditionally executing code based on the environment, such as enabling/disabling debug features or logging verbosity.
1274
+ """
1248
1275
  pass
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.588.0"
8
+ VERSION = "0.590.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -0,0 +1,137 @@
1
+ from abc import ABC, abstractmethod
2
+
3
+ class IPerformanceCounter(ABC):
4
+ """
5
+ A class for measuring the elapsed time between two points in code execution.
6
+
7
+ This class provides methods to start and stop a high-resolution performance counter,
8
+ allowing users to measure the duration of specific code segments with precision.
9
+ """
10
+
11
+ @abstractmethod
12
+ def start(self) -> 'IPerformanceCounter':
13
+ """
14
+ Start the performance counter.
15
+
16
+ Records the current high-resolution time as the start time using
17
+ `time.perf_counter()`. This marks the beginning of the interval to be measured.
18
+
19
+ Returns
20
+ -------
21
+ IPerformanceCounter
22
+ The instance of the performance counter for method chaining.
23
+ """
24
+ pass
25
+
26
+ @abstractmethod
27
+ def stop(self) -> 'IPerformanceCounter':
28
+ """
29
+ Stop the performance counter and calculate the elapsed time.
30
+
31
+ Records the current high-resolution time as the end time and computes
32
+ the elapsed time since `start()` was called. The elapsed time is the
33
+ difference between the end and start timestamps.
34
+
35
+ Returns
36
+ -------
37
+ IPerformanceCounter
38
+ The instance of the performance counter for method chaining.
39
+ """
40
+ pass
41
+
42
+ @abstractmethod
43
+ def elapsedTime(self) -> float:
44
+ """
45
+ Get the elapsed time between the last start and stop calls.
46
+
47
+ This method returns the elapsed time calculated during the last
48
+ `stop()` call. If the counter has not been started and stopped,
49
+ it raises an exception.
50
+
51
+ Returns
52
+ -------
53
+ float
54
+ The elapsed time in seconds (as a float) between the last `start()` and `stop()` calls.
55
+
56
+ Raises
57
+ ------
58
+ ValueError
59
+ If the counter has not been started and stopped properly.
60
+ """
61
+ pass
62
+
63
+ @abstractmethod
64
+ def getMicroseconds(self) -> float:
65
+ """
66
+ Get the elapsed time in microseconds.
67
+
68
+ This method returns the elapsed time in microseconds by converting
69
+ the value obtained from `elapsedTime()`.
70
+
71
+ Returns
72
+ -------
73
+ float
74
+ The elapsed time in microseconds (as a float).
75
+ """
76
+ pass
77
+
78
+ @abstractmethod
79
+ def getMilliseconds(self) -> float:
80
+ """
81
+ Get the elapsed time in milliseconds.
82
+
83
+ This method returns the elapsed time in milliseconds by converting
84
+ the value obtained from `elapsedTime()`.
85
+
86
+ Returns
87
+ -------
88
+ float
89
+ The elapsed time in milliseconds (as a float).
90
+ """
91
+ pass
92
+
93
+ @abstractmethod
94
+ def getSeconds(self) -> float:
95
+ """
96
+ Get the elapsed time in seconds.
97
+
98
+ This method returns the elapsed time in seconds, which is the same
99
+ value as obtained from `elapsedTime()`.
100
+
101
+ Returns
102
+ -------
103
+ float
104
+ The elapsed time in seconds (as a float).
105
+ """
106
+ pass
107
+
108
+ @abstractmethod
109
+ def getMinutes(self) -> float:
110
+ """
111
+ Get the elapsed time in minutes.
112
+
113
+ This method returns the elapsed time in minutes by converting
114
+ the value obtained from `elapsedTime()`.
115
+
116
+ Returns
117
+ -------
118
+ float
119
+ The elapsed time in minutes (as a float).
120
+ """
121
+ pass
122
+
123
+ @abstractmethod
124
+ def restart(self) -> float:
125
+ """
126
+ Restart the performance counter.
127
+
128
+ This method resets the start and end times to None and starts the counter again.
129
+ It is useful for measuring a new interval without creating a new instance of
130
+ PerformanceCounter.
131
+
132
+ Returns
133
+ -------
134
+ float
135
+ The timestamp (in fractional seconds) at which the counter was restarted.
136
+ """
137
+ pass
@@ -0,0 +1,197 @@
1
+ import time
2
+ from orionis.support.performance.contracts.counter import IPerformanceCounter
3
+
4
+ class PerformanceCounter(IPerformanceCounter):
5
+ """
6
+ A class for measuring the elapsed time between two points in code execution.
7
+
8
+ This class provides methods to start and stop a high-resolution performance counter,
9
+ allowing users to measure the duration of specific code segments with precision.
10
+
11
+ Attributes
12
+ ----------
13
+ __start_time : float or None
14
+ The timestamp when the counter was started.
15
+ __end_time : float or None
16
+ The timestamp when the counter was stopped.
17
+
18
+ Methods
19
+ -------
20
+ start()
21
+ Starts the performance counter.
22
+ stop()
23
+ Stops the performance counter and returns the elapsed time.
24
+
25
+ Notes
26
+ -----
27
+ The counter uses `time.perf_counter()` for high-resolution timing.
28
+ """
29
+
30
+ def __init__(self):
31
+ """
32
+ Initialize a new PerformanceCounter instance.
33
+
34
+ This constructor sets the internal start and end time attributes to None,
35
+ preparing the counter for use. The counter can then be started and stopped
36
+ to measure elapsed time between two points in code execution.
37
+
38
+ Attributes
39
+ ----------
40
+ __start_time : float or None
41
+ The timestamp when the counter is started, or None if not started.
42
+ __end_time : float or None
43
+ The timestamp when the counter is stopped, or None if not stopped.
44
+ """
45
+
46
+ # Time when the counter is started; initialized to None
47
+ self.__start_time = None
48
+
49
+ # Time when the counter is stopped; initialized to None
50
+ self.__end_time = None
51
+
52
+ # Difference between end time and start time; initialized to None
53
+ self.__diff_time = None
54
+
55
+ def start(self) -> 'PerformanceCounter':
56
+ """
57
+ Start the performance counter.
58
+
59
+ Records the current high-resolution time as the start time using
60
+ `time.perf_counter()`. This marks the beginning of the interval to be measured.
61
+
62
+ Returns
63
+ -------
64
+ IPerformanceCounter
65
+ The instance of the performance counter for method chaining.
66
+ """
67
+
68
+ # Record the current time as the start time
69
+ self.__start_time = time.perf_counter()
70
+ return self
71
+
72
+ def stop(self) -> 'PerformanceCounter':
73
+ """
74
+ Stop the performance counter and calculate the elapsed time.
75
+
76
+ Records the current high-resolution time as the end time and computes
77
+ the elapsed time since `start()` was called. The elapsed time is the
78
+ difference between the end and start timestamps.
79
+
80
+ Returns
81
+ -------
82
+ IPerformanceCounter
83
+ The instance of the performance counter for method chaining.
84
+ """
85
+
86
+ # Record the current time as the end time
87
+ self.__end_time = time.perf_counter()
88
+
89
+ # Calculate and return the elapsed time
90
+ self.__diff_time = self.__end_time - self.__start_time
91
+ return self
92
+
93
+ def elapsedTime(self) -> float:
94
+ """
95
+ Get the elapsed time between the last start and stop calls.
96
+
97
+ This method returns the elapsed time calculated during the last
98
+ `stop()` call. If the counter has not been started and stopped,
99
+ it raises an exception.
100
+
101
+ Returns
102
+ -------
103
+ float
104
+ The elapsed time in seconds (as a float) between the last `start()` and `stop()` calls.
105
+
106
+ Raises
107
+ ------
108
+ ValueError
109
+ If the counter has not been started and stopped properly.
110
+ """
111
+
112
+ if self.__diff_time is None:
113
+ raise ValueError("Counter has not been started and stopped properly.")
114
+
115
+ return self.__diff_time
116
+
117
+ def getMicroseconds(self) -> float:
118
+ """
119
+ Get the elapsed time in microseconds.
120
+
121
+ This method returns the elapsed time in microseconds by converting
122
+ the value obtained from `elapsedTime()`.
123
+
124
+ Returns
125
+ -------
126
+ float
127
+ The elapsed time in microseconds (as a float).
128
+ """
129
+
130
+ return self.elapsedTime() * 1_000_000
131
+
132
+ def getMilliseconds(self) -> float:
133
+ """
134
+ Get the elapsed time in milliseconds.
135
+
136
+ This method returns the elapsed time in milliseconds by converting
137
+ the value obtained from `elapsedTime()`.
138
+
139
+ Returns
140
+ -------
141
+ float
142
+ The elapsed time in milliseconds (as a float).
143
+ """
144
+
145
+ return self.elapsedTime() * 1_000
146
+
147
+ def getSeconds(self) -> float:
148
+ """
149
+ Get the elapsed time in seconds.
150
+
151
+ This method returns the elapsed time in seconds, which is the same
152
+ value as obtained from `elapsedTime()`.
153
+
154
+ Returns
155
+ -------
156
+ float
157
+ The elapsed time in seconds (as a float).
158
+ """
159
+
160
+ return self.elapsedTime()
161
+
162
+ def getMinutes(self) -> float:
163
+ """
164
+ Get the elapsed time in minutes.
165
+
166
+ This method returns the elapsed time in minutes by converting
167
+ the value obtained from `elapsedTime()`.
168
+
169
+ Returns
170
+ -------
171
+ float
172
+ The elapsed time in minutes (as a float).
173
+ """
174
+
175
+ return self.elapsedTime() / 60
176
+
177
+ def restart(self) -> float:
178
+ """
179
+ Restart the performance counter.
180
+
181
+ This method resets the start and end times to None and starts the counter again.
182
+ It is useful for measuring a new interval without creating a new instance of
183
+ PerformanceCounter.
184
+
185
+ Returns
186
+ -------
187
+ float
188
+ The timestamp (in fractional seconds) at which the counter was restarted.
189
+ """
190
+
191
+ # Reset start and end times
192
+ self.__start_time = None
193
+ self.__end_time = None
194
+ self.__diff_time = None
195
+
196
+ # Start the counter again
197
+ return self.start()
@@ -0,0 +1,101 @@
1
+ from abc import ABC, abstractmethod
2
+ from pathlib import Path
3
+ from typing import Any, Dict, List, Optional
4
+ from orionis.foundation.config.testing.enums import ExecutionMode
5
+ from orionis.foundation.config.testing.enums.drivers import PersistentDrivers
6
+ from orionis.foundation.config.testing.enums.verbosity import VerbosityMode
7
+
8
+ class IUnitTest(ABC):
9
+
10
+ @abstractmethod
11
+ def run(self) -> Dict[str, Any]:
12
+ """
13
+ Execute all discovered tests.
14
+
15
+ Returns
16
+ -------
17
+ dict
18
+ Results of the test execution.
19
+ """
20
+ pass
21
+
22
+ @abstractmethod
23
+ def getTestNames(self) -> List[str]:
24
+ """
25
+ Retrieve the list of discovered test names.
26
+
27
+ Returns
28
+ -------
29
+ list of str
30
+ Names of all discovered tests.
31
+ """
32
+ pass
33
+
34
+ @abstractmethod
35
+ def getTestCount(self) -> int:
36
+ """
37
+ Get the total number of discovered tests.
38
+
39
+ Returns
40
+ -------
41
+ int
42
+ Number of discovered tests.
43
+ """
44
+ pass
45
+
46
+ @abstractmethod
47
+ def clearTests(self) -> None:
48
+ """
49
+ Remove all discovered tests from the runner.
50
+ """
51
+ pass
52
+
53
+ @abstractmethod
54
+ def getResult(self) -> dict:
55
+ """
56
+ Retrieve the results of the last test run.
57
+
58
+ Returns
59
+ -------
60
+ dict
61
+ Results of the last test execution.
62
+ """
63
+ pass
64
+
65
+ @abstractmethod
66
+ def getOutputBuffer(self) -> int:
67
+ """
68
+ Get the size or identifier of the output buffer.
69
+
70
+ Returns
71
+ -------
72
+ int
73
+ Output buffer size or identifier.
74
+ """
75
+ pass
76
+
77
+ @abstractmethod
78
+ def printOutputBuffer(self) -> None:
79
+ """
80
+ Print the contents of the output buffer to the console.
81
+ """
82
+ pass
83
+
84
+ @abstractmethod
85
+ def getErrorBuffer(self) -> int:
86
+ """
87
+ Get the size or identifier of the error buffer.
88
+
89
+ Returns
90
+ -------
91
+ int
92
+ Error buffer size or identifier.
93
+ """
94
+ pass
95
+
96
+ @abstractmethod
97
+ def printErrorBuffer(self) -> None:
98
+ """
99
+ Print the contents of the error buffer to the console.
100
+ """
101
+ pass