orionis 0.632.0__tar.gz → 0.634.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 (417) hide show
  1. {orionis-0.632.0/orionis.egg-info → orionis-0.634.0}/PKG-INFO +1 -1
  2. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/application.py +165 -122
  3. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/contracts/application.py +66 -26
  4. {orionis-0.632.0 → orionis-0.634.0}/orionis/metadata/framework.py +1 -1
  5. {orionis-0.632.0 → orionis-0.634.0/orionis.egg-info}/PKG-INFO +1 -1
  6. {orionis-0.632.0 → orionis-0.634.0}/LICENCE +0 -0
  7. {orionis-0.632.0 → orionis-0.634.0}/MANIFEST.in +0 -0
  8. {orionis-0.632.0 → orionis-0.634.0}/README.md +0 -0
  9. {orionis-0.632.0 → orionis-0.634.0}/orionis/__init__.py +0 -0
  10. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/__init__.py +0 -0
  11. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/args/__init__.py +0 -0
  12. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/args/argument.py +0 -0
  13. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/base/__init__.py +0 -0
  14. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/base/command.py +0 -0
  15. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/base/scheduler.py +0 -0
  16. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/base/scheduler_event_listener.py +0 -0
  17. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/__init__.py +0 -0
  18. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/cache.py +0 -0
  19. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/help.py +0 -0
  20. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/make_command.py +0 -0
  21. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/publisher.py +0 -0
  22. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/scheduler_list.py +0 -0
  23. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/scheduler_work.py +0 -0
  24. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/test.py +0 -0
  25. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/version.py +0 -0
  26. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/commands/workflow.py +0 -0
  27. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/__init__.py +0 -0
  28. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/base_command.py +0 -0
  29. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/base_scheduler.py +0 -0
  30. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/cli_request.py +0 -0
  31. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/command.py +0 -0
  32. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/console.py +0 -0
  33. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/debug.py +0 -0
  34. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/event.py +0 -0
  35. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/executor.py +0 -0
  36. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/kernel.py +0 -0
  37. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/progress_bar.py +0 -0
  38. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/reactor.py +0 -0
  39. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/schedule.py +0 -0
  40. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/contracts/schedule_event_listener.py +0 -0
  41. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/core/__init__.py +0 -0
  42. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/core/reactor.py +0 -0
  43. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/dumper/__init__.py +0 -0
  44. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/dumper/debug.py +0 -0
  45. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/dynamic/__init__.py +0 -0
  46. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/dynamic/progress_bar.py +0 -0
  47. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/__init__.py +0 -0
  48. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/command.py +0 -0
  49. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/event.py +0 -0
  50. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/event_job.py +0 -0
  51. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/scheduler_error.py +0 -0
  52. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/scheduler_event_data.py +0 -0
  53. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/scheduler_paused.py +0 -0
  54. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/scheduler_resumed.py +0 -0
  55. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/scheduler_shutdown.py +0 -0
  56. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/entities/scheduler_started.py +0 -0
  57. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/enums/__init__.py +0 -0
  58. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/enums/actions.py +0 -0
  59. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/enums/listener.py +0 -0
  60. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/enums/styles.py +0 -0
  61. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/exceptions/__init__.py +0 -0
  62. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/exceptions/cli_exceptions.py +0 -0
  63. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/fluent/__init__.py +0 -0
  64. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/fluent/command.py +0 -0
  65. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/fluent/event.py +0 -0
  66. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/kernel.py +0 -0
  67. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/output/__init__.py +0 -0
  68. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/output/console.py +0 -0
  69. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/output/executor.py +0 -0
  70. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/request/__init__.py +0 -0
  71. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/request/cli_request.py +0 -0
  72. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/stubs/command.stub +0 -0
  73. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/stubs/listener.stub +0 -0
  74. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/tasks/__init__.py +0 -0
  75. {orionis-0.632.0 → orionis-0.634.0}/orionis/console/tasks/schedule.py +0 -0
  76. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/__init__.py +0 -0
  77. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/container.py +0 -0
  78. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/context/__init__.py +0 -0
  79. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/context/manager.py +0 -0
  80. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/context/scope.py +0 -0
  81. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/contracts/__init__.py +0 -0
  82. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/contracts/container.py +0 -0
  83. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/contracts/service_provider.py +0 -0
  84. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/entities/__init__.py +0 -0
  85. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/entities/binding.py +0 -0
  86. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/enums/__init__.py +0 -0
  87. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/enums/lifetimes.py +0 -0
  88. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/exceptions/__init__.py +0 -0
  89. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/exceptions/container.py +0 -0
  90. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/facades/__init__.py +0 -0
  91. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/facades/facade.py +0 -0
  92. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/providers/__init__.py +0 -0
  93. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/providers/service_provider.py +0 -0
  94. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/__init__.py +0 -0
  95. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/implements.py +0 -0
  96. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/is_abstract_class.py +0 -0
  97. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/is_callable.py +0 -0
  98. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/is_concrete_class.py +0 -0
  99. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/is_instance.py +0 -0
  100. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/is_not_subclass.py +0 -0
  101. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/is_subclass.py +0 -0
  102. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/is_valid_alias.py +0 -0
  103. {orionis-0.632.0 → orionis-0.634.0}/orionis/container/validators/lifetime.py +0 -0
  104. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/__init__.py +0 -0
  105. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/base/__init__.py +0 -0
  106. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/base/handler.py +0 -0
  107. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/catch.py +0 -0
  108. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/contracts/__init__.py +0 -0
  109. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/contracts/catch.py +0 -0
  110. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/contracts/handler.py +0 -0
  111. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/entities/__init__.py +0 -0
  112. {orionis-0.632.0 → orionis-0.634.0}/orionis/failure/entities/throwable.py +0 -0
  113. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/__init__.py +0 -0
  114. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/__init__.py +0 -0
  115. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/app/__init__.py +0 -0
  116. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
  117. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/app/entities/app.py +0 -0
  118. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  119. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
  120. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  121. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/auth/__init__.py +0 -0
  122. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
  123. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  124. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cache/__init__.py +0 -0
  125. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
  126. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  127. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  128. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  129. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  130. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  131. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cors/__init__.py +0 -0
  132. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
  133. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  134. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/__init__.py +0 -0
  135. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
  136. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  137. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/entities/database.py +0 -0
  138. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  139. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  140. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  141. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  142. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  143. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  144. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  145. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  146. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  147. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  148. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  149. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  150. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  151. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  152. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  153. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  154. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
  155. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
  156. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  157. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  158. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  159. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  160. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  161. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/__init__.py +0 -0
  162. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
  163. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  164. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  165. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  166. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  167. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  168. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  169. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  170. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  171. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  172. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  173. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
  174. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/validators/level.py +0 -0
  175. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/logging/validators/path.py +0 -0
  176. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/mail/__init__.py +0 -0
  177. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
  178. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  179. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  180. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  181. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  182. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/queue/__init__.py +0 -0
  183. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
  184. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  185. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  186. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  187. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
  188. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  189. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/roots/__init__.py +0 -0
  190. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/roots/paths.py +0 -0
  191. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/session/__init__.py +0 -0
  192. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
  193. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/session/entities/session.py +0 -0
  194. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  195. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  196. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
  197. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  198. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/startup.py +0 -0
  199. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/testing/__init__.py +0 -0
  200. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
  201. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
  202. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  203. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
  204. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
  205. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
  206. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/contracts/__init__.py +0 -0
  207. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/exceptions/__init__.py +0 -0
  208. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/exceptions/application.py +0 -0
  209. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/__init__.py +0 -0
  210. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/catch_provider.py +0 -0
  211. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/cli_request_provider.py +0 -0
  212. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/console_provider.py +0 -0
  213. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/directory_provider.py +0 -0
  214. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/dumper_provider.py +0 -0
  215. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/executor_provider.py +0 -0
  216. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
  217. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/logger_provider.py +0 -0
  218. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
  219. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
  220. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/reactor_provider.py +0 -0
  221. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
  222. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/testing_provider.py +0 -0
  223. {orionis-0.632.0 → orionis-0.634.0}/orionis/foundation/providers/workers_provider.py +0 -0
  224. {orionis-0.632.0 → orionis-0.634.0}/orionis/metadata/__init__.py +0 -0
  225. {orionis-0.632.0 → orionis-0.634.0}/orionis/metadata/package.py +0 -0
  226. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/__init__.py +0 -0
  227. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/asynchrony/__init__.py +0 -0
  228. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
  229. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  230. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/asynchrony/coroutines.py +0 -0
  231. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  232. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/asynchrony/exceptions/asynchrony.py +0 -0
  233. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/encrypter/encrypter.py +0 -0
  234. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/__init__.py +0 -0
  235. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/contracts/__init__.py +0 -0
  236. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/contracts/caster.py +0 -0
  237. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/contracts/env.py +0 -0
  238. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/core/__init__.py +0 -0
  239. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/core/dot_env.py +0 -0
  240. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/dynamic/__init__.py +0 -0
  241. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/dynamic/caster.py +0 -0
  242. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/enums/__init__.py +0 -0
  243. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/enums/value_type.py +0 -0
  244. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/env.py +0 -0
  245. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  246. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/exceptions/environment.py +0 -0
  247. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/helpers/__init__.py +0 -0
  248. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/helpers/functions.py +0 -0
  249. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/key/__init__.py +0 -0
  250. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/key/key_generator.py +0 -0
  251. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/validators/__init__.py +0 -0
  252. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/validators/key_name.py +0 -0
  253. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/environment/validators/types.py +0 -0
  254. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/file/__init__.py +0 -0
  255. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/file/contracts/__init__.py +0 -0
  256. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/file/contracts/directory.py +0 -0
  257. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/file/directory.py +0 -0
  258. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/inspirational/__init__.py +0 -0
  259. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
  260. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
  261. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/inspirational/inspire.py +0 -0
  262. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/inspirational/quotes.py +0 -0
  263. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/__init__.py +0 -0
  264. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/abstract/__init__.py +0 -0
  265. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
  266. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
  267. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/abstract/reflection.py +0 -0
  268. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/callables/__init__.py +0 -0
  269. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
  270. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
  271. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/callables/reflection.py +0 -0
  272. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/concretes/__init__.py +0 -0
  273. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
  274. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
  275. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/concretes/reflection.py +0 -0
  276. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
  277. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
  278. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
  279. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
  280. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
  281. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
  282. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
  283. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  284. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/exceptions/introspection.py +0 -0
  285. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/instances/__init__.py +0 -0
  286. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
  287. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
  288. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/instances/reflection.py +0 -0
  289. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/modules/__init__.py +0 -0
  290. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
  291. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
  292. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/modules/reflection.py +0 -0
  293. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/objects/__init__.py +0 -0
  294. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/objects/types.py +0 -0
  295. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/introspection/reflection.py +0 -0
  296. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/__init__.py +0 -0
  297. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/contracts/__init__.py +0 -0
  298. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/contracts/log_service.py +0 -0
  299. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/exceptions/__init__.py +0 -0
  300. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/exceptions/log.py +0 -0
  301. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/handlers/__init__.py +0 -0
  302. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/handlers/filename.py +0 -0
  303. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/handlers/size_rotating.py +0 -0
  304. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
  305. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/log/log_service.py +0 -0
  306. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/system/__init__.py +0 -0
  307. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/system/contracts/__init__.py +0 -0
  308. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/system/contracts/imports.py +0 -0
  309. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/system/contracts/workers.py +0 -0
  310. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/system/imports.py +0 -0
  311. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/system/runtime/__init__.py +0 -0
  312. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/system/runtime/imports.py +0 -0
  313. {orionis-0.632.0 → orionis-0.634.0}/orionis/services/system/workers.py +0 -0
  314. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/__init__.py +0 -0
  315. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/entities/__init__.py +0 -0
  316. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/entities/base.py +0 -0
  317. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/__init__.py +0 -0
  318. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/application.py +0 -0
  319. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/application.pyi +0 -0
  320. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/console.py +0 -0
  321. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/console.pyi +0 -0
  322. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/directory.py +0 -0
  323. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/directory.pyi +0 -0
  324. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/dumper.py +0 -0
  325. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/dumper.pyi +0 -0
  326. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/executor.py +0 -0
  327. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/executor.pyi +0 -0
  328. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/inspire.py +0 -0
  329. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/inspire.pyi +0 -0
  330. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/logger.py +0 -0
  331. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/logger.pyi +0 -0
  332. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/performance_counter.py +0 -0
  333. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/performance_counter.pyi +0 -0
  334. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/progress_bar.py +0 -0
  335. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/progress_bar.pyi +0 -0
  336. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/reactor.py +0 -0
  337. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/reactor.pyi +0 -0
  338. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/testing.py +0 -0
  339. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/testing.pyi +0 -0
  340. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/workers.py +0 -0
  341. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/facades/workers.pyi +0 -0
  342. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/formatter/__init__.py +0 -0
  343. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
  344. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
  345. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
  346. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/formatter/exceptions/parser.py +0 -0
  347. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/formatter/serializer.py +0 -0
  348. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/patterns/__init__.py +0 -0
  349. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/patterns/singleton/__init__.py +0 -0
  350. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/patterns/singleton/meta.py +0 -0
  351. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/performance/__init__.py +0 -0
  352. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/performance/contracts/__init__.py +0 -0
  353. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/performance/contracts/counter.py +0 -0
  354. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/performance/counter.py +0 -0
  355. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/standard/__init__.py +0 -0
  356. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/standard/contracts/__init__.py +0 -0
  357. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/standard/contracts/std.py +0 -0
  358. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  359. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/standard/exceptions/standard.py +0 -0
  360. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/standard/std.py +0 -0
  361. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/wrapper/__init__.py +0 -0
  362. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/wrapper/dataclass.py +0 -0
  363. {orionis-0.632.0 → orionis-0.634.0}/orionis/support/wrapper/dot_dict.py +0 -0
  364. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/__init__.py +0 -0
  365. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/cases/__init__.py +0 -0
  366. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/cases/asynchronous.py +0 -0
  367. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/cases/synchronous.py +0 -0
  368. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/contracts/__init__.py +0 -0
  369. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/contracts/dumper.py +0 -0
  370. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/contracts/kernel.py +0 -0
  371. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/contracts/logs.py +0 -0
  372. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/contracts/printer.py +0 -0
  373. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/contracts/render.py +0 -0
  374. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/contracts/test_result.py +0 -0
  375. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/contracts/unit_test.py +0 -0
  376. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/core/__init__.py +0 -0
  377. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/core/unit_test.py +0 -0
  378. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/entities/__init__.py +0 -0
  379. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/entities/result.py +0 -0
  380. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/enums/__init__.py +0 -0
  381. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/enums/status.py +0 -0
  382. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/exceptions/__init__.py +0 -0
  383. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/exceptions/config.py +0 -0
  384. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/exceptions/failure.py +0 -0
  385. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/exceptions/persistence.py +0 -0
  386. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/exceptions/runtime.py +0 -0
  387. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/exceptions/value.py +0 -0
  388. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/kernel.py +0 -0
  389. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/output/__init__.py +0 -0
  390. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/output/dumper.py +0 -0
  391. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/output/printer.py +0 -0
  392. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/records/__init__.py +0 -0
  393. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/records/logs.py +0 -0
  394. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/__init__.py +0 -0
  395. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/base_path.py +0 -0
  396. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/execution_mode.py +0 -0
  397. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/fail_fast.py +0 -0
  398. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/folder_path.py +0 -0
  399. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/module_name.py +0 -0
  400. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/name_pattern.py +0 -0
  401. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/pattern.py +0 -0
  402. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/persistent.py +0 -0
  403. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/persistent_driver.py +0 -0
  404. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/throw_exception.py +0 -0
  405. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/verbosity.py +0 -0
  406. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/web_report.py +0 -0
  407. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/validators/workers.py +0 -0
  408. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/view/__init__.py +0 -0
  409. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/view/render.py +0 -0
  410. {orionis-0.632.0 → orionis-0.634.0}/orionis/test/view/report.stub +0 -0
  411. {orionis-0.632.0 → orionis-0.634.0}/orionis.egg-info/SOURCES.txt +0 -0
  412. {orionis-0.632.0 → orionis-0.634.0}/orionis.egg-info/dependency_links.txt +0 -0
  413. {orionis-0.632.0 → orionis-0.634.0}/orionis.egg-info/not-zip-safe +0 -0
  414. {orionis-0.632.0 → orionis-0.634.0}/orionis.egg-info/requires.txt +0 -0
  415. {orionis-0.632.0 → orionis-0.634.0}/orionis.egg-info/top_level.txt +0 -0
  416. {orionis-0.632.0 → orionis-0.634.0}/setup.cfg +0 -0
  417. {orionis-0.632.0 → orionis-0.634.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.632.0
3
+ Version: 0.634.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
@@ -131,15 +131,14 @@ class Application(Container, IApplication):
131
131
  # Propierty to store service providers.
132
132
  self.__providers: List[IServiceProvider, Any] = []
133
133
 
134
- # Property to store configurators and paths
135
- self.__configurators : dict = {}
136
-
137
134
  # Property to indicate if the application has been booted
138
135
  self.__booted: bool = False
136
+ self.__configured: bool = False
139
137
 
140
- # Property to store application configuration
141
- # This will be initialized with default values or from configurators
138
+ # Properties to store configuration and runtime configuration
142
139
  self.__config: dict = {}
140
+ self.__runtime_config: dict = {}
141
+ self.__runtime_path_config: dict = {}
143
142
 
144
143
  # Property to store the scheduler instance
145
144
  self.__scheduler: BaseScheduler = None
@@ -205,6 +204,7 @@ class Application(Container, IApplication):
205
204
  ensure core framework services are available before any user-defined
206
205
  providers are registered.
207
206
  """
207
+
208
208
  # Import core framework providers
209
209
  from orionis.foundation.providers.catch_provider import CathcProvider
210
210
  from orionis.foundation.providers.cli_request_provider import CLRequestProvider
@@ -278,6 +278,10 @@ class Application(Container, IApplication):
278
278
  registration.
279
279
  """
280
280
 
281
+ # Validate providers parameter
282
+ if not isinstance(providers, list):
283
+ raise OrionisTypeError(f"Expected list of IServiceProvider classes, got {type(providers).__name__}")
284
+
281
285
  # Add each provider class
282
286
  for provider_cls in providers:
283
287
 
@@ -413,7 +417,7 @@ class Application(Container, IApplication):
413
417
  - This method is called automatically during application bootstrapping, after all providers
414
418
  have been registered.
415
419
  - Supports both synchronous and asynchronous `boot()` methods on providers.
416
- - The providers list is cleared after booting to prevent memory leaks.
420
+ - The providers list is deleted after booting to optimize memory usage.
417
421
 
418
422
  Returns
419
423
  -------
@@ -437,8 +441,8 @@ class Application(Container, IApplication):
437
441
  else:
438
442
  boot_method()
439
443
 
440
- # Clear the providers list to free memory after booting is complete
441
- self.__providers.clear()
444
+ # Delete the providers list property to free memory after booting is complete
445
+ del self.__providers
442
446
 
443
447
  # === Application Skeleton Configuration Methods ===
444
448
  # The Orionis framework provides methods to configure each component of the application,
@@ -786,7 +790,7 @@ class Application(Container, IApplication):
786
790
  raise OrionisTypeError(f"Expected App instance or dict, got {type(app).__name__}")
787
791
 
788
792
  # Store the configuration dictionary in internal configurators
789
- self.__configurators['app'] = _app
793
+ self.__config['app'] = _app
790
794
 
791
795
  # Return self for method chaining
792
796
  return self
@@ -882,7 +886,7 @@ class Application(Container, IApplication):
882
886
  raise OrionisTypeError(f"Expected Auth instance or dict, got {type(auth).__name__}")
883
887
 
884
888
  # Store the configuration dictionary in internal configurators
885
- self.__configurators['auth'] = _auth
889
+ self.__config['auth'] = _auth
886
890
 
887
891
  # Return self for method chaining
888
892
  return self
@@ -978,7 +982,7 @@ class Application(Container, IApplication):
978
982
  raise OrionisTypeError(f"Expected Cache instance or dict, got {type(cache).__name__}")
979
983
 
980
984
  # Store the configuration dictionary in internal configurators
981
- self.__configurators['cache'] = _cache
985
+ self.__config['cache'] = _cache
982
986
 
983
987
  # Return self for method chaining
984
988
  return self
@@ -1074,7 +1078,7 @@ class Application(Container, IApplication):
1074
1078
  raise OrionisTypeError(f"Expected Cors instance or dict, got {type(cors).__name__}")
1075
1079
 
1076
1080
  # Store the configuration dictionary in internal configurators
1077
- self.__configurators['cors'] = _cors
1081
+ self.__config['cors'] = _cors
1078
1082
 
1079
1083
  # Return self for method chaining
1080
1084
  return self
@@ -1170,7 +1174,7 @@ class Application(Container, IApplication):
1170
1174
  raise OrionisTypeError(f"Expected Database instance or dict, got {type(database).__name__}")
1171
1175
 
1172
1176
  # Store the configuration dictionary in internal configurators
1173
- self.__configurators['database'] = _database
1177
+ self.__config['database'] = _database
1174
1178
 
1175
1179
  # Return self for method chaining
1176
1180
  return self
@@ -1266,7 +1270,7 @@ class Application(Container, IApplication):
1266
1270
  raise OrionisTypeError(f"Expected Filesystems instance or dict, got {type(filesystems).__name__}")
1267
1271
 
1268
1272
  # Store the configuration dictionary in internal configurators
1269
- self.__configurators['filesystems'] = _filesystems
1273
+ self.__config['filesystems'] = _filesystems
1270
1274
 
1271
1275
  # Return self for method chaining
1272
1276
  return self
@@ -1362,7 +1366,7 @@ class Application(Container, IApplication):
1362
1366
  raise OrionisTypeError(f"Expected Logging instance or dict, got {type(logging).__name__}")
1363
1367
 
1364
1368
  # Store the configuration dictionary in internal configurators
1365
- self.__configurators['logging'] = _logging
1369
+ self.__config['logging'] = _logging
1366
1370
 
1367
1371
  # Return self for method chaining
1368
1372
  return self
@@ -1458,7 +1462,7 @@ class Application(Container, IApplication):
1458
1462
  raise OrionisTypeError(f"Expected Mail instance or dict, got {type(mail).__name__}")
1459
1463
 
1460
1464
  # Store the configuration dictionary in internal configurators
1461
- self.__configurators['mail'] = _mail
1465
+ self.__config['mail'] = _mail
1462
1466
 
1463
1467
  # Return self for method chaining
1464
1468
  return self
@@ -1554,7 +1558,7 @@ class Application(Container, IApplication):
1554
1558
  raise OrionisTypeError(f"Expected Queue instance or dict, got {type(queue).__name__}")
1555
1559
 
1556
1560
  # Store the configuration dictionary in internal configurators
1557
- self.__configurators['queue'] = _queue
1561
+ self.__config['queue'] = _queue
1558
1562
 
1559
1563
  # Return self for method chaining
1560
1564
  return self
@@ -1650,7 +1654,7 @@ class Application(Container, IApplication):
1650
1654
  raise OrionisTypeError(f"Expected Session instance or dict, got {type(session).__name__}")
1651
1655
 
1652
1656
  # Store the configuration dictionary in internal configurators
1653
- self.__configurators['session'] = _session
1657
+ self.__config['session'] = _session
1654
1658
 
1655
1659
  # Return self for method chaining
1656
1660
  return self
@@ -1746,7 +1750,7 @@ class Application(Container, IApplication):
1746
1750
  raise OrionisTypeError(f"Expected Testing instance or dict, got {type(testing).__name__}")
1747
1751
 
1748
1752
  # Store the configuration dictionary in internal configurators
1749
- self.__configurators['testing'] = _testing
1753
+ self.__config['testing'] = _testing
1750
1754
 
1751
1755
  # Return self for method chaining
1752
1756
  return self
@@ -1802,25 +1806,25 @@ class Application(Container, IApplication):
1802
1806
  Returns the current Application instance to enable method chaining.
1803
1807
  """
1804
1808
 
1805
- self.__configurators['path'] = {
1806
- 'root': str(root),
1807
- 'app': str(app),
1808
- 'console': str(console),
1809
- 'exceptions': str(exceptions),
1810
- 'http': str(http),
1811
- 'models': str(models),
1812
- 'providers': str(providers),
1813
- 'notifications': str(notifications),
1814
- 'services': str(services),
1815
- 'jobs': str(jobs),
1816
- 'bootstrap': str(bootstrap),
1817
- 'config': str(config),
1818
- 'database': str(database),
1819
- 'resources': str(resources),
1820
- 'routes': str(routes),
1821
- 'storage': str(storage),
1822
- 'tests': str(tests)
1823
- }
1809
+ self.loadConfigPaths({
1810
+ 'root': root,
1811
+ 'app': app,
1812
+ 'console': console,
1813
+ 'exceptions': exceptions,
1814
+ 'http': http,
1815
+ 'models': models,
1816
+ 'providers': providers,
1817
+ 'notifications': notifications,
1818
+ 'services': services,
1819
+ 'jobs': jobs,
1820
+ 'bootstrap': bootstrap,
1821
+ 'config': config,
1822
+ 'database': database,
1823
+ 'resources': resources,
1824
+ 'routes': routes,
1825
+ 'storage': storage,
1826
+ 'tests': tests
1827
+ })
1824
1828
 
1825
1829
  return self
1826
1830
 
@@ -1878,7 +1882,7 @@ class Application(Container, IApplication):
1878
1882
  raise OrionisTypeError(f"Expected Paths instance or dict, got {type(paths).__name__}")
1879
1883
 
1880
1884
  # Store the configuration dictionary in internal configurators
1881
- self.__configurators['path'] = _paths
1885
+ self.__config['path'] = _paths
1882
1886
 
1883
1887
  # Return self for method chaining
1884
1888
  return self
@@ -1911,17 +1915,16 @@ class Application(Container, IApplication):
1911
1915
  # Try to load the configuration
1912
1916
  try:
1913
1917
 
1914
- # Check if configuration is a dictionary
1918
+ # Check if there are any configurators set
1915
1919
  if not self.__config:
1920
+ self.__config = Configuration().toDict()
1916
1921
 
1917
- # Initialize with default configuration
1918
- if not self.__configurators:
1919
- self.__config = Configuration().toDict()
1922
+ # Store copy of the config as runtime config
1923
+ # Copy all config except the 'path' key
1924
+ self.__runtime_config = {k: v for k, v in self.__config.items() if k != 'path'}
1920
1925
 
1921
- # Assign the configurators to config and clean up
1922
- else:
1923
- self.__config = self.__configurators
1924
- del self.__configurators
1926
+ # Copy contains only the 'path' key
1927
+ self.__runtime_path_config = self.__config.get('path', {})
1925
1928
 
1926
1929
  except Exception as e:
1927
1930
 
@@ -1936,87 +1939,101 @@ class Application(Container, IApplication):
1936
1939
 
1937
1940
  def config(
1938
1941
  self,
1939
- key: str = None
1942
+ key: str = None,
1943
+ value: Any = None
1940
1944
  ) -> Any:
1941
1945
  """
1942
- Retrieve application configuration values using dot notation.
1946
+ Retrieve or set application configuration values using dot notation.
1943
1947
 
1944
- This method provides access to the application's configuration settings,
1945
- supporting retrieval of nested values using dot notation (e.g., "database.default").
1946
- If a key is provided, the method returns the corresponding configuration value.
1947
- If no key is provided, it returns the entire configuration dictionary, excluding
1948
- path-related configuration (which should be accessed via the `path()` method).
1948
+ If only `key` is provided, returns the configuration value for that key.
1949
+ If both `key` and `value` are provided, sets the configuration value.
1950
+ If neither is provided, returns the entire configuration dictionary (excluding 'path').
1949
1951
 
1950
1952
  Parameters
1951
1953
  ----------
1952
1954
  key : str, optional
1953
- The configuration key to retrieve, supporting dot notation for nested
1954
- values (e.g., "database.default", "app.name"). If None, the method returns
1955
- the entire configuration dictionary except for the 'path' configuration.
1956
- Default is None.
1955
+ Dot-notated configuration key (e.g., "database.default"). If None, returns all config.
1956
+ value : Any, optional
1957
+ Value to set for the given key. If None, performs a get operation.
1957
1958
 
1958
1959
  Returns
1959
1960
  -------
1960
1961
  Any
1961
- If `key` is provided and found, returns the corresponding configuration value.
1962
- If `key` is None, returns the entire configuration dictionary (excluding 'path').
1963
- If the key is not found, returns None.
1962
+ The configuration value, or None if not found.
1964
1963
 
1965
1964
  Raises
1966
1965
  ------
1967
1966
  OrionisRuntimeError
1968
- If the application configuration has not been initialized (i.e., if `create()`
1969
- has not been called before accessing configuration).
1967
+ If configuration is not initialized.
1970
1968
  OrionisValueError
1971
- If the provided `key` parameter is not a string type.
1972
-
1973
- Notes
1974
- -----
1975
- The method traverses nested configuration structures by splitting the key
1976
- on dots and navigating through dictionary levels. Path configurations are
1977
- excluded from full configuration returns and should be accessed via the
1978
- `path()` method instead.
1969
+ If key is not a string.
1979
1970
  """
1980
1971
 
1981
- # Create a local copy of the configuration to avoid mutating the original
1982
- if not hasattr(self, '_Application__runtime_config') or self.__runtime_config is None:
1983
- self.__runtime_config = self.__config.copy()
1984
-
1985
- # Remove 'path' from the local copy to ensure path config is not returned here
1986
- if 'path' in self.__runtime_config:
1987
- del self.__runtime_config['path']
1988
-
1989
- # Ensure the application is booted before accessing configuration
1990
- if not self.__runtime_config:
1972
+ if not self.__configured:
1991
1973
  raise OrionisRuntimeError(
1992
1974
  "Application configuration is not initialized. Please call create() before accessing configuration."
1993
1975
  )
1994
1976
 
1995
- # If no key is provided, return the entire configuration (excluding 'path')
1996
- if key is None:
1977
+ # Return all config if no key is provided
1978
+ if key is None and value is None:
1997
1979
  return self.__runtime_config
1998
1980
 
1999
- # Ensure the key is a string
2000
1981
  if not isinstance(key, str):
2001
1982
  raise OrionisValueError(
2002
- "Key must be a string. Use config() without arguments to retrieve the entire configuration."
1983
+ "The configuration key must be a string. To retrieve the entire configuration, call config() without any arguments."
2003
1984
  )
2004
1985
 
2005
- # Split the key by dot notation to support nested access
2006
- parts = key.split('.')
2007
-
2008
- # Start with the full config and traverse according to the key parts
2009
- config_value = self.__runtime_config
2010
- for part in parts:
2011
- # If the part exists in the current config_value, go deeper
2012
- if isinstance(config_value, dict) and part in config_value:
2013
- config_value = config_value[part]
1986
+ key_parts = key.split('.')
1987
+ config_dict = self.__runtime_config
1988
+
1989
+ # If setting a value
1990
+ if value is not None:
1991
+ current_dict = config_dict
1992
+ for part in key_parts[:-1]:
1993
+ if part not in current_dict or not isinstance(current_dict[part], dict):
1994
+ current_dict[part] = {}
1995
+ current_dict = current_dict[part]
1996
+ current_dict[key_parts[-1]] = value
1997
+ return value
1998
+
1999
+ # Getting a value
2000
+ current_dict = config_dict
2001
+ for part in key_parts:
2002
+ if isinstance(current_dict, dict) and part in current_dict:
2003
+ current_dict = current_dict[part]
2014
2004
  else:
2015
- # If any part is missing, return None
2016
2005
  return None
2006
+ return current_dict
2007
+
2008
+ def resetConfig(
2009
+ self
2010
+ ) -> 'Application':
2011
+ """
2012
+ Reset the application configuration to an uninitialized state.
2013
+
2014
+ This method clears the current runtime configuration and marks the application
2015
+ as unconfigured, allowing for re-initialization of the configuration by calling
2016
+ `create()` again. This is useful in scenarios such as testing or when dynamic
2017
+ reloading of configuration is required.
2018
+
2019
+ Notes
2020
+ -----
2021
+ - After calling this method, you must call `create()` to reinitialize
2022
+ the configuration before accessing it again.
2023
+ - This method does not affect other aspects of the application state,
2024
+ such as registered providers or boot status.
2025
+
2026
+ Returns
2027
+ -------
2028
+ Application
2029
+ Returns the current `Application` instance to enable method chaining.
2030
+ """
2031
+
2032
+ # Reset the runtime configuration to match the current config (excluding 'path')
2033
+ self.__runtime_config = {k: v for k, v in self.__config.items() if k != 'path'}
2017
2034
 
2018
- # Return the final configuration value found
2019
- return config_value
2035
+ # Return the application instance for method chaining
2036
+ return self
2020
2037
 
2021
2038
  # === Path Configuration Access Method ===
2022
2039
  # The path() method provides access to application path configurations.
@@ -2030,7 +2047,7 @@ class Application(Container, IApplication):
2030
2047
  """
2031
2048
  Retrieve application path configuration values using dot notation.
2032
2049
 
2033
- Provides access to the application's path configuration, allowing retrieval of either a specific path value or the entire paths configuration dictionary. If a key is provided, the corresponding path is returned as a `Path` object. If no key is provided, a dictionary mapping all path configuration keys to their resolved `Path` objects is returned.
2050
+ This method provides access to the application's path configuration, allowing retrieval of either a specific path value or the entire paths configuration dictionary. If a key is provided, the corresponding path is returned as a `Path` object. If no key is provided, a dictionary mapping all path configuration keys to their resolved `Path` objects is returned.
2034
2051
 
2035
2052
  Parameters
2036
2053
  ----------
@@ -2042,7 +2059,7 @@ class Application(Container, IApplication):
2042
2059
  -------
2043
2060
  Path or dict
2044
2061
  If `key` is provided and found, returns the resolved `Path` object for that key.
2045
- If `key` is None, returns a dictionary mapping all path keys to their `Path` objects.
2062
+ If `key` is None, returns a dictionary mapping all path keys to their resolved `Path` objects.
2046
2063
  If `key` is not found, returns None.
2047
2064
 
2048
2065
  Raises
@@ -2058,23 +2075,21 @@ class Application(Container, IApplication):
2058
2075
  - This method is specifically designed for path-related configuration access, separate from general application configuration.
2059
2076
  - All returned paths are resolved as `Path` objects for consistency and ease of use.
2060
2077
  """
2061
-
2062
- # Create a local copy of the path configuration to avoid mutation
2063
- if not hasattr(self, '_Application__runtime_path_config') or self.__runtime_path_config is None:
2064
- self.__runtime_path_config = self.__config.get('path', {}).copy() if self.__config else {}
2065
-
2066
- # Ensure the application is booted before accessing configuration
2067
- if not self.__runtime_path_config:
2078
+ # Ensure the application configuration has been initialized
2079
+ if not self.__configured:
2068
2080
  raise OrionisRuntimeError(
2069
- "Application configuration is not initialized. Please call create() before accessing path configuration."
2081
+ "Application configuration is not initialized. Please call create() before accessing configuration."
2070
2082
  )
2071
2083
 
2072
2084
  # If no key is provided, return all paths as a dictionary of Path objects
2073
2085
  if key is None:
2074
2086
  path_resolved: Dict[str, Path] = {}
2087
+ # Convert all path values to Path objects
2075
2088
  for k, v in self.__runtime_path_config.items():
2076
- # Convert each path string to a Path object
2077
- path_resolved[k] = Path(v)
2089
+ if not isinstance(v, Path):
2090
+ path_resolved[k] = Path(v)
2091
+ else:
2092
+ path_resolved[k] = v
2078
2093
  return path_resolved
2079
2094
 
2080
2095
  # Ensure the key is a string
@@ -2117,9 +2132,8 @@ class Application(Container, IApplication):
2117
2132
  1. Load and process all configuration from configurators
2118
2133
  2. Register core framework service providers
2119
2134
  3. Register and boot all service providers
2120
- 4. Initialize framework kernels (Testing, CLI)
2121
- 5. Log successful startup with timing information
2122
- 6. Mark application as booted to prevent re-initialization
2135
+ 4. Initialize framework kernels
2136
+ 5. Mark application as booted to prevent re-initialization
2123
2137
 
2124
2138
  This method is idempotent - calling it multiple times will not cause
2125
2139
  duplicate initialization. The startup time is calculated and logged
@@ -2139,6 +2153,7 @@ class Application(Container, IApplication):
2139
2153
 
2140
2154
  # Load configuration if not already set
2141
2155
  self.__loadConfig()
2156
+ self.__configured = True
2142
2157
 
2143
2158
  # Load framework providers and register them
2144
2159
  self.__loadFrameworkProviders()
@@ -2151,15 +2166,6 @@ class Application(Container, IApplication):
2151
2166
  # Load core framework kernels with app booted
2152
2167
  self.__loadFrameworksKernel()
2153
2168
 
2154
- # Retrieve logger and console instances from the container
2155
- logger: ILogger = self.make(ILogger)
2156
-
2157
- # Calculate elapsed time in milliseconds since application start
2158
- elapsed_ms = (time.time_ns() - self.startAt) // 1_000_000
2159
-
2160
- # Log message to the logger
2161
- logger.info(f"Orionis Framework has been successfully booted. Startup time: {elapsed_ms} ms. Started at: {self.startAt} ns")
2162
-
2163
2169
  # Return the application instance for method chaining
2164
2170
  return self
2165
2171
 
@@ -2198,4 +2204,41 @@ class Application(Container, IApplication):
2198
2204
  )
2199
2205
 
2200
2206
  # Return True if the environment is 'production', otherwise False
2201
- return str(app_env).lower() == 'production'
2207
+ return str(app_env).lower() == 'production'
2208
+
2209
+ def isDebug(
2210
+ self
2211
+ ) -> bool:
2212
+ """
2213
+ Check if the application is running in debug mode.
2214
+
2215
+ This method determines whether the current application is set to run in debug mode.
2216
+ It checks the 'app.debug' configuration value to make this determination.
2217
+
2218
+ Returns
2219
+ -------
2220
+ bool
2221
+ True if the application is in debug mode, False otherwise.
2222
+
2223
+ Raises
2224
+ ------
2225
+ OrionisRuntimeError
2226
+ If the application configuration has not been initialized (i.e., if `create()` has not been called).
2227
+
2228
+ Notes
2229
+ -----
2230
+ The debug mode is typically defined in the application configuration and can be enabled or disabled based on the environment or specific settings.
2231
+ This method is useful for conditionally executing code based on whether debugging features should be active, such as detailed error reporting or verbose logging.
2232
+ """
2233
+
2234
+ # Retrieve the current debug setting from configuration
2235
+ app_debug = self.config('app.debug')
2236
+
2237
+ # Ensure the application is booted before accessing configuration
2238
+ if app_debug is None:
2239
+ raise OrionisRuntimeError(
2240
+ "Application configuration is not initialized. Please call create() before checking the debug mode."
2241
+ )
2242
+
2243
+ # Return True if the debug mode is enabled, otherwise False
2244
+ return bool(app_debug)
@@ -1133,46 +1133,60 @@ class IApplication(IContainer):
1133
1133
  @abstractmethod
1134
1134
  def config(
1135
1135
  self,
1136
- key: str = None
1136
+ key: str = None,
1137
+ value: Any = None
1137
1138
  ) -> Any:
1138
1139
  """
1139
- Retrieve application configuration values using dot notation.
1140
+ Retrieve or set application configuration values using dot notation.
1140
1141
 
1141
- This method provides access to the application's configuration settings,
1142
- supporting retrieval of nested values using dot notation (e.g., "database.default").
1143
- If a key is provided, the method returns the corresponding configuration value.
1144
- If no key is provided, it returns the entire configuration dictionary, excluding
1145
- path-related configuration (which should be accessed via the `path()` method).
1142
+ If only `key` is provided, returns the configuration value for that key.
1143
+ If both `key` and `value` are provided, sets the configuration value.
1144
+ If neither is provided, returns the entire configuration dictionary (excluding 'path').
1146
1145
 
1147
1146
  Parameters
1148
1147
  ----------
1149
1148
  key : str, optional
1150
- The configuration key to retrieve, supporting dot notation for nested
1151
- values (e.g., "database.default", "app.name"). If None, the method returns
1152
- the entire configuration dictionary except for the 'path' configuration.
1153
- Default is None.
1149
+ Dot-notated configuration key (e.g., "database.default"). If None, returns all config.
1150
+ value : Any, optional
1151
+ Value to set for the given key. If None, performs a get operation.
1154
1152
 
1155
1153
  Returns
1156
1154
  -------
1157
1155
  Any
1158
- If `key` is provided and found, returns the corresponding configuration value.
1159
- If `key` is None, returns the entire configuration dictionary (excluding 'path').
1160
- If the key is not found, returns None.
1156
+ The configuration value, or None if not found.
1161
1157
 
1162
1158
  Raises
1163
1159
  ------
1164
1160
  OrionisRuntimeError
1165
- If the application configuration has not been initialized (i.e., if `create()`
1166
- has not been called before accessing configuration).
1161
+ If configuration is not initialized.
1167
1162
  OrionisValueError
1168
- If the provided `key` parameter is not a string type.
1163
+ If key is not a string.
1164
+ """
1165
+ pass
1166
+
1167
+ @abstractmethod
1168
+ def resetConfig(
1169
+ self
1170
+ ) -> 'IApplication':
1171
+ """
1172
+ Reset the application configuration to an uninitialized state.
1173
+
1174
+ This method clears the current runtime configuration and marks the application
1175
+ as unconfigured, allowing for re-initialization of the configuration by calling
1176
+ `create()` again. This is useful in scenarios such as testing or when dynamic
1177
+ reloading of configuration is required.
1169
1178
 
1170
1179
  Notes
1171
1180
  -----
1172
- The method traverses nested configuration structures by splitting the key
1173
- on dots and navigating through dictionary levels. Path configurations are
1174
- excluded from full configuration returns and should be accessed via the
1175
- `path()` method instead.
1181
+ - After calling this method, you must call `create()` to reinitialize
1182
+ the configuration before accessing it again.
1183
+ - This method does not affect other aspects of the application state,
1184
+ such as registered providers or boot status.
1185
+
1186
+ Returns
1187
+ -------
1188
+ Application
1189
+ Returns the current `Application` instance to enable method chaining.
1176
1190
  """
1177
1191
  pass
1178
1192
 
@@ -1184,7 +1198,7 @@ class IApplication(IContainer):
1184
1198
  """
1185
1199
  Retrieve application path configuration values using dot notation.
1186
1200
 
1187
- Provides access to the application's path configuration, allowing retrieval of either a specific path value or the entire paths configuration dictionary. If a key is provided, the corresponding path is returned as a `Path` object. If no key is provided, a dictionary mapping all path configuration keys to their resolved `Path` objects is returned.
1201
+ This method provides access to the application's path configuration, allowing retrieval of either a specific path value or the entire paths configuration dictionary. If a key is provided, the corresponding path is returned as a `Path` object. If no key is provided, a dictionary mapping all path configuration keys to their resolved `Path` objects is returned.
1188
1202
 
1189
1203
  Parameters
1190
1204
  ----------
@@ -1196,7 +1210,7 @@ class IApplication(IContainer):
1196
1210
  -------
1197
1211
  Path or dict
1198
1212
  If `key` is provided and found, returns the resolved `Path` object for that key.
1199
- If `key` is None, returns a dictionary mapping all path keys to their `Path` objects.
1213
+ If `key` is None, returns a dictionary mapping all path keys to their resolved `Path` objects.
1200
1214
  If `key` is not found, returns None.
1201
1215
 
1202
1216
  Raises
@@ -1237,9 +1251,8 @@ class IApplication(IContainer):
1237
1251
  1. Load and process all configuration from configurators
1238
1252
  2. Register core framework service providers
1239
1253
  3. Register and boot all service providers
1240
- 4. Initialize framework kernels (Testing, CLI)
1241
- 5. Log successful startup with timing information
1242
- 6. Mark application as booted to prevent re-initialization
1254
+ 4. Initialize framework kernels
1255
+ 5. Mark application as booted to prevent re-initialization
1243
1256
 
1244
1257
  This method is idempotent - calling it multiple times will not cause
1245
1258
  duplicate initialization. The startup time is calculated and logged
@@ -1272,4 +1285,31 @@ class IApplication(IContainer):
1272
1285
  The environment is typically defined in the application configuration and can be set to values such as 'development', 'testing', or 'production'.
1273
1286
  This method is useful for conditionally executing code based on the environment, such as enabling/disabling debug features or logging verbosity.
1274
1287
  """
1288
+ pass
1289
+
1290
+ @abstractmethod
1291
+ def isDebug(
1292
+ self
1293
+ ) -> bool:
1294
+ """
1295
+ Check if the application is running in debug mode.
1296
+
1297
+ This method determines whether the current application is set to run in debug mode.
1298
+ It checks the 'app.debug' configuration value to make this determination.
1299
+
1300
+ Returns
1301
+ -------
1302
+ bool
1303
+ True if the application is in debug mode, False otherwise.
1304
+
1305
+ Raises
1306
+ ------
1307
+ OrionisRuntimeError
1308
+ If the application configuration has not been initialized (i.e., if `create()` has not been called).
1309
+
1310
+ Notes
1311
+ -----
1312
+ The debug mode is typically defined in the application configuration and can be enabled or disabled based on the environment or specific settings.
1313
+ This method is useful for conditionally executing code based on whether debugging features should be active, such as detailed error reporting or verbose logging.
1314
+ """
1275
1315
  pass