orionis 0.254.0__tar.gz → 0.255.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 (457) hide show
  1. {orionis-0.254.0/orionis.egg-info → orionis-0.255.0}/PKG-INFO +1 -1
  2. {orionis-0.254.0 → orionis-0.255.0}/orionis/framework.py +1 -1
  3. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/app.py +1 -1
  4. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/output/console.py +2 -2
  5. orionis-0.255.0/orionis/luminate/services/asynchrony/async_io.py +31 -0
  6. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/services/environment/contracts/env.py +0 -11
  7. orionis-0.255.0/orionis/luminate/services/environment/dot_env.py +217 -0
  8. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/services/environment/env.py +0 -11
  9. orionis-0.255.0/orionis/luminate/services/introspection/dependencies/entities/class_dependencies.py +59 -0
  10. orionis-0.255.0/orionis/luminate/services/introspection/dependencies/entities/method_dependencies.py +64 -0
  11. orionis-0.255.0/orionis/luminate/services/introspection/dependencies/entities/resolved_dependencies.py +60 -0
  12. {orionis-0.254.0/orionis/luminate/support → orionis-0.255.0/orionis/luminate/services}/introspection/dependencies/reflect_dependencies.py +4 -4
  13. orionis-0.254.0/orionis/luminate/support/parsers/exception_parser.py → orionis-0.255.0/orionis/luminate/services/parsers/exception.py +1 -1
  14. orionis-0.255.0/orionis/luminate/services/parsers/serializer.py +15 -0
  15. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/services/paths/resolver.py +1 -1
  16. {orionis-0.254.0/orionis/luminate/support → orionis-0.255.0/orionis/luminate/services}/standard/std.py +1 -1
  17. orionis-0.255.0/orionis/luminate/services/system/contracts/imports.py +31 -0
  18. orionis-0.255.0/orionis/luminate/services/system/imports.py +124 -0
  19. orionis-0.255.0/orionis/luminate/services/system/runtime_imports.py +70 -0
  20. orionis-0.255.0/orionis/luminate/services/wrapper/dicts/dot_dict.py +115 -0
  21. {orionis-0.254.0 → orionis-0.255.0}/orionis/unittesting.py +29 -6
  22. {orionis-0.254.0 → orionis-0.255.0/orionis.egg-info}/PKG-INFO +1 -1
  23. {orionis-0.254.0 → orionis-0.255.0}/orionis.egg-info/SOURCES.txt +49 -48
  24. orionis-0.254.0/tests/support/async_io/test_async_coroutine.py → orionis-0.255.0/tests/services/asynchrony/test_async_io.py +6 -5
  25. orionis-0.255.0/tests/services/environment/test_env.py +155 -0
  26. orionis-0.255.0/tests/services/inspection/dependencies/mocks/mock_user.py +30 -0
  27. orionis-0.255.0/tests/services/inspection/dependencies/mocks/mock_user_controller.py +27 -0
  28. orionis-0.255.0/tests/services/inspection/dependencies/mocks/mock_users_permissions.py +41 -0
  29. orionis-0.255.0/tests/services/inspection/dependencies/test_reflect_dependencies.py +95 -0
  30. orionis-0.255.0/tests/services/parsers/mocks/mock_custom_error.py +15 -0
  31. {orionis-0.254.0/tests/support → orionis-0.255.0/tests/services}/parsers/test_exception_parser.py +8 -8
  32. orionis-0.255.0/tests/services/path/test_resolver.py +73 -0
  33. orionis-0.255.0/tests/services/standard/test_std.py +127 -0
  34. orionis-0.255.0/tests/services/wrapper/test_wrapper_doc_dict.py +129 -0
  35. orionis-0.255.0/tests/testing/test_testing_result.py +92 -0
  36. orionis-0.255.0/tests/testing/test_testing_unit.py +138 -0
  37. orionis-0.254.0/orionis/importscan.py +0 -46
  38. orionis-0.254.0/orionis/luminate/adapters/dicts/dot_dict.py +0 -63
  39. orionis-0.254.0/orionis/luminate/services/environment/dot_env.py +0 -293
  40. orionis-0.254.0/orionis/luminate/support/adapters/dot_dict.py +0 -29
  41. orionis-0.254.0/orionis/luminate/support/asynchrony/async_io.py +0 -40
  42. orionis-0.254.0/orionis/luminate/support/asynchrony/contracts/async_coroutine.py +0 -26
  43. orionis-0.254.0/orionis/luminate/support/introspection/dependencies/entities/class_dependencies.py +0 -11
  44. orionis-0.254.0/orionis/luminate/support/introspection/dependencies/entities/method_dependencies.py +0 -11
  45. orionis-0.254.0/orionis/luminate/support/introspection/dependencies/entities/resolved_dependencies.py +0 -12
  46. orionis-0.254.0/orionis/luminate/support/paths/contracts/resolver.py +0 -67
  47. orionis-0.254.0/orionis/luminate/support/paths/resolver.py +0 -83
  48. orionis-0.254.0/tests/services/environment/test_env.py +0 -33
  49. orionis-0.254.0/tests/support/adapters/fakes/fake_dict.py +0 -15
  50. orionis-0.254.0/tests/support/adapters/test_doct_dict.py +0 -21
  51. orionis-0.254.0/tests/support/inspection/fakes/fake_reflect_dependencies.py +0 -25
  52. orionis-0.254.0/tests/support/inspection/test_reflect_dependencies.py +0 -67
  53. orionis-0.254.0/tests/support/parsers/fakes/fake_custom_error.py +0 -27
  54. orionis-0.254.0/tests/support/path/test_resolver.py +0 -33
  55. orionis-0.254.0/tests/support/standard/test_std.py +0 -62
  56. orionis-0.254.0/tests/testing/__init__.py +0 -0
  57. {orionis-0.254.0 → orionis-0.255.0}/LICENCE +0 -0
  58. {orionis-0.254.0 → orionis-0.255.0}/MANIFEST.in +0 -0
  59. {orionis-0.254.0 → orionis-0.255.0}/README.md +0 -0
  60. {orionis-0.254.0 → orionis-0.255.0}/orionis/__init__.py +0 -0
  61. {orionis-0.254.0 → orionis-0.255.0}/orionis/application.py +0 -0
  62. {orionis-0.254.0 → orionis-0.255.0}/orionis/clinstall.py +0 -0
  63. {orionis-0.254.0 → orionis-0.255.0}/orionis/installer/__init__.py +0 -0
  64. {orionis-0.254.0 → orionis-0.255.0}/orionis/installer/contracts/__init__.py +0 -0
  65. {orionis-0.254.0 → orionis-0.255.0}/orionis/installer/contracts/manager.py +0 -0
  66. {orionis-0.254.0 → orionis-0.255.0}/orionis/installer/contracts/output.py +0 -0
  67. {orionis-0.254.0 → orionis-0.255.0}/orionis/installer/contracts/setup.py +0 -0
  68. {orionis-0.254.0 → orionis-0.255.0}/orionis/installer/manager.py +0 -0
  69. {orionis-0.254.0 → orionis-0.255.0}/orionis/installer/output.py +0 -0
  70. {orionis-0.254.0 → orionis-0.255.0}/orionis/installer/setup.py +0 -0
  71. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/__init__.py +0 -0
  72. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_application.py +0 -0
  73. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_container/__init__.py +0 -0
  74. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_container/container.py +0 -0
  75. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_container/container_integrity.py +0 -0
  76. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_container/exception.py +0 -0
  77. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_container/lifetimes.py +0 -0
  78. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_container/resolve.py +0 -0
  79. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/__init__.py +0 -0
  80. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/application.py +0 -0
  81. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/config/__init__.py +0 -0
  82. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/config/config.py +0 -0
  83. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/__init__.py +0 -0
  84. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/base/__init__.py +0 -0
  85. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/base/command.py +0 -0
  86. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/command_filter.py +0 -0
  87. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/kernel.py +0 -0
  88. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/output/__init__.py +0 -0
  89. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/output/console.py +0 -0
  90. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/output/executor.py +0 -0
  91. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/output/progress_bar.py +0 -0
  92. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/parser.py +0 -0
  93. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/console/task_manager.py +0 -0
  94. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/container/container.py +0 -0
  95. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/container/container_integrity.py +0 -0
  96. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/__init__.py +0 -0
  97. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/commands/__init__.py +0 -0
  98. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/commands/commands_facade.py +0 -0
  99. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/commands/scheduler_facade.py +0 -0
  100. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/config/__init__.py +0 -0
  101. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/config/config_facade.py +0 -0
  102. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/environment/__init__.py +0 -0
  103. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/environment/environment_facade.py +0 -0
  104. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/facade.py +0 -0
  105. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/files/__init__.py +0 -0
  106. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/files/path_facade.py +0 -0
  107. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/log/__init__.py +0 -0
  108. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/log/log_facade.py +0 -0
  109. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/tests/__init__.py +0 -0
  110. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/facades/tests/tests_facade.py +0 -0
  111. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/__init__.py +0 -0
  112. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/bootstraper.py +0 -0
  113. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/config/__init__.py +0 -0
  114. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/config/config_bootstrapper.py +0 -0
  115. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/console/__init__.py +0 -0
  116. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/console/command_bootstrapper.py +0 -0
  117. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/environment/__init__.py +0 -0
  118. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/environment/environment_bootstrapper.py +0 -0
  119. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/providers/__init__.py +0 -0
  120. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/foundation/providers/service_providers_bootstrapper.py +0 -0
  121. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/providers/__init__.py +0 -0
  122. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/providers/service_provider.py +0 -0
  123. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/__init__.py +0 -0
  124. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/commands/__init__.py +0 -0
  125. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/commands/reactor_commands_service.py +0 -0
  126. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/commands/schedule_service.py +0 -0
  127. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/config/__init__.py +0 -0
  128. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/config/config_service.py +0 -0
  129. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/environment/__init__.py +0 -0
  130. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/environment/environment_service.py +0 -0
  131. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/files/__init__.py +0 -0
  132. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/files/path_resolver_service.py +0 -0
  133. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/log/__init__.py +0 -0
  134. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/services/log/log_service.py +0 -0
  135. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/support/exception_parse.py +0 -0
  136. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_contracts/support/reflection.py +0 -0
  137. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/__init__.py +0 -0
  138. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/app_facade.py +0 -0
  139. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/commands/__init__.py +0 -0
  140. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/commands/commands_facade.py +0 -0
  141. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/commands/scheduler_facade.py +0 -0
  142. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/config/__init__.py +0 -0
  143. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/config/config_facade.py +0 -0
  144. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/environment/__init__.py +0 -0
  145. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/environment/environment_facade.py +0 -0
  146. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/files/__init__.py +0 -0
  147. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/files/path_facade.py +0 -0
  148. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/log/__init__.py +0 -0
  149. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_facades/log/log_facade.py +0 -0
  150. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/__init__.py +0 -0
  151. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/console/__init__.py +0 -0
  152. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/console/command_bootstrapper.py +0 -0
  153. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/environment/__init__.py +0 -0
  154. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/environment/environment_bootstrapper.py +0 -0
  155. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/exceptions/__init__.py +0 -0
  156. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/exceptions/exception_bootstrapper.py +0 -0
  157. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/exceptions/exception_providers.py +0 -0
  158. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/foundation/config/__init__.py +0 -0
  159. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/foundation/config/config_bootstrapper.py +0 -0
  160. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/providers/__init__.py +0 -0
  161. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_foundation/providers/service_providers_bootstrapper.py +0 -0
  162. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/__init__.py +0 -0
  163. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/commands/__init__.py +0 -0
  164. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/commands/reactor_commands_service_provider.py +0 -0
  165. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/commands/scheduler_provider.py +0 -0
  166. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/config/__init__.py +0 -0
  167. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/config/config_service_provider.py +0 -0
  168. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/environment/__init__.py +0 -0
  169. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/environment/environment__service_provider.py +0 -0
  170. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/files/__init__.py +0 -0
  171. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/files/paths_provider.py +0 -0
  172. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/log/__init__.py +0 -0
  173. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/log/log_service_provider.py +0 -0
  174. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_providers/service_provider.py +0 -0
  175. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_services/__init__.py +0 -0
  176. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_services/commands/__init__.py +0 -0
  177. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_services/commands/reactor_commands_service.py +0 -0
  178. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_services/commands/scheduler_service.py +0 -0
  179. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_services/config/__init__.py +0 -0
  180. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_services/config/config_service.py +0 -0
  181. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_services/log/__init__.py +0 -0
  182. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/_services/log/log_service.py +0 -0
  183. {orionis-0.254.0/orionis/luminate/adapters → orionis-0.255.0/orionis/luminate/console}/__init__.py +0 -0
  184. {orionis-0.254.0/orionis/luminate/adapters/dicts → orionis-0.255.0/orionis/luminate/console/base}/__init__.py +0 -0
  185. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/base/command.py +0 -0
  186. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/command_filter.py +0 -0
  187. {orionis-0.254.0/orionis/luminate/console → orionis-0.255.0/orionis/luminate/console/commands}/__init__.py +0 -0
  188. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/commands/cache_clear.py +0 -0
  189. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/commands/help.py +0 -0
  190. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/commands/schedule_work.py +0 -0
  191. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/commands/version.py +0 -0
  192. {orionis-0.254.0/orionis/luminate/console/base → orionis-0.255.0/orionis/luminate/console/dumper}/__init__.py +0 -0
  193. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/dumper/dump_die.py +0 -0
  194. {orionis-0.254.0/orionis/luminate/console/commands → orionis-0.255.0/orionis/luminate/console/exceptions}/__init__.py +0 -0
  195. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/exceptions/cli-orionis-value-error.py +0 -0
  196. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/exceptions/cli_exception.py +0 -0
  197. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/exceptions/cli_runtime_error.py +0 -0
  198. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/exceptions/cli_schedule_exception.py +0 -0
  199. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/kernel.py +0 -0
  200. {orionis-0.254.0/orionis/luminate/console/dumper → orionis-0.255.0/orionis/luminate/console/output}/__init__.py +0 -0
  201. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/output/executor.py +0 -0
  202. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/output/progress_bar.py +0 -0
  203. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/output/styles.py +0 -0
  204. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/console/parser.py +0 -0
  205. {orionis-0.254.0/orionis/luminate/console/exceptions → orionis-0.255.0/orionis/luminate/foundation}/__init__.py +0 -0
  206. {orionis-0.254.0/orionis/luminate/console/output → orionis-0.255.0/orionis/luminate/foundation/config}/__init__.py +0 -0
  207. {orionis-0.254.0/orionis/luminate/foundation → orionis-0.255.0/orionis/luminate/foundation/config/app}/__init__.py +0 -0
  208. {orionis-0.254.0/orionis/luminate/foundation/config → orionis-0.255.0/orionis/luminate/foundation/config/app/entities}/__init__.py +0 -0
  209. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/app/entities/app.py +0 -0
  210. {orionis-0.254.0/orionis/luminate/foundation/config/app → orionis-0.255.0/orionis/luminate/foundation/config/app/enums}/__init__.py +0 -0
  211. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/app/enums/ciphers.py +0 -0
  212. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/app/enums/environments.py +0 -0
  213. {orionis-0.254.0/orionis/luminate/foundation/config/app/entities → orionis-0.255.0/orionis/luminate/foundation/config/auth}/__init__.py +0 -0
  214. {orionis-0.254.0/orionis/luminate/foundation/config/app/enums → orionis-0.255.0/orionis/luminate/foundation/config/auth/entities}/__init__.py +0 -0
  215. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/auth/entities/auth.py +0 -0
  216. {orionis-0.254.0/orionis/luminate/foundation/config/auth → orionis-0.255.0/orionis/luminate/foundation/config/cache}/__init__.py +0 -0
  217. {orionis-0.254.0/orionis/luminate/foundation/config/auth → orionis-0.255.0/orionis/luminate/foundation/config/cache}/entities/__init__.py +0 -0
  218. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/cache/entities/cache.py +0 -0
  219. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/cache/entities/file.py +0 -0
  220. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/cache/entities/stores.py +0 -0
  221. {orionis-0.254.0/orionis/luminate/foundation/config/cache → orionis-0.255.0/orionis/luminate/foundation/config/cache/enums}/__init__.py +0 -0
  222. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/cache/enums/drivers.py +0 -0
  223. {orionis-0.254.0/orionis/luminate/foundation/config/cache/entities → orionis-0.255.0/orionis/luminate/foundation/config/contracts}/__init__.py +0 -0
  224. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/contracts/config.py +0 -0
  225. {orionis-0.254.0/orionis/luminate/foundation/config/cache/enums → orionis-0.255.0/orionis/luminate/foundation/config/cors}/__init__.py +0 -0
  226. {orionis-0.254.0/orionis/luminate/foundation/config/contracts → orionis-0.255.0/orionis/luminate/foundation/config/cors/entities}/__init__.py +0 -0
  227. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/cors/entities/cors.py +0 -0
  228. {orionis-0.254.0/orionis/luminate/foundation/config/cors → orionis-0.255.0/orionis/luminate/foundation/config/database}/__init__.py +0 -0
  229. {orionis-0.254.0/orionis/luminate/foundation/config/cors → orionis-0.255.0/orionis/luminate/foundation/config/database}/entities/__init__.py +0 -0
  230. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/entities/connections.py +0 -0
  231. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/entities/database.py +0 -0
  232. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/entities/mysql.py +0 -0
  233. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/entities/oracle.py +0 -0
  234. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/entities/pgsql.py +0 -0
  235. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/entities/sqlite.py +0 -0
  236. {orionis-0.254.0/orionis/luminate/foundation/config/database → orionis-0.255.0/orionis/luminate/foundation/config/database/enums}/__init__.py +0 -0
  237. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/mysql_charsets.py +0 -0
  238. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/mysql_collations.py +0 -0
  239. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/mysql_engine.py +0 -0
  240. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/oracle_encoding.py +0 -0
  241. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/oracle_nencoding.py +0 -0
  242. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/pgsql_charsets.py +0 -0
  243. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/pgsql_collations.py +0 -0
  244. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/pgsql_mode.py +0 -0
  245. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  246. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/sqlite_journal.py +0 -0
  247. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  248. {orionis-0.254.0/orionis/luminate/foundation/config/database/entities → orionis-0.255.0/orionis/luminate/foundation/config/exceptions}/__init__.py +0 -0
  249. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/exceptions/integrity.py +0 -0
  250. {orionis-0.254.0/orionis/luminate/foundation/config/database/enums → orionis-0.255.0/orionis/luminate/foundation/config/filesystems}/__init__.py +0 -0
  251. {orionis-0.254.0/orionis/luminate/foundation/config/exceptions → orionis-0.255.0/orionis/luminate/foundation/config/filesystems/entitites}/__init__.py +0 -0
  252. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/filesystems/entitites/aws.py +0 -0
  253. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/filesystems/entitites/disks.py +0 -0
  254. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/filesystems/entitites/filesystems.py +0 -0
  255. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/filesystems/entitites/local.py +0 -0
  256. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/filesystems/entitites/public.py +0 -0
  257. {orionis-0.254.0/orionis/luminate/foundation/config/filesystems → orionis-0.255.0/orionis/luminate/foundation/config/logging}/__init__.py +0 -0
  258. {orionis-0.254.0/orionis/luminate/foundation/config/filesystems/entitites → orionis-0.255.0/orionis/luminate/foundation/config/logging/entities}/__init__.py +0 -0
  259. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/entities/channels.py +0 -0
  260. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/entities/chunked.py +0 -0
  261. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/entities/daily.py +0 -0
  262. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/entities/hourly.py +0 -0
  263. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/entities/logging.py +0 -0
  264. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/entities/monthly.py +0 -0
  265. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/entities/stack.py +0 -0
  266. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/entities/weekly.py +0 -0
  267. {orionis-0.254.0/orionis/luminate/foundation/config/logging → orionis-0.255.0/orionis/luminate/foundation/config/logging/enums}/__init__.py +0 -0
  268. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/logging/enums/levels.py +0 -0
  269. {orionis-0.254.0/orionis/luminate/foundation/config/logging/entities → orionis-0.255.0/orionis/luminate/foundation/config/mail}/__init__.py +0 -0
  270. {orionis-0.254.0/orionis/luminate/foundation/config/logging/enums → orionis-0.255.0/orionis/luminate/foundation/config/mail/entities}/__init__.py +0 -0
  271. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/mail/entities/file.py +0 -0
  272. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/mail/entities/mail.py +0 -0
  273. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/mail/entities/mailers.py +0 -0
  274. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/mail/entities/smtp.py +0 -0
  275. {orionis-0.254.0/orionis/luminate/foundation/config/mail → orionis-0.255.0/orionis/luminate/foundation/config/queue}/__init__.py +0 -0
  276. {orionis-0.254.0/orionis/luminate/foundation/config/mail → orionis-0.255.0/orionis/luminate/foundation/config/queue}/entities/__init__.py +0 -0
  277. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/queue/entities/brokers.py +0 -0
  278. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/queue/entities/database.py +0 -0
  279. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/queue/entities/queue.py +0 -0
  280. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/queue/enums/strategy.py +0 -0
  281. {orionis-0.254.0/orionis/luminate/foundation/config/queue → orionis-0.255.0/orionis/luminate/foundation/config/session}/__init__.py +0 -0
  282. {orionis-0.254.0/orionis/luminate/foundation/config/queue → orionis-0.255.0/orionis/luminate/foundation/config/session}/entities/__init__.py +0 -0
  283. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/session/entities/session.py +0 -0
  284. {orionis-0.254.0/orionis/luminate/foundation/config/session → orionis-0.255.0/orionis/luminate/foundation/config/session/enums}/__init__.py +0 -0
  285. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/session/enums/same_site_policy.py +0 -0
  286. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/session/helpers/secret_key.py +0 -0
  287. /orionis-0.254.0/orionis/luminate/foundation/config/configuration.py → /orionis-0.255.0/orionis/luminate/foundation/config/startup.py +0 -0
  288. {orionis-0.254.0/orionis/luminate/foundation/config/session/entities → orionis-0.255.0/orionis/luminate/foundation/config/testing}/__init__.py +0 -0
  289. {orionis-0.254.0/orionis/luminate/foundation/config/session/enums → orionis-0.255.0/orionis/luminate/foundation/config/testing/entities}/__init__.py +0 -0
  290. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/testing/entities/testing.py +0 -0
  291. {orionis-0.254.0/orionis/luminate/foundation/config/testing → orionis-0.255.0/orionis/luminate/foundation/config/testing/enums}/__init__.py +0 -0
  292. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/foundation/config/testing/enums/test_mode.py +0 -0
  293. {orionis-0.254.0/orionis/luminate/foundation/config/testing/entities → orionis-0.255.0/orionis/luminate/patterns}/__init__.py +0 -0
  294. {orionis-0.254.0/orionis/luminate/foundation/config/testing/enums → orionis-0.255.0/orionis/luminate/patterns/singleton}/__init__.py +0 -0
  295. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/patterns/singleton/meta_class.py +0 -0
  296. {orionis-0.254.0/orionis/luminate/patterns → orionis-0.255.0/orionis/luminate/services}/__init__.py +0 -0
  297. {orionis-0.254.0/orionis/luminate/patterns/singleton → orionis-0.255.0/orionis/luminate/services/asynchrony}/__init__.py +0 -0
  298. {orionis-0.254.0/orionis/luminate/services → orionis-0.255.0/orionis/luminate/services/environment}/__init__.py +0 -0
  299. {orionis-0.254.0/orionis/luminate/services/environment → orionis-0.255.0/orionis/luminate/services/environment/contracts}/__init__.py +0 -0
  300. {orionis-0.254.0/orionis/luminate/services/environment/contracts → orionis-0.255.0/orionis/luminate/services/introspection}/__init__.py +0 -0
  301. {orionis-0.254.0/orionis/luminate/services/paths → orionis-0.255.0/orionis/luminate/services/introspection/dependencies}/__init__.py +0 -0
  302. {orionis-0.254.0/orionis/luminate/services/paths → orionis-0.255.0/orionis/luminate/services/introspection/dependencies}/contracts/__init__.py +0 -0
  303. {orionis-0.254.0/orionis/luminate/support → orionis-0.255.0/orionis/luminate/services}/introspection/dependencies/contracts/reflect_dependencies.py +0 -0
  304. {orionis-0.254.0/orionis/luminate/services/system → orionis-0.255.0/orionis/luminate/services/introspection/dependencies/entities}/__init__.py +0 -0
  305. {orionis-0.254.0/orionis/luminate/services/system/contracts → orionis-0.255.0/orionis/luminate/services/parsers}/__init__.py +0 -0
  306. {orionis-0.254.0/orionis/luminate/support → orionis-0.255.0/orionis/luminate/services/parsers/contracts}/__init__.py +0 -0
  307. {orionis-0.254.0/orionis/luminate/support → orionis-0.255.0/orionis/luminate/services}/parsers/contracts/exception_parser.py +0 -0
  308. {orionis-0.254.0/orionis/luminate/support/adapters → orionis-0.255.0/orionis/luminate/services/paths}/__init__.py +0 -0
  309. {orionis-0.254.0/orionis/luminate/support/asynchrony → orionis-0.255.0/orionis/luminate/services/paths/contracts}/__init__.py +0 -0
  310. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/services/paths/contracts/resolver.py +0 -0
  311. {orionis-0.254.0/orionis/luminate/support/asynchrony/contracts → orionis-0.255.0/orionis/luminate/services/standard}/__init__.py +0 -0
  312. {orionis-0.254.0/orionis/luminate/support/introspection → orionis-0.255.0/orionis/luminate/services/standard/contracts}/__init__.py +0 -0
  313. {orionis-0.254.0/orionis/luminate/support → orionis-0.255.0/orionis/luminate/services}/standard/contracts/std.py +0 -0
  314. {orionis-0.254.0/orionis/luminate/support/introspection/abstracts → orionis-0.255.0/orionis/luminate/services/system}/__init__.py +0 -0
  315. {orionis-0.254.0/orionis/luminate/support/introspection/abstracts/entities → orionis-0.255.0/orionis/luminate/services/system/contracts}/__init__.py +0 -0
  316. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/services/system/contracts/workers.py +0 -0
  317. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/services/system/workers.py +0 -0
  318. {orionis-0.254.0/orionis/luminate/support/introspection/contracts → orionis-0.255.0/orionis/luminate/services/wrapper}/__init__.py +0 -0
  319. {orionis-0.254.0/orionis/luminate/support/introspection/dependencies → orionis-0.255.0/orionis/luminate/services/wrapper/dicts}/__init__.py +0 -0
  320. {orionis-0.254.0/orionis/luminate/support/introspection/dependencies/contracts → orionis-0.255.0/orionis/luminate/support}/__init__.py +0 -0
  321. {orionis-0.254.0/orionis/luminate/support/introspection/dependencies/entities → orionis-0.255.0/orionis/luminate/support/introspection}/__init__.py +0 -0
  322. {orionis-0.254.0/orionis/luminate/support/introspection/helpers → orionis-0.255.0/orionis/luminate/support/introspection/abstracts}/__init__.py +0 -0
  323. {orionis-0.254.0/orionis/luminate/support/introspection/instances → orionis-0.255.0/orionis/luminate/support/introspection/abstracts/entities}/__init__.py +0 -0
  324. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/abstracts/entities/abstract_class_attributes.py +0 -0
  325. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/abstracts/reflect_abstract.py +0 -0
  326. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/container_integrity.py +0 -0
  327. {orionis-0.254.0/orionis/luminate/support/introspection/instances → orionis-0.255.0/orionis/luminate/support/introspection}/contracts/__init__.py +0 -0
  328. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/contracts/reflection.py +0 -0
  329. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/contracts/reflexion_abstract.py +0 -0
  330. {orionis-0.254.0/orionis/luminate/support/introspection/instances/entities → orionis-0.255.0/orionis/luminate/support/introspection/helpers}/__init__.py +0 -0
  331. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/helpers/functions.py +0 -0
  332. {orionis-0.254.0/orionis/luminate/support/parsers → orionis-0.255.0/orionis/luminate/support/introspection/instances}/__init__.py +0 -0
  333. {orionis-0.254.0/orionis/luminate/support/parsers → orionis-0.255.0/orionis/luminate/support/introspection/instances}/contracts/__init__.py +0 -0
  334. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/instances/contracts/reflection_instance.py +0 -0
  335. {orionis-0.254.0/orionis/luminate/support/paths → orionis-0.255.0/orionis/luminate/support/introspection/instances/entities}/__init__.py +0 -0
  336. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/instances/entities/class_attributes.py +0 -0
  337. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/instances/entities/class_method.py +0 -0
  338. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/instances/entities/class_parsed.py +0 -0
  339. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/instances/entities/class_property.py +0 -0
  340. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/instances/reflection_instance.py +0 -0
  341. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/reflect_decorators.py +0 -0
  342. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/reflection.py +0 -0
  343. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/reflexion_concrete.py +0 -0
  344. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/reflexion_concrete_with_abstract.py +0 -0
  345. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/reflexion_instance_with_abstract.py +0 -0
  346. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/reflexion_module.py +0 -0
  347. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/support/introspection/reflexion_module_with_classname.py +0 -0
  348. {orionis-0.254.0/orionis/luminate/support/paths/contracts → orionis-0.255.0/orionis/luminate/test}/__init__.py +0 -0
  349. {orionis-0.254.0/orionis/luminate/support/standard → orionis-0.255.0/orionis/luminate/test/cases}/__init__.py +0 -0
  350. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/cases/test_async.py +0 -0
  351. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/cases/test_case.py +0 -0
  352. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/cases/test_sync.py +0 -0
  353. {orionis-0.254.0/orionis/luminate/support/standard/contracts → orionis-0.255.0/orionis/luminate/test/entities}/__init__.py +0 -0
  354. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/entities/test_result.py +0 -0
  355. {orionis-0.254.0/orionis/luminate/test → orionis-0.255.0/orionis/luminate/test/enums}/__init__.py +0 -0
  356. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/enums/test_mode.py +0 -0
  357. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/enums/test_status.py +0 -0
  358. {orionis-0.254.0/orionis/luminate/test/cases → orionis-0.255.0/orionis/luminate/test/exceptions}/__init__.py +0 -0
  359. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/exceptions/test_config_exception.py +0 -0
  360. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/exceptions/test_failure_exception.py +0 -0
  361. {orionis-0.254.0/orionis/luminate/test/entities → orionis-0.255.0/orionis/luminate/test/output}/__init__.py +0 -0
  362. {orionis-0.254.0/orionis/luminate/test/enums → orionis-0.255.0/orionis/luminate/test/output/contracts}/__init__.py +0 -0
  363. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/output/contracts/dumper.py +0 -0
  364. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/output/dumper.py +0 -0
  365. {orionis-0.254.0/orionis/luminate/test/exceptions → orionis-0.255.0/orionis/luminate/test/suites}/__init__.py +0 -0
  366. {orionis-0.254.0/orionis/luminate/test/output → orionis-0.255.0/orionis/luminate/test/suites/contracts}/__init__.py +0 -0
  367. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/suites/contracts/test_suite.py +0 -0
  368. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/suites/contracts/test_unit.py +0 -0
  369. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/suites/test_suite.py +0 -0
  370. {orionis-0.254.0 → orionis-0.255.0}/orionis/luminate/test/suites/test_unit.py +0 -0
  371. {orionis-0.254.0 → orionis-0.255.0}/orionis/static/ascii/icon.ascii +0 -0
  372. {orionis-0.254.0 → orionis-0.255.0}/orionis/static/ascii/info.ascii +0 -0
  373. {orionis-0.254.0 → orionis-0.255.0}/orionis/static/bg/galaxy.jpg +0 -0
  374. {orionis-0.254.0 → orionis-0.255.0}/orionis.egg-info/dependency_links.txt +0 -0
  375. {orionis-0.254.0 → orionis-0.255.0}/orionis.egg-info/entry_points.txt +0 -0
  376. {orionis-0.254.0 → orionis-0.255.0}/orionis.egg-info/requires.txt +0 -0
  377. {orionis-0.254.0 → orionis-0.255.0}/orionis.egg-info/top_level.txt +0 -0
  378. {orionis-0.254.0 → orionis-0.255.0}/orionis.egg-info/zip-safe +0 -0
  379. {orionis-0.254.0 → orionis-0.255.0}/setup.cfg +0 -0
  380. {orionis-0.254.0 → orionis-0.255.0}/setup.py +0 -0
  381. {orionis-0.254.0/orionis/luminate/test/output/contracts → orionis-0.255.0/tests}/__init__.py +0 -0
  382. {orionis-0.254.0/orionis/luminate/test/suites → orionis-0.255.0/tests/config}/__init__.py +0 -0
  383. {orionis-0.254.0/orionis/luminate/test/suites/contracts → orionis-0.255.0/tests/config/app}/__init__.py +0 -0
  384. {orionis-0.254.0 → orionis-0.255.0}/tests/config/app/test_app.py +0 -0
  385. {orionis-0.254.0/tests → orionis-0.255.0/tests/config/auth}/__init__.py +0 -0
  386. {orionis-0.254.0 → orionis-0.255.0}/tests/config/auth/test_auth.py +0 -0
  387. {orionis-0.254.0/tests/config → orionis-0.255.0/tests/config/cache}/__init__.py +0 -0
  388. {orionis-0.254.0 → orionis-0.255.0}/tests/config/cache/test_cache.py +0 -0
  389. {orionis-0.254.0 → orionis-0.255.0}/tests/config/cache/test_cache_file.py +0 -0
  390. {orionis-0.254.0 → orionis-0.255.0}/tests/config/cache/test_cache_stores.py +0 -0
  391. {orionis-0.254.0/tests/config/app → orionis-0.255.0/tests/config/cors}/__init__.py +0 -0
  392. {orionis-0.254.0 → orionis-0.255.0}/tests/config/cors/test_cors.py +0 -0
  393. {orionis-0.254.0/tests/config/auth → orionis-0.255.0/tests/config/database}/__init__.py +0 -0
  394. {orionis-0.254.0 → orionis-0.255.0}/tests/config/database/test_database.py +0 -0
  395. {orionis-0.254.0 → orionis-0.255.0}/tests/config/database/test_database_connections.py +0 -0
  396. {orionis-0.254.0 → orionis-0.255.0}/tests/config/database/test_database_mysql.py +0 -0
  397. {orionis-0.254.0 → orionis-0.255.0}/tests/config/database/test_database_oracle.py +0 -0
  398. {orionis-0.254.0 → orionis-0.255.0}/tests/config/database/test_database_pgsql.py +0 -0
  399. {orionis-0.254.0 → orionis-0.255.0}/tests/config/database/test_database_sqlite.py +0 -0
  400. {orionis-0.254.0/tests/config/cache → orionis-0.255.0/tests/config/exceptions}/__init__.py +0 -0
  401. {orionis-0.254.0 → orionis-0.255.0}/tests/config/exceptions/test_exceptions_integrity.py +0 -0
  402. {orionis-0.254.0/tests/config/cors → orionis-0.255.0/tests/config/filesystems}/__init__.py +0 -0
  403. {orionis-0.254.0 → orionis-0.255.0}/tests/config/filesystems/test_filesystems.py +0 -0
  404. {orionis-0.254.0 → orionis-0.255.0}/tests/config/filesystems/test_filesystems_aws.py +0 -0
  405. {orionis-0.254.0 → orionis-0.255.0}/tests/config/filesystems/test_filesystems_disks.py +0 -0
  406. {orionis-0.254.0 → orionis-0.255.0}/tests/config/filesystems/test_filesystems_local.py +0 -0
  407. {orionis-0.254.0 → orionis-0.255.0}/tests/config/filesystems/test_filesystems_public.py +0 -0
  408. {orionis-0.254.0/tests/config/database → orionis-0.255.0/tests/config/logging}/__init__.py +0 -0
  409. {orionis-0.254.0 → orionis-0.255.0}/tests/config/logging/test_logging.py +0 -0
  410. {orionis-0.254.0 → orionis-0.255.0}/tests/config/logging/test_logging_channels.py +0 -0
  411. {orionis-0.254.0 → orionis-0.255.0}/tests/config/logging/test_logging_chunked.py +0 -0
  412. {orionis-0.254.0 → orionis-0.255.0}/tests/config/logging/test_logging_daily.py +0 -0
  413. {orionis-0.254.0 → orionis-0.255.0}/tests/config/logging/test_logging_hourly.py +0 -0
  414. {orionis-0.254.0 → orionis-0.255.0}/tests/config/logging/test_logging_monthly.py +0 -0
  415. {orionis-0.254.0 → orionis-0.255.0}/tests/config/logging/test_logging_stack.py +0 -0
  416. {orionis-0.254.0 → orionis-0.255.0}/tests/config/logging/test_logging_weekly.py +0 -0
  417. {orionis-0.254.0/tests/config/exceptions → orionis-0.255.0/tests/config/mail}/__init__.py +0 -0
  418. {orionis-0.254.0 → orionis-0.255.0}/tests/config/mail/test_mail.py +0 -0
  419. {orionis-0.254.0 → orionis-0.255.0}/tests/config/mail/test_mail_file.py +0 -0
  420. {orionis-0.254.0 → orionis-0.255.0}/tests/config/mail/test_mail_mailers.py +0 -0
  421. {orionis-0.254.0 → orionis-0.255.0}/tests/config/mail/test_mail_smtp.py +0 -0
  422. {orionis-0.254.0/tests/config/filesystems → orionis-0.255.0/tests/config/queue}/__init__.py +0 -0
  423. {orionis-0.254.0 → orionis-0.255.0}/tests/config/queue/test_queue.py +0 -0
  424. {orionis-0.254.0 → orionis-0.255.0}/tests/config/queue/test_queue_brokers.py +0 -0
  425. {orionis-0.254.0 → orionis-0.255.0}/tests/config/queue/test_queue_database.py +0 -0
  426. {orionis-0.254.0/tests/config/logging → orionis-0.255.0/tests/config/testing}/__init__.py +0 -0
  427. {orionis-0.254.0 → orionis-0.255.0}/tests/config/testing/test_testing.py +0 -0
  428. {orionis-0.254.0/tests/config/mail → orionis-0.255.0/tests/example}/__init__.py +0 -0
  429. {orionis-0.254.0 → orionis-0.255.0}/tests/example/test_example.py +0 -0
  430. {orionis-0.254.0/tests/config/queue → orionis-0.255.0/tests/patterns}/__init__.py +0 -0
  431. {orionis-0.254.0/tests/config/testing → orionis-0.255.0/tests/patterns/singleton}/__init__.py +0 -0
  432. {orionis-0.254.0 → orionis-0.255.0}/tests/patterns/singleton/test_singleton.py +0 -0
  433. {orionis-0.254.0/tests/example → orionis-0.255.0/tests/services}/__init__.py +0 -0
  434. {orionis-0.254.0/tests/patterns → orionis-0.255.0/tests/services/asynchrony}/__init__.py +0 -0
  435. {orionis-0.254.0/tests/patterns/singleton → orionis-0.255.0/tests/services/environment}/__init__.py +0 -0
  436. {orionis-0.254.0/tests/services → orionis-0.255.0/tests/services/inspection}/__init__.py +0 -0
  437. {orionis-0.254.0/tests/services/environment → orionis-0.255.0/tests/services/inspection/dependencies}/__init__.py +0 -0
  438. {orionis-0.254.0/tests/support → orionis-0.255.0/tests/services/inspection/dependencies/mocks}/__init__.py +0 -0
  439. {orionis-0.254.0/tests/support/adapters → orionis-0.255.0/tests/services/parsers}/__init__.py +0 -0
  440. {orionis-0.254.0/tests/support/adapters/fakes → orionis-0.255.0/tests/services/parsers/mocks}/__init__.py +0 -0
  441. {orionis-0.254.0/tests/support/async_io → orionis-0.255.0/tests/services/path}/__init__.py +0 -0
  442. {orionis-0.254.0/tests/support/inspection → orionis-0.255.0/tests/services/standard}/__init__.py +0 -0
  443. {orionis-0.254.0/tests/support/inspection/fakes → orionis-0.255.0/tests/services/wrapper}/__init__.py +0 -0
  444. {orionis-0.254.0/tests/support/parsers → orionis-0.255.0/tests/support}/__init__.py +0 -0
  445. {orionis-0.254.0/tests/support/parsers/fakes → orionis-0.255.0/tests/support/inspection}/__init__.py +0 -0
  446. {orionis-0.254.0/tests/support/path → orionis-0.255.0/tests/support/inspection/fakes}/__init__.py +0 -0
  447. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/fakes/fake_reflect_abstract.py +0 -0
  448. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/fakes/fake_reflect_instance.py +0 -0
  449. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/fakes/fake_reflection_concrete.py +0 -0
  450. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/fakes/fake_reflection_concrete_with_abstract.py +0 -0
  451. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/fakes/fake_reflection_instance_with_abstract.py +0 -0
  452. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/test_reflect_abstract.py +0 -0
  453. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/test_reflect_instance.py +0 -0
  454. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/test_reflection_concrete.py +0 -0
  455. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/test_reflection_concrete_with_abstract.py +0 -0
  456. {orionis-0.254.0 → orionis-0.255.0}/tests/support/inspection/test_reflection_instance_with_abstract.py +0 -0
  457. {orionis-0.254.0/tests/support/standard → orionis-0.255.0/tests/testing}/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.254.0
3
+ Version: 0.255.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.254.0"
8
+ VERSION = "0.255.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -1,4 +1,4 @@
1
- from orionis.luminate.foundation.config.configuration import Configuration
1
+ from orionis.luminate.foundation.config.startup import Configuration
2
2
 
3
3
  class Orionis:
4
4
 
@@ -4,7 +4,7 @@ import os
4
4
  import sys
5
5
  from orionis.luminate.console.output.styles import ANSIColors
6
6
  from orionis.luminate._contracts.console.output.console import IConsole
7
- from orionis.luminate.support.parsers.exception_parser import ExceptionParser
7
+ from orionis.luminate.services.parsers.serializer import Parser
8
8
 
9
9
  class Console(IConsole):
10
10
  """
@@ -533,7 +533,7 @@ class Console(IConsole):
533
533
  This method prints the exception type, message, and a detailed stack trace.
534
534
  """
535
535
 
536
- errors = ExceptionParser(e).toDict()
536
+ errors = Parser.exception(e).toDict()
537
537
  error_type = str(errors.get("error_type")).split(".")[-1]
538
538
  error_message = str(errors.get("error_message")).replace(error_type, "").replace("[]", "").strip()
539
539
  stack_trace = errors.get("stack_trace")
@@ -0,0 +1,31 @@
1
+ import asyncio
2
+ from typing import Any, Coroutine, TypeVar, Union
3
+
4
+ T = TypeVar("T")
5
+
6
+ def run_coroutine(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
7
+ """
8
+ Executes the given coroutine object, adapting to the current execution context.
9
+ If there is an active event loop, it uses `asyncio.ensure_future` to schedule the coroutine.
10
+ If there is no active event loop, it uses `asyncio.run` to run the coroutine directly.
11
+ If the coroutine is already running, it returns a `Future` object that can be awaited.
12
+
13
+ Parameters
14
+ ----------
15
+ coro : Coroutine[Any, Any, T]
16
+ The coroutine object
17
+ """
18
+ from inspect import iscoroutine
19
+
20
+ if not iscoroutine(coro):
21
+ raise TypeError("Expected a coroutine object.")
22
+
23
+ try:
24
+ loop = asyncio.get_running_loop()
25
+ except RuntimeError:
26
+ return asyncio.run(coro)
27
+
28
+ if loop.is_running():
29
+ return asyncio.ensure_future(coro)
30
+ else:
31
+ return loop.run_until_complete(coro)
@@ -59,17 +59,6 @@ class IEnv(ABC):
59
59
  """
60
60
  pass
61
61
 
62
- @staticmethod
63
- @abstractmethod
64
- def destroy() -> bool:
65
- """
66
- Clears the entire environment.
67
-
68
- Returns:
69
- True if successful, False otherwise
70
- """
71
- pass
72
-
73
62
  @staticmethod
74
63
  @abstractmethod
75
64
  def toJson() -> str:
@@ -0,0 +1,217 @@
1
+ import os
2
+ import ast
3
+ import threading
4
+ from pathlib import Path
5
+ from typing import Any, Optional, Union
6
+ from dotenv import dotenv_values, load_dotenv, set_key, unset_key
7
+ from orionis.luminate.patterns.singleton.meta_class import Singleton
8
+
9
+ class DotEnv(metaclass=Singleton):
10
+ """
11
+ DotEnv is a singleton class for managing environment variables using a `.env` file.
12
+ This class provides methods to load, get, set, unset, and list environment variables,
13
+ with automatic serialization and deserialization of common Python data types.
14
+ It ensures that changes to the `.env` file are reflected in the current process's
15
+ environment variables and vice versa.
16
+ """
17
+
18
+ _lock = threading.RLock()
19
+
20
+ def __init__(self, path: str = None) -> None:
21
+ """
22
+ Initializes the environment service by resolving the path to the `.env` file, ensuring its existence,
23
+ and loading environment variables from it.
24
+ Args:
25
+ path (str, optional): The path to the `.env` file. If not provided, defaults to a `.env` file
26
+ in the current working directory.
27
+ Raises:
28
+ OSError: If the `.env` file cannot be created when it does not exist.
29
+ """
30
+
31
+ with self._lock:
32
+ if path:
33
+ self._resolved_path = Path(path).expanduser().resolve()
34
+ else:
35
+ self._resolved_path = Path(os.getcwd()) / ".env"
36
+
37
+ if not self._resolved_path.exists():
38
+ self._resolved_path.touch()
39
+
40
+ load_dotenv(self._resolved_path)
41
+
42
+ def get(self, key: str, default: Optional[Any] = None) -> Any:
43
+ """
44
+ Retrieve the value of an environment variable by key.
45
+
46
+ This method first attempts to fetch the value from the dotenv file specified by
47
+ `self._resolved_path`. If the key is not found in the dotenv file, it falls back
48
+ to the system environment variables. If the key is not found in either location,
49
+ the provided `default` value is returned.
50
+
51
+ The returned value is parsed using the internal `__parseValue` method if found.
52
+
53
+ Args:
54
+ key (str): The name of the environment variable to retrieve.
55
+ default (Optional[Any], optional): The value to return if the key is not found.
56
+ Defaults to None.
57
+
58
+ Returns:
59
+ Any: The parsed value of the environment variable, or the default if not found.
60
+ """
61
+ with self._lock:
62
+ value = dotenv_values(self._resolved_path).get(key)
63
+ if value is None:
64
+ value = os.getenv(key)
65
+ return self.__parseValue(value) if value is not None else default
66
+
67
+ def set(self, key: str, value: Union[str, int, float, bool, list, dict]) -> bool:
68
+ """
69
+ Sets an environment variable with the specified key and value.
70
+
71
+ This method serializes the given value and updates both the .env file and the current process's environment variables.
72
+
73
+ Args:
74
+ key (str): The name of the environment variable to set.
75
+ value (Union[str, int, float, bool, list, dict]): The value to assign to the environment variable. Supported types include string, integer, float, boolean, list, and dictionary.
76
+
77
+ Returns:
78
+ bool: True if the environment variable was successfully set.
79
+ """
80
+ with self._lock:
81
+ serialized_value = self.__serializeValue(value)
82
+ set_key(str(self._resolved_path), key, serialized_value)
83
+ os.environ[key] = str(value)
84
+ return True
85
+
86
+ def unset(self, key: str) -> bool:
87
+ """
88
+ Removes the specified environment variable from both the .env file and the current process environment.
89
+
90
+ Args:
91
+ key (str): The name of the environment variable to unset.
92
+
93
+ Returns:
94
+ bool: True if the operation was successful.
95
+ """
96
+ with self._lock:
97
+ unset_key(str(self._resolved_path), key)
98
+ os.environ.pop(key, None)
99
+ return True
100
+
101
+ def all(self) -> dict:
102
+ """
103
+ Retrieves all environment variables from the resolved .env file.
104
+
105
+ Returns:
106
+ dict: A dictionary containing all environment variable key-value pairs,
107
+ with values parsed using the internal __parseValue method.
108
+ """
109
+ with self._lock:
110
+ raw_values = dotenv_values(self._resolved_path)
111
+ return {k: self.__parseValue(v) for k, v in raw_values.items()}
112
+
113
+ def toJson(self) -> str:
114
+ """
115
+ Serializes all environment variables managed by this instance to a JSON-formatted string.
116
+
117
+ Returns:
118
+ str: A JSON string representation of all environment variables, formatted with indentation for readability.
119
+ """
120
+ import json
121
+ with self._lock:
122
+ return json.dumps(self.all(), indent=4)
123
+
124
+ def toBase64(self) -> str:
125
+ """
126
+ Serializes all environment variables to a JSON string and encodes it in Base64.
127
+
128
+ Returns:
129
+ str: A Base64-encoded string representation of all environment variables.
130
+ """
131
+ import base64
132
+ import json
133
+ with self._lock:
134
+ return base64.b64encode(json.dumps(self.all()).encode()).decode()
135
+
136
+ def __parseValue(self, value: Any) -> Any:
137
+ """
138
+ Parses and converts the input value to an appropriate Python data type.
139
+
140
+ Args:
141
+ value (Any): The value to parse and convert.
142
+
143
+ Returns:
144
+ Any: The parsed value, which may be of type None, bool, int, float, or the original string.
145
+ - Returns None for None, empty strings, or strings like 'none', 'null', 'nan' (case-insensitive).
146
+ - Returns a boolean for 'true'/'false' strings (case-insensitive).
147
+ - Returns an int if the string represents an integer.
148
+ - Returns a float if the string represents a float.
149
+ - Attempts to evaluate the string as a Python literal (e.g., list, dict, tuple).
150
+ - Returns the original string if no conversion is possible.
151
+ """
152
+ if value is None:
153
+ return None
154
+ if isinstance(value, (bool, int, float)):
155
+ return value
156
+ value_str = str(value).strip()
157
+ if not value_str or value_str.lower() in {'none', 'null', 'nan'}:
158
+ return None
159
+ if value_str.lower() == 'true':
160
+ return True
161
+ if value_str.lower() == 'false':
162
+ return False
163
+ try:
164
+ if value_str.isdigit() or (value_str.startswith('-') and value_str[1:].isdigit()):
165
+ return int(value_str)
166
+ except Exception:
167
+ pass
168
+ try:
169
+ float_val = float(value_str)
170
+ if '.' in value_str or 'e' in value_str.lower():
171
+ return float_val
172
+ except Exception:
173
+ pass
174
+ try:
175
+ return ast.literal_eval(value_str)
176
+ except Exception:
177
+ pass
178
+ return value_str
179
+
180
+ def __serializeValue(self, value: Any) -> str:
181
+ """
182
+ Serializes a given value to a string suitable for storage in a .env file.
183
+
184
+ Parameters:
185
+ value (Any): The value to serialize. Supported types are None, str, bool, int, float, list, and dict.
186
+
187
+ Returns:
188
+ str: The serialized string representation of the value.
189
+
190
+ Raises:
191
+ ValueError: If a float value is in scientific notation.
192
+ TypeError: If the value's type is not serializable for .env files.
193
+ """
194
+ if value is None:
195
+ return "None"
196
+ if isinstance(value, str):
197
+ return value
198
+ if isinstance(value, bool):
199
+ return str(value).lower()
200
+ if isinstance(value, int):
201
+ return str(value)
202
+ if isinstance(value, float):
203
+ value = str(value)
204
+ if 'e' in value or 'E' in value:
205
+ raise ValueError('scientific notation is not supported, use a string instead')
206
+ return value
207
+ if isinstance(value, (list, dict)):
208
+ return repr(value)
209
+ if hasattr(value, '__dict__'):
210
+ raise TypeError(f"Type {type(value).__name__} is not serializable for .env")
211
+ if not isinstance(value, (list, dict, bool, int, float, str)):
212
+ raise TypeError(f"Type {type(value).__name__} is not serializable for .env")
213
+ if isinstance(value, (list, dict, bool, int, float, str)):
214
+ if type(value).__module__ != "builtins" and not isinstance(value, str):
215
+ raise TypeError(f"Type {type(value).__name__} is not serializable for .env")
216
+ return repr(value) if not isinstance(value, str) else value
217
+ raise TypeError(f"Type {type(value).__name__} is not serializable for .env")
@@ -51,17 +51,6 @@ class Env(IEnv):
51
51
  """
52
52
  return Env._dotenv().all()
53
53
 
54
- @staticmethod
55
- def destroy() -> bool:
56
- """
57
- Destroys the current environment by resetting the DotEnv instance.
58
- """
59
- if Env._dotenv_instance is not None:
60
- result = Env._dotenv_instance.destroy()
61
- Env._dotenv_instance = None
62
- return result
63
- return False
64
-
65
54
  @staticmethod
66
55
  def toJson() -> str:
67
56
  """
@@ -0,0 +1,59 @@
1
+ from dataclasses import dataclass
2
+ from typing import Any, Dict, List
3
+ from orionis.luminate.support.introspection.dependencies.entities.resolved_dependencies import ResolvedDependency
4
+
5
+ @dataclass(frozen=True, kw_only=True)
6
+ class ClassDependency:
7
+ """
8
+ Represents the dependencies of a class, separating resolved and unresolved dependencies.
9
+
10
+ Attributes:
11
+ resolved (Dict[ResolvedDependency, Any]):
12
+ A dictionary mapping resolved dependency descriptors to their corresponding resolved instances or values.
13
+ All keys must be ResolvedDependency instances.
14
+ unresolved (List[str]):
15
+ A list of dependency names or identifiers that could not be resolved.
16
+ Must contain only strings.
17
+ """
18
+ resolved: Dict[ResolvedDependency, Any]
19
+ unresolved: List[str]
20
+
21
+ def __post_init__(self):
22
+ """
23
+ Validates types of attributes during initialization.
24
+
25
+ Raises:
26
+ TypeError: If types don't match the expected:
27
+ - resolved: Dict[ResolvedDependency, Any]
28
+ - unresolved: List[str]
29
+ ValueError: If resolved contains None keys or unresolved contains empty strings
30
+ """
31
+ # Validate 'resolved' is a dict with ResolvedDependency keys
32
+ if not isinstance(self.resolved, dict):
33
+ raise TypeError(
34
+ f"'resolved' must be a dict, got {type(self.resolved).__name__}"
35
+ )
36
+
37
+ for key in self.resolved:
38
+ if not isinstance(key, ResolvedDependency):
39
+ raise TypeError(
40
+ f"All keys in 'resolved' must be ResolvedDependency, "
41
+ f"found {type(key).__name__}"
42
+ )
43
+ if key is None:
44
+ raise ValueError("'resolved' cannot contain None keys")
45
+
46
+ # Validate 'unresolved' is a list of non-empty strings
47
+ if not isinstance(self.unresolved, list):
48
+ raise TypeError(
49
+ f"'unresolved' must be a list, got {type(self.unresolved).__name__}"
50
+ )
51
+
52
+ for item in self.unresolved:
53
+ if not isinstance(item, str):
54
+ raise TypeError(
55
+ f"All items in 'unresolved' must be str, "
56
+ f"found {type(item).__name__}"
57
+ )
58
+ if not item.strip():
59
+ raise ValueError("'unresolved' cannot contain empty strings")
@@ -0,0 +1,64 @@
1
+ from dataclasses import dataclass
2
+ from typing import Any, Dict, List
3
+ from orionis.luminate.support.introspection.dependencies.entities.resolved_dependencies import ResolvedDependency
4
+
5
+ @dataclass(frozen=True, kw_only=True)
6
+ class MethodDependency:
7
+ """
8
+ Represents the dependencies of a method, separating resolved and unresolved dependencies.
9
+
10
+ Attributes:
11
+ resolved (Dict[ResolvedDependency, Any]):
12
+ A dictionary mapping resolved dependency descriptors to their corresponding
13
+ resolved instances or values for the method.
14
+ All keys must be ResolvedDependency instances.
15
+ unresolved (List[str]):
16
+ A list of method parameter names or dependency identifiers that could not be resolved.
17
+ Must contain only non-empty strings.
18
+ """
19
+ resolved: Dict[ResolvedDependency, Any]
20
+ unresolved: List[str]
21
+
22
+ def __post_init__(self):
23
+ """
24
+ Validates types and values of attributes during initialization.
25
+
26
+ Raises:
27
+ TypeError: If types don't match the expected:
28
+ - resolved: Dict[ResolvedDependency, Any]
29
+ - unresolved: List[str]
30
+ ValueError: If resolved contains None keys or unresolved contains empty strings
31
+ """
32
+ # Validate 'resolved' is a dict with proper key types
33
+ if not isinstance(self.resolved, dict):
34
+ raise TypeError(
35
+ f"'resolved' must be a dict, got {type(self.resolved).__name__}"
36
+ )
37
+
38
+ for dependency in self.resolved:
39
+ if not isinstance(dependency, ResolvedDependency):
40
+ raise TypeError(
41
+ f"All keys in 'resolved' must be ResolvedDependency instances, "
42
+ f"found {type(dependency).__name__}"
43
+ )
44
+ if dependency is None:
45
+ raise ValueError("'resolved' cannot contain None keys")
46
+
47
+ # Validate 'unresolved' is a list of valid parameter names
48
+ if not isinstance(self.unresolved, list):
49
+ raise TypeError(
50
+ f"'unresolved' must be a list, got {type(self.unresolved).__name__}"
51
+ )
52
+
53
+ for param in self.unresolved:
54
+ if not isinstance(param, str):
55
+ raise TypeError(
56
+ f"All items in 'unresolved' must be strings, "
57
+ f"found {type(param).__name__}"
58
+ )
59
+ if not param.strip():
60
+ raise ValueError("'unresolved' cannot contain empty parameter names")
61
+ if not param.isidentifier():
62
+ raise ValueError(
63
+ f"Parameter name '{param}' must be a valid Python identifier"
64
+ )
@@ -0,0 +1,60 @@
1
+ from dataclasses import dataclass
2
+ from typing import Type, Any
3
+
4
+ @dataclass(frozen=True, kw_only=True)
5
+ class ResolvedDependency:
6
+ """
7
+ Represents a fully resolved dependency with complete type information.
8
+
9
+ Attributes:
10
+ module_name (str):
11
+ The name of the module where the dependency is defined.
12
+ Must be a non-empty string without spaces.
13
+ class_name (str):
14
+ The name of the class/type being resolved.
15
+ Must be a valid Python identifier.
16
+ type (Type):
17
+ The actual Python type object of the resolved dependency.
18
+ full_class_path (str):
19
+ The full import path to the class (e.g., 'package.module.ClassName').
20
+ Must match 'module_name.class_name' pattern.
21
+ """
22
+ module_name: str
23
+ class_name: str
24
+ type: Type[Any]
25
+ full_class_path: str
26
+
27
+ def __post_init__(self):
28
+ """
29
+ Validates all fields during initialization.
30
+
31
+ Raises:
32
+ TypeError: If any field has incorrect type.
33
+ ValueError: If string fields are empty or don't meet format requirements.
34
+ """
35
+ # Validate module_name
36
+ if not isinstance(self.module_name, str):
37
+ raise TypeError(f"module_name must be str, got {type(self.module_name).__name__}")
38
+ if not self.module_name:
39
+ raise ValueError("module_name cannot be empty")
40
+ if any(c.isspace() for c in self.module_name):
41
+ raise ValueError("module_name cannot contain whitespace")
42
+
43
+ # Validate class_name
44
+ if not isinstance(self.class_name, str):
45
+ raise TypeError(f"class_name must be str, got {type(self.class_name).__name__}")
46
+ if not self.class_name.isidentifier():
47
+ raise ValueError(f"class_name must be valid Python identifier, got '{self.class_name}'")
48
+
49
+ # Validate type
50
+ if not isinstance(self.type, type):
51
+ raise TypeError(f"type must be a type object, got {type(self.type).__name__}")
52
+
53
+ # Validate full_class_path
54
+ if not isinstance(self.full_class_path, str):
55
+ raise TypeError(f"full_class_path must be str, got {type(self.full_class_path).__name__}")
56
+ expected_path = f"{self.module_name}.{self.class_name}"
57
+ if self.full_class_path != expected_path:
58
+ raise ValueError(
59
+ f"full_class_path must be '{expected_path}', got '{self.full_class_path}'"
60
+ )
@@ -1,9 +1,9 @@
1
1
  import inspect
2
2
  from typing import Any, Dict, List
3
- from orionis.luminate.support.introspection.dependencies.contracts.reflect_dependencies import IReflectDependencies
4
- from orionis.luminate.support.introspection.dependencies.entities.class_dependencies import ClassDependency
5
- from orionis.luminate.support.introspection.dependencies.entities.method_dependencies import MethodDependency
6
- from orionis.luminate.support.introspection.dependencies.entities.resolved_dependencies import ResolvedDependency
3
+ from orionis.luminate.services.introspection.dependencies.contracts.reflect_dependencies import IReflectDependencies
4
+ from orionis.luminate.services.introspection.dependencies.entities.class_dependencies import ClassDependency
5
+ from orionis.luminate.services.introspection.dependencies.entities.method_dependencies import MethodDependency
6
+ from orionis.luminate.services.introspection.dependencies.entities.resolved_dependencies import ResolvedDependency
7
7
 
8
8
  class ReflectDependencies(IReflectDependencies):
9
9
  """
@@ -1,6 +1,6 @@
1
1
  import traceback
2
2
  from typing import Any, Dict, List, Optional, Union
3
- from orionis.luminate.support.parsers.contracts.exception_parser import IExceptionParser
3
+ from orionis.luminate.services.parsers.contracts.exception_parser import IExceptionParser
4
4
 
5
5
  class ExceptionParser(IExceptionParser):
6
6
  """
@@ -0,0 +1,15 @@
1
+ from orionis.luminate.services.parsers.exception import ExceptionParser
2
+
3
+ class Parser:
4
+
5
+ @staticmethod
6
+ def exception(exception: Exception) -> ExceptionParser:
7
+ """
8
+ Creates and returns an ExceptionParser instance for the given exception.
9
+ Args:
10
+ exception (Exception): The exception to be parsed.
11
+ Returns:
12
+ ExceptionParser: An instance of ExceptionParser initialized with the provided exception.
13
+ """
14
+
15
+ return ExceptionParser(exception)
@@ -1,6 +1,6 @@
1
1
  import os
2
2
  from pathlib import Path
3
- from orionis.luminate.support.paths.contracts.resolver import IResolver
3
+ from orionis.luminate.services.paths.contracts.resolver import IResolver
4
4
 
5
5
  class Resolver(IResolver):
6
6
  """
@@ -1,4 +1,4 @@
1
- from orionis.luminate.support.standard.contracts.std import IStdClass
1
+ from orionis.luminate.services.standard.contracts.std import IStdClass
2
2
 
3
3
  class StdClass(IStdClass):
4
4
  """
@@ -0,0 +1,31 @@
1
+ from abc import ABC, abstractmethod
2
+
3
+ class IImports(ABC):
4
+ """
5
+ Interface for a utility to collect and display information about currently loaded Python modules.
6
+ """
7
+
8
+ @abstractmethod
9
+ def collect(self):
10
+ """
11
+ Collects information about user-defined Python modules currently loaded in sys.modules.
12
+ Returns:
13
+ IImports: The current instance with updated imports information.
14
+ """
15
+ pass
16
+
17
+ @abstractmethod
18
+ def display(self) -> None:
19
+ """
20
+ Displays a formatted table of collected import statements.
21
+ Returns:
22
+ None
23
+ """
24
+ pass
25
+
26
+ @abstractmethod
27
+ def clear(self) -> None:
28
+ """
29
+ Clears the collected imports list.
30
+ """
31
+ pass