orionis 0.204.0__tar.gz → 0.205.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 (218) hide show
  1. {orionis-0.204.0/orionis.egg-info → orionis-0.205.0}/PKG-INFO +1 -1
  2. {orionis-0.204.0 → orionis-0.205.0}/orionis/framework.py +1 -1
  3. orionis-0.205.0/orionis/luminate/support/inspection/reflexion_abstract.py +271 -0
  4. {orionis-0.204.0 → orionis-0.205.0/orionis.egg-info}/PKG-INFO +1 -1
  5. {orionis-0.204.0 → orionis-0.205.0}/orionis.egg-info/SOURCES.txt +1 -2
  6. {orionis-0.204.0 → orionis-0.205.0}/tests/example/test_example.py +0 -1
  7. orionis-0.204.0/tests/support/inspection/test_reflection.py → orionis-0.205.0/tests/support/inspection/test_reflection_instance.py +3 -3
  8. orionis-0.204.0/orionis/luminate/support/inspection/reflexion_abstract.py +0 -23
  9. orionis-0.204.0/tests/main.py +0 -0
  10. {orionis-0.204.0 → orionis-0.205.0}/LICENCE +0 -0
  11. {orionis-0.204.0 → orionis-0.205.0}/MANIFEST.in +0 -0
  12. {orionis-0.204.0 → orionis-0.205.0}/README.md +0 -0
  13. {orionis-0.204.0 → orionis-0.205.0}/orionis/__init__.py +0 -0
  14. {orionis-0.204.0 → orionis-0.205.0}/orionis/console.py +0 -0
  15. {orionis-0.204.0 → orionis-0.205.0}/orionis/installer/__init__.py +0 -0
  16. {orionis-0.204.0 → orionis-0.205.0}/orionis/installer/contracts/__init__.py +0 -0
  17. {orionis-0.204.0 → orionis-0.205.0}/orionis/installer/contracts/manager.py +0 -0
  18. {orionis-0.204.0 → orionis-0.205.0}/orionis/installer/contracts/output.py +0 -0
  19. {orionis-0.204.0 → orionis-0.205.0}/orionis/installer/contracts/setup.py +0 -0
  20. {orionis-0.204.0 → orionis-0.205.0}/orionis/installer/manager.py +0 -0
  21. {orionis-0.204.0 → orionis-0.205.0}/orionis/installer/output.py +0 -0
  22. {orionis-0.204.0 → orionis-0.205.0}/orionis/installer/setup.py +0 -0
  23. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/__init__.py +0 -0
  24. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/application.py +0 -0
  25. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/__init__.py +0 -0
  26. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/app.py +0 -0
  27. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/auth.py +0 -0
  28. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/cache.py +0 -0
  29. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/cors.py +0 -0
  30. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/database.py +0 -0
  31. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/filesystems.py +0 -0
  32. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/logging.py +0 -0
  33. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/mail.py +0 -0
  34. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/queue.py +0 -0
  35. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/config/session.py +0 -0
  36. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/__init__.py +0 -0
  37. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/base/__init__.py +0 -0
  38. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/base/command.py +0 -0
  39. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/command_filter.py +0 -0
  40. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/commands/__init__.py +0 -0
  41. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/commands/cache_clear.py +0 -0
  42. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/commands/help.py +0 -0
  43. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/commands/schedule_work.py +0 -0
  44. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/commands/version.py +0 -0
  45. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/exceptions/__init__.py +0 -0
  46. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/exceptions/cli-orionis-value-error.py +0 -0
  47. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/exceptions/cli_exception.py +0 -0
  48. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/exceptions/cli_runtime_error.py +0 -0
  49. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/exceptions/cli_schedule_exception.py +0 -0
  50. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/kernel.py +0 -0
  51. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/output/__init__.py +0 -0
  52. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/output/console.py +0 -0
  53. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/output/executor.py +0 -0
  54. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/output/progress_bar.py +0 -0
  55. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/output/styles.py +0 -0
  56. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/console/parser.py +0 -0
  57. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/container/__init__.py +0 -0
  58. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/container/container.py +0 -0
  59. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/container/container_integrity.py +0 -0
  60. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/container/exception.py +0 -0
  61. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/container/lifetimes.py +0 -0
  62. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/container/resolve.py +0 -0
  63. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/__init__.py +0 -0
  64. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/application.py +0 -0
  65. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/config/__init__.py +0 -0
  66. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/config/config.py +0 -0
  67. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/__init__.py +0 -0
  68. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/base/__init__.py +0 -0
  69. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/base/command.py +0 -0
  70. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/command_filter.py +0 -0
  71. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/kernel.py +0 -0
  72. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/output/__init__.py +0 -0
  73. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/output/console.py +0 -0
  74. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/output/executor.py +0 -0
  75. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/output/progress_bar.py +0 -0
  76. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/parser.py +0 -0
  77. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/console/task_manager.py +0 -0
  78. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/container/container.py +0 -0
  79. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/container/container_integrity.py +0 -0
  80. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/__init__.py +0 -0
  81. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/commands/__init__.py +0 -0
  82. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/commands/commands_facade.py +0 -0
  83. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/commands/scheduler_facade.py +0 -0
  84. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/config/__init__.py +0 -0
  85. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/config/config_facade.py +0 -0
  86. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/environment/__init__.py +0 -0
  87. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/environment/environment_facade.py +0 -0
  88. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/facade.py +0 -0
  89. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/files/__init__.py +0 -0
  90. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/files/path_facade.py +0 -0
  91. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/log/__init__.py +0 -0
  92. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/log/log_facade.py +0 -0
  93. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/tests/__init__.py +0 -0
  94. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/facades/tests/tests_facade.py +0 -0
  95. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/__init__.py +0 -0
  96. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/bootstraper.py +0 -0
  97. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/config/__init__.py +0 -0
  98. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/config/config_bootstrapper.py +0 -0
  99. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/console/__init__.py +0 -0
  100. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/console/command_bootstrapper.py +0 -0
  101. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/environment/__init__.py +0 -0
  102. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/environment/environment_bootstrapper.py +0 -0
  103. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/providers/__init__.py +0 -0
  104. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/foundation/providers/service_providers_bootstrapper.py +0 -0
  105. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/providers/__init__.py +0 -0
  106. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/providers/service_provider.py +0 -0
  107. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/__init__.py +0 -0
  108. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/commands/__init__.py +0 -0
  109. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/commands/reactor_commands_service.py +0 -0
  110. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/commands/schedule_service.py +0 -0
  111. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/config/__init__.py +0 -0
  112. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/config/config_service.py +0 -0
  113. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/environment/__init__.py +0 -0
  114. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/environment/environment_service.py +0 -0
  115. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/files/__init__.py +0 -0
  116. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/files/path_resolver_service.py +0 -0
  117. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/log/__init__.py +0 -0
  118. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/services/log/log_service.py +0 -0
  119. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/support/exception_parse.py +0 -0
  120. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/support/reflection.py +0 -0
  121. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/contracts/support/std.py +0 -0
  122. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/__init__.py +0 -0
  123. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/app_facade.py +0 -0
  124. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/commands/__init__.py +0 -0
  125. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/commands/commands_facade.py +0 -0
  126. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/commands/scheduler_facade.py +0 -0
  127. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/config/__init__.py +0 -0
  128. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/config/config_facade.py +0 -0
  129. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/environment/__init__.py +0 -0
  130. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/environment/environment_facade.py +0 -0
  131. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/files/__init__.py +0 -0
  132. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/files/path_facade.py +0 -0
  133. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/log/__init__.py +0 -0
  134. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/log/log_facade.py +0 -0
  135. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/tests/__init__.py +0 -0
  136. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/facades/tests/tests_facade.py +0 -0
  137. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/__init__.py +0 -0
  138. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/config/__init__.py +0 -0
  139. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/config/config_bootstrapper.py +0 -0
  140. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/console/__init__.py +0 -0
  141. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/console/command_bootstrapper.py +0 -0
  142. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/environment/__init__.py +0 -0
  143. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/environment/environment_bootstrapper.py +0 -0
  144. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/exceptions/__init__.py +0 -0
  145. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/exceptions/exception_bootstrapper.py +0 -0
  146. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/exceptions/exception_providers.py +0 -0
  147. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/providers/__init__.py +0 -0
  148. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/foundation/providers/service_providers_bootstrapper.py +0 -0
  149. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/patterns/__init__.py +0 -0
  150. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/patterns/singleton.py +0 -0
  151. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/__init__.py +0 -0
  152. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/commands/__init__.py +0 -0
  153. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/commands/reactor_commands_service_provider.py +0 -0
  154. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/commands/scheduler_provider.py +0 -0
  155. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/config/__init__.py +0 -0
  156. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/config/config_service_provider.py +0 -0
  157. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/environment/__init__.py +0 -0
  158. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/environment/environment__service_provider.py +0 -0
  159. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/files/__init__.py +0 -0
  160. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/files/paths_provider.py +0 -0
  161. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/log/__init__.py +0 -0
  162. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/log/log_service_provider.py +0 -0
  163. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/providers/service_provider.py +0 -0
  164. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/__init__.py +0 -0
  165. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/commands/__init__.py +0 -0
  166. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/commands/reactor_commands_service.py +0 -0
  167. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/commands/scheduler_service.py +0 -0
  168. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/config/__init__.py +0 -0
  169. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/config/config_service.py +0 -0
  170. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/environment/__init__.py +0 -0
  171. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/environment/environment_service.py +0 -0
  172. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/files/__init__.py +0 -0
  173. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/files/path_resolver_service.py +0 -0
  174. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/log/__init__.py +0 -0
  175. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/services/log/log_service.py +0 -0
  176. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/asyn_run.py +0 -0
  177. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/dot_dict.py +0 -0
  178. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/exception_parse.py +0 -0
  179. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/__init__.py +0 -0
  180. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/container_integrity.py +0 -0
  181. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/functions.py +0 -0
  182. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/reflection.py +0 -0
  183. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/reflexion_concrete.py +0 -0
  184. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/reflexion_concrete_with_abstract.py +0 -0
  185. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/reflexion_instance.py +0 -0
  186. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/reflexion_instance_with_abstract.py +0 -0
  187. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/reflexion_module.py +0 -0
  188. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/inspection/reflexion_module_with_classname.py +0 -0
  189. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/reflection.py +0 -0
  190. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/support/std.py +0 -0
  191. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/test/__init__.py +0 -0
  192. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/test/test_exception.py +0 -0
  193. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/test/test_output.py +0 -0
  194. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/test/test_result.py +0 -0
  195. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/test/test_status.py +0 -0
  196. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/test/tests.py +0 -0
  197. {orionis-0.204.0 → orionis-0.205.0}/orionis/luminate/test/unit_test.py +0 -0
  198. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/ascii/icon.ascii +0 -0
  199. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/ascii/info.ascii +0 -0
  200. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/bg/galaxy.jpg +0 -0
  201. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/favicon/OrionisFrameworkFavicon.png +0 -0
  202. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/logos/OrionisFramework.jpg +0 -0
  203. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/logos/OrionisFramework.png +0 -0
  204. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/logos/OrionisFramework.psd +0 -0
  205. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/logos/OrionisFramework2.png +0 -0
  206. {orionis-0.204.0 → orionis-0.205.0}/orionis/static/logos/OrionisFramework3.png +0 -0
  207. {orionis-0.204.0 → orionis-0.205.0}/orionis.egg-info/dependency_links.txt +0 -0
  208. {orionis-0.204.0 → orionis-0.205.0}/orionis.egg-info/entry_points.txt +0 -0
  209. {orionis-0.204.0 → orionis-0.205.0}/orionis.egg-info/requires.txt +0 -0
  210. {orionis-0.204.0 → orionis-0.205.0}/orionis.egg-info/top_level.txt +0 -0
  211. {orionis-0.204.0 → orionis-0.205.0}/setup.cfg +0 -0
  212. {orionis-0.204.0 → orionis-0.205.0}/setup.py +0 -0
  213. {orionis-0.204.0 → orionis-0.205.0}/tests/__init__.py +0 -0
  214. {orionis-0.204.0 → orionis-0.205.0}/tests/example/__init__.py +0 -0
  215. {orionis-0.204.0 → orionis-0.205.0}/tests/support/__init__.py +0 -0
  216. {orionis-0.204.0 → orionis-0.205.0}/tests/support/inspection/__init__.py +0 -0
  217. {orionis-0.204.0 → orionis-0.205.0}/tests/support/inspection/fakes/__init__.py +0 -0
  218. {orionis-0.204.0 → orionis-0.205.0}/tests/support/inspection/fakes/fake_reflection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.204.0
3
+ Version: 0.205.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.204.0"
8
+ VERSION = "0.205.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -0,0 +1,271 @@
1
+ from typing import Any, Type, Dict, List, Tuple, Callable, Optional, TypeVar, Set
2
+ import inspect
3
+ import abc
4
+ from functools import wraps
5
+
6
+ ABC = TypeVar('ABC', bound=abc.ABC)
7
+
8
+ class ReflexionAbstract:
9
+ """A reflection object encapsulating an abstract class.
10
+
11
+ Parameters
12
+ ----------
13
+ abstract : Type[ABC]
14
+ The abstract class being reflected upon
15
+
16
+ Attributes
17
+ ----------
18
+ _abstract : Type[ABC]
19
+ The encapsulated abstract class
20
+ """
21
+
22
+ def __init__(self, abstract: Type[ABC]) -> None:
23
+ """Initialize with the abstract class."""
24
+ self._abstract = abstract
25
+
26
+ def getClassName(self) -> str:
27
+ """Get the name of the abstract class.
28
+
29
+ Returns
30
+ -------
31
+ str
32
+ The name of the abstract class
33
+ """
34
+ return self._abstract.__name__
35
+
36
+ def getModuleName(self) -> str:
37
+ """Get the name of the module where the abstract class is defined.
38
+
39
+ Returns
40
+ -------
41
+ str
42
+ The module name
43
+ """
44
+ return self._abstract.__module__
45
+
46
+ def getAbstractMethods(self) -> Set[str]:
47
+ """Get all abstract method names required by the class.
48
+
49
+ Returns
50
+ -------
51
+ Set[str]
52
+ Set of abstract method names
53
+ """
54
+ return {name for name, _ in self._abstract.__abstractmethods__}
55
+
56
+ def getConcreteMethods(self) -> Dict[str, Callable]:
57
+ """Get all concrete methods implemented in the abstract class.
58
+
59
+ Returns
60
+ -------
61
+ Dict[str, Callable]
62
+ Dictionary of method names and their implementations
63
+ """
64
+ return {
65
+ name: member for name, member in inspect.getmembers(
66
+ self._abstract,
67
+ predicate=inspect.isfunction
68
+ ) if not name.startswith('_') and name not in self.getAbstractMethods()
69
+ }
70
+
71
+ def getStaticMethods(self) -> List[str]:
72
+ """Get all static method names of the abstract class.
73
+
74
+ Returns
75
+ -------
76
+ List[str]
77
+ List of static method names
78
+ """
79
+ return [
80
+ name for name in dir( self._abstract)
81
+ if not name.startswith('_') and
82
+ isinstance(inspect.getattr_static( self._abstract, name), staticmethod)
83
+ ]
84
+
85
+ def getClassMethods(self) -> List[str]:
86
+ """Get all class method names of the abstract class.
87
+
88
+ Returns
89
+ -------
90
+ List[str]
91
+ List of class method names
92
+ """
93
+ return [
94
+ name for name, member in inspect.getmembers(
95
+ self._abstract,
96
+ predicate=lambda x: isinstance(x, classmethod))
97
+ if not name.startswith('_')
98
+ ]
99
+
100
+ def getProperties(self) -> List[str]:
101
+ """Get all property names of the abstract class.
102
+
103
+ Returns
104
+ -------
105
+ List[str]
106
+ List of property names
107
+ """
108
+ return [
109
+ name for name, member in inspect.getmembers(
110
+ self._abstract,
111
+ predicate=lambda x: isinstance(x, property))
112
+ if not name.startswith('_')
113
+ ]
114
+
115
+ def getMethodSignature(self, methodName: str) -> inspect.Signature:
116
+ """Get the signature of a method.
117
+
118
+ Parameters
119
+ ----------
120
+ methodName : str
121
+ Name of the method
122
+
123
+ Returns
124
+ -------
125
+ inspect.Signature
126
+ The method signature
127
+
128
+ Raises
129
+ ------
130
+ AttributeError
131
+ If the method doesn't exist
132
+ """
133
+ method = getattr(self._abstract, methodName)
134
+ return inspect.signature(method)
135
+
136
+ def getDocstring(self) -> Optional[str]:
137
+ """Get the docstring of the abstract class.
138
+
139
+ Returns
140
+ -------
141
+ Optional[str]
142
+ The class docstring
143
+ """
144
+ return self._abstract.__doc__
145
+
146
+ def getBaseAbstractClasses(self) -> Tuple[Type[ABC], ...]:
147
+ """Get the abstract base classes.
148
+
149
+ Returns
150
+ -------
151
+ Tuple[Type[ABC], ...]
152
+ Tuple of abstract base classes
153
+ """
154
+ return tuple(
155
+ base for base in self._abstract.__bases__
156
+ if inspect.isabstract(base)
157
+ )
158
+
159
+ def getInterfaceMethods(self) -> Dict[str, inspect.Signature]:
160
+ """Get all abstract methods with their signatures.
161
+
162
+ Returns
163
+ -------
164
+ Dict[str, inspect.Signature]
165
+ Dictionary of method names and their signatures
166
+ """
167
+ return {
168
+ name: inspect.signature(getattr(self._abstract, name))
169
+ for name in self.getAbstractMethods()
170
+ }
171
+
172
+ def isSubclassOf(self, abstract_class: Type[ABC]) -> bool:
173
+ """Check if the abstract class inherits from another abstract class.
174
+
175
+ Parameters
176
+ ----------
177
+ abstract_class : Type[ABC]
178
+ The abstract class to check against
179
+
180
+ Returns
181
+ -------
182
+ bool
183
+ True if this is a subclass
184
+ """
185
+ return issubclass(self._abstract, abstract_class)
186
+
187
+ def getSourceCode(self) -> Optional[str]:
188
+ """Get the source code of the abstract class.
189
+
190
+ Returns
191
+ -------
192
+ Optional[str]
193
+ The source code if available
194
+ """
195
+ try:
196
+ return inspect.getsource(self._abstract)
197
+ except (TypeError, OSError):
198
+ return None
199
+
200
+ def getFileLocation(self) -> Optional[str]:
201
+ """Get the file location where the abstract class is defined.
202
+
203
+ Returns
204
+ -------
205
+ Optional[str]
206
+ The file path if available
207
+ """
208
+ try:
209
+ return inspect.getfile(self._abstract)
210
+ except (TypeError, OSError):
211
+ return None
212
+
213
+ def getAnnotations(self) -> Dict[str, Any]:
214
+ """Get type annotations of the abstract class.
215
+
216
+ Returns
217
+ -------
218
+ Dict[str, Any]
219
+ Dictionary of attribute names and their type annotations
220
+ """
221
+ return self._abstract.__annotations__
222
+
223
+ def getDecorators(self, method_name: str) -> List[Callable]:
224
+ """Get decorators applied to a method.
225
+
226
+ Parameters
227
+ ----------
228
+ method_name : str
229
+ Name of the method
230
+
231
+ Returns
232
+ -------
233
+ List[Callable]
234
+ List of decorator functions
235
+ """
236
+ method = getattr(self._abstract, method_name)
237
+ decorators = []
238
+
239
+ if hasattr(method, '__wrapped__'):
240
+ # Unwrap decorated functions
241
+ while hasattr(method, '__wrapped__'):
242
+ decorators.append(method)
243
+ method = method.__wrapped__
244
+
245
+ return decorators
246
+
247
+ def isProtocol(self) -> bool:
248
+ """Check if the abstract class is a Protocol.
249
+
250
+ Returns
251
+ -------
252
+ bool
253
+ True if this is a Protocol class
254
+ """
255
+ return hasattr(self._abstract, '_is_protocol') and self._abstract._is_protocol
256
+
257
+ def getRequiredAttributes(self) -> Set[str]:
258
+ """For Protocol classes, get required attributes.
259
+
260
+ Returns
261
+ -------
262
+ Set[str]
263
+ Set of required attribute names
264
+ """
265
+ if not self.isProtocol():
266
+ return set()
267
+
268
+ return {
269
+ name for name in dir(self._abstract)
270
+ if not name.startswith('_') and not inspect.isfunction(getattr(self._abstract, name))
271
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.204.0
3
+ Version: 0.205.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
@@ -205,11 +205,10 @@ orionis/static/logos/OrionisFramework.psd
205
205
  orionis/static/logos/OrionisFramework2.png
206
206
  orionis/static/logos/OrionisFramework3.png
207
207
  tests/__init__.py
208
- tests/main.py
209
208
  tests/example/__init__.py
210
209
  tests/example/test_example.py
211
210
  tests/support/__init__.py
212
211
  tests/support/inspection/__init__.py
213
- tests/support/inspection/test_reflection.py
212
+ tests/support/inspection/test_reflection_instance.py
214
213
  tests/support/inspection/fakes/__init__.py
215
214
  tests/support/inspection/fakes/fake_reflection.py
@@ -1,5 +1,4 @@
1
1
  import unittest
2
-
3
2
  class TestExample(unittest.TestCase):
4
3
  """
5
4
  Unit tests for basic example functionality.
@@ -132,8 +132,8 @@ class TestReflection(unittest.TestCase, PrinterInTest):
132
132
  """Test that Reflection.instance returns an instance of ReflexionInstance."""
133
133
 
134
134
  # Create a new macro function
135
- def myMacro(cls, num):
136
- return cls.public_attr + num
135
+ def myMacro(cls:FakeClass, num):
136
+ return cls.instance_method(10, 12) + num
137
137
 
138
138
  # Create an instance of FakeClass and set the macro as an attribute
139
139
  reflex = Reflection.instance(FakeClass())
@@ -144,4 +144,4 @@ class TestReflection(unittest.TestCase, PrinterInTest):
144
144
 
145
145
  # Call the macro method and check the result
146
146
  result = reflex.callMethod("myMacro", reflex._instance, 3)
147
- self.assertEqual(result, 45)
147
+ self.assertEqual(result, 25)
@@ -1,23 +0,0 @@
1
- from typing import Type, TypeVar
2
- import abc
3
-
4
- T = TypeVar('T')
5
- ABC = TypeVar('ABC', bound=abc.ABC)
6
-
7
- class ReflexionAbstract:
8
- """A reflection object encapsulating an abstract class.
9
-
10
- Parameters
11
- ----------
12
- abstract : Type[ABC]
13
- The abstract class being reflected upon
14
-
15
- Attributes
16
- ----------
17
- _abstract : Type[ABC]
18
- The encapsulated abstract class
19
- """
20
-
21
- def __init__(self, abstract: Type[ABC]) -> None:
22
- """Initialize with the abstract class."""
23
- self._abstract = abstract
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes