orionis 0.331.0__tar.gz → 0.333.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 (446) hide show
  1. {orionis-0.331.0/orionis.egg-info → orionis-0.333.0}/PKG-INFO +1 -1
  2. {orionis-0.331.0 → orionis-0.333.0}/orionis/metadata/framework.py +1 -1
  3. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/coroutines.py +10 -2
  4. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/dot_env.py +79 -79
  5. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/types.py +49 -49
  6. orionis-0.333.0/orionis/services/introspection/inspection.py +246 -0
  7. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/instances/reflection_instance.py +28 -0
  8. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/reflection.py +40 -22
  9. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/suite/test_unit.py +17 -17
  10. {orionis-0.331.0 → orionis-0.333.0/orionis.egg-info}/PKG-INFO +1 -1
  11. {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/SOURCES.txt +1 -0
  12. {orionis-0.331.0 → orionis-0.333.0}/setup.py +1 -4
  13. {orionis-0.331.0 → orionis-0.333.0}/LICENCE +0 -0
  14. {orionis-0.331.0 → orionis-0.333.0}/MANIFEST.in +0 -0
  15. {orionis-0.331.0 → orionis-0.333.0}/README.md +0 -0
  16. {orionis-0.331.0 → orionis-0.333.0}/orionis/__init__.py +0 -0
  17. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/__init__.py +0 -0
  18. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/application.py +0 -0
  19. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/config/__init__.py +0 -0
  20. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/config/config.py +0 -0
  21. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/__init__.py +0 -0
  22. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/base/__init__.py +0 -0
  23. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/base/command.py +0 -0
  24. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/command_filter.py +0 -0
  25. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/kernel.py +0 -0
  26. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/output/__init__.py +0 -0
  27. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/output/console.py +0 -0
  28. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/output/executor.py +0 -0
  29. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/output/progress_bar.py +0 -0
  30. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/parser.py +0 -0
  31. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/task_manager.py +0 -0
  32. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/__init__.py +0 -0
  33. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/commands/__init__.py +0 -0
  34. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/commands/commands_facade.py +0 -0
  35. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/commands/scheduler_facade.py +0 -0
  36. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/config/__init__.py +0 -0
  37. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/config/config_facade.py +0 -0
  38. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/environment/__init__.py +0 -0
  39. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/environment/environment_facade.py +0 -0
  40. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/facade.py +0 -0
  41. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/files/__init__.py +0 -0
  42. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/files/path_facade.py +0 -0
  43. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/log/__init__.py +0 -0
  44. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/log/log_facade.py +0 -0
  45. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/tests/__init__.py +0 -0
  46. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/tests/tests_facade.py +0 -0
  47. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/__init__.py +0 -0
  48. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/bootstraper.py +0 -0
  49. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/config/__init__.py +0 -0
  50. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/config/config_bootstrapper.py +0 -0
  51. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/console/__init__.py +0 -0
  52. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/console/command_bootstrapper.py +0 -0
  53. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/environment/__init__.py +0 -0
  54. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/environment/environment_bootstrapper.py +0 -0
  55. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/providers/__init__.py +0 -0
  56. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/providers/service_providers_bootstrapper.py +0 -0
  57. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/providers/__init__.py +0 -0
  58. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/providers/service_provider.py +0 -0
  59. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/__init__.py +0 -0
  60. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/commands/__init__.py +0 -0
  61. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/commands/reactor_commands_service.py +0 -0
  62. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/commands/schedule_service.py +0 -0
  63. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/config/__init__.py +0 -0
  64. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/config/config_service.py +0 -0
  65. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/environment/__init__.py +0 -0
  66. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/environment/environment_service.py +0 -0
  67. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/files/__init__.py +0 -0
  68. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/files/path_resolver_service.py +0 -0
  69. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/log/__init__.py +0 -0
  70. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/log/log_service.py +0 -0
  71. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/support/exception_parse.py +0 -0
  72. {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/support/reflection.py +0 -0
  73. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/__init__.py +0 -0
  74. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/console/__init__.py +0 -0
  75. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/console/command_bootstrapper.py +0 -0
  76. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/environment/__init__.py +0 -0
  77. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/environment/environment_bootstrapper.py +0 -0
  78. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/exceptions/__init__.py +0 -0
  79. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/exceptions/exception_bootstrapper.py +0 -0
  80. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/exceptions/exception_providers.py +0 -0
  81. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/foundation/config/__init__.py +0 -0
  82. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/foundation/config/config_bootstrapper.py +0 -0
  83. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/providers/__init__.py +0 -0
  84. {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/providers/service_providers_bootstrapper.py +0 -0
  85. {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/__init__.py +0 -0
  86. {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/commands/__init__.py +0 -0
  87. {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/commands/reactor_commands_service.py +0 -0
  88. {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/commands/scheduler_service.py +0 -0
  89. {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/config/__init__.py +0 -0
  90. {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/config/config_service.py +0 -0
  91. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/__init__.py +0 -0
  92. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/base/__init__.py +0 -0
  93. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/base/command.py +0 -0
  94. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/command_filter.py +0 -0
  95. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/__init__.py +0 -0
  96. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/cache_clear.py +0 -0
  97. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/help.py +0 -0
  98. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/schedule_work.py +0 -0
  99. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/version.py +0 -0
  100. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/dumper/__init__.py +0 -0
  101. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/dumper/dump_die.py +0 -0
  102. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/__init__.py +0 -0
  103. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/cli-orionis-value-error.py +0 -0
  104. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/cli_exception.py +0 -0
  105. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
  106. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
  107. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/kernel.py +0 -0
  108. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/__init__.py +0 -0
  109. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/console.py +0 -0
  110. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/executor.py +0 -0
  111. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/progress_bar.py +0 -0
  112. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/styles.py +0 -0
  113. {orionis-0.331.0 → orionis-0.333.0}/orionis/console/parser.py +0 -0
  114. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/container.py +0 -0
  115. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/context/__init__.py +0 -0
  116. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/context/manager.py +0 -0
  117. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/context/scope.py +0 -0
  118. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/contracts/container.py +0 -0
  119. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/contracts/service_provider.py +0 -0
  120. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/entities/binding.py +0 -0
  121. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/enums/lifetimes.py +0 -0
  122. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/exceptions/attribute_error.py +0 -0
  123. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/exceptions/container_exception.py +0 -0
  124. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/exceptions/type_error_exception.py +0 -0
  125. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/exceptions/value_exception.py +0 -0
  126. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/facades/__init__.py +0 -0
  127. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/facades/facade.py +0 -0
  128. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/providers/__init__.py +0 -0
  129. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/providers/service_provider.py +0 -0
  130. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/resolver.py +0 -0
  131. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/__init__.py +0 -0
  132. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/implements.py +0 -0
  133. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_abstract_class.py +0 -0
  134. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_callable.py +0 -0
  135. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_concrete_class.py +0 -0
  136. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_instance.py +0 -0
  137. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_not_subclass.py +0 -0
  138. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_subclass.py +0 -0
  139. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_valid_alias.py +0 -0
  140. {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/lifetime.py +0 -0
  141. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/__init__.py +0 -0
  142. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/application.py +0 -0
  143. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/__init__.py +0 -0
  144. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/__init__.py +0 -0
  145. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
  146. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/entities/app.py +0 -0
  147. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  148. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
  149. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  150. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/auth/__init__.py +0 -0
  151. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
  152. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  153. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/__init__.py +0 -0
  154. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
  155. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  156. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  157. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  158. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  159. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  160. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cors/__init__.py +0 -0
  161. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
  162. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  163. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/__init__.py +0 -0
  164. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
  165. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  166. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/database.py +0 -0
  167. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  168. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  169. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  170. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  171. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  172. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  173. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  174. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  175. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  176. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  177. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  178. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  179. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  180. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  181. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  182. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  183. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
  184. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
  185. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  186. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  187. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  188. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  189. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  190. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/__init__.py +0 -0
  191. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
  192. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  193. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  194. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  195. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  196. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  197. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  198. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  199. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  200. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  201. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  202. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/__init__.py +0 -0
  203. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
  204. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  205. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  206. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  207. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  208. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/__init__.py +0 -0
  209. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
  210. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  211. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  212. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  213. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  214. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/roots/__init__.py +0 -0
  215. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/roots/paths.py +0 -0
  216. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/__init__.py +0 -0
  217. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
  218. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/entities/session.py +0 -0
  219. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  220. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  221. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  222. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/startup.py +0 -0
  223. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/__init__.py +0 -0
  224. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
  225. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
  226. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  227. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/enums/test_mode.py +0 -0
  228. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/contracts/__init__.py +0 -0
  229. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/contracts/config.py +0 -0
  230. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/exceptions/__init__.py +0 -0
  231. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/exceptions/integrity.py +0 -0
  232. {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/exceptions/value_error.py +0 -0
  233. {orionis-0.331.0 → orionis-0.333.0}/orionis/metadata/__init__.py +0 -0
  234. {orionis-0.331.0 → orionis-0.333.0}/orionis/metadata/package.py +0 -0
  235. {orionis-0.331.0 → orionis-0.333.0}/orionis/patterns/__init__.py +0 -0
  236. {orionis-0.331.0 → orionis-0.333.0}/orionis/patterns/singleton/__init__.py +0 -0
  237. {orionis-0.331.0 → orionis-0.333.0}/orionis/patterns/singleton/meta_class.py +0 -0
  238. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/__init__.py +0 -0
  239. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/__init__.py +0 -0
  240. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
  241. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  242. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  243. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/exceptions/coroutine_exception.py +0 -0
  244. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/__init__.py +0 -0
  245. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/contracts/__init__.py +0 -0
  246. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/contracts/env.py +0 -0
  247. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/contracts/types.py +0 -0
  248. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/env.py +0 -0
  249. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  250. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/exceptions/environment_value_error.py +0 -0
  251. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/exceptions/environment_value_exception.py +0 -0
  252. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/__init__.py +0 -0
  253. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/abstract/__init__.py +0 -0
  254. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/abstract/reflection_abstract.py +0 -0
  255. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/callables/__init__.py +0 -0
  256. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/callables/reflection_callable.py +0 -0
  257. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/concretes/__init__.py +0 -0
  258. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/concretes/reflection_concrete.py +0 -0
  259. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/__init__.py +0 -0
  260. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflect_dependencies.py +0 -0
  261. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflection_abstract.py +0 -0
  262. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflection_concrete.py +0 -0
  263. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflection_instance.py +0 -0
  264. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflection_module.py +0 -0
  265. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
  266. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
  267. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/callable_dependencies.py +0 -0
  268. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/class_dependencies.py +0 -0
  269. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/method_dependencies.py +0 -0
  270. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/resolved_dependencies.py +0 -0
  271. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/reflect_dependencies.py +0 -0
  272. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  273. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/exceptions/reflection_attribute_error.py +0 -0
  274. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/exceptions/reflection_type_error.py +0 -0
  275. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/exceptions/reflection_value_error.py +0 -0
  276. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/instances/__init__.py +0 -0
  277. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/modules/__init__.py +0 -0
  278. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/modules/reflection_module.py +0 -0
  279. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/log/__init__.py +0 -0
  280. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/log/log_service.py +0 -0
  281. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/__init__.py +0 -0
  282. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/contracts/__init__.py +0 -0
  283. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/contracts/exception_parser.py +0 -0
  284. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/exceptions/__init__.py +0 -0
  285. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/exceptions/exception_parser.py +0 -0
  286. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/serializer.py +0 -0
  287. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/__init__.py +0 -0
  288. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/contracts/__init__.py +0 -0
  289. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/contracts/resolver.py +0 -0
  290. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/exceptions/__init__.py +0 -0
  291. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/exceptions/not_found_exceptions.py +0 -0
  292. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/exceptions/path_value_exceptions.py +0 -0
  293. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/resolver.py +0 -0
  294. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/__init__.py +0 -0
  295. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/contracts/__init__.py +0 -0
  296. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/contracts/imports.py +0 -0
  297. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/contracts/workers.py +0 -0
  298. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/imports.py +0 -0
  299. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/runtime_imports.py +0 -0
  300. {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/workers.py +0 -0
  301. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/__init__.py +0 -0
  302. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/__init__.py +0 -0
  303. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/contracts/__init__.py +0 -0
  304. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/contracts/std.py +0 -0
  305. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  306. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/exceptions/std_value_exception.py +0 -0
  307. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/std.py +0 -0
  308. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/wrapper/__init__.py +0 -0
  309. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/wrapper/dicts/__init__.py +0 -0
  310. {orionis-0.331.0 → orionis-0.333.0}/orionis/support/wrapper/dicts/dot_dict.py +0 -0
  311. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/__init__.py +0 -0
  312. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/cases/__init__.py +0 -0
  313. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/cases/test_async.py +0 -0
  314. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/cases/test_case.py +0 -0
  315. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/cases/test_sync.py +0 -0
  316. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/__init__.py +0 -0
  317. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/dumper.py +0 -0
  318. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/history.py +0 -0
  319. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/printer.py +0 -0
  320. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/test_unit.py +0 -0
  321. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/entities/__init__.py +0 -0
  322. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/entities/test_result.py +0 -0
  323. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/enums/__init__.py +0 -0
  324. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/enums/test_mode.py +0 -0
  325. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/enums/test_status.py +0 -0
  326. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/__init__.py +0 -0
  327. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_config_exception.py +0 -0
  328. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_failure_exception.py +0 -0
  329. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_persistence_error.py +0 -0
  330. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_runtime_error.py +0 -0
  331. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_value_error.py +0 -0
  332. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/logs/__init__.py +0 -0
  333. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/logs/history.py +0 -0
  334. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/output/__init__.py +0 -0
  335. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/output/dumper.py +0 -0
  336. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/output/printer.py +0 -0
  337. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/suite/__init__.py +0 -0
  338. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/test_suite.py +0 -0
  339. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/view/__init__.py +0 -0
  340. {orionis-0.331.0 → orionis-0.333.0}/orionis/test/view/render.py +0 -0
  341. {orionis-0.331.0 → orionis-0.333.0}/orionis/unittesting.py +0 -0
  342. {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/dependency_links.txt +0 -0
  343. {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/requires.txt +0 -0
  344. {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/top_level.txt +0 -0
  345. {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/zip-safe +0 -0
  346. {orionis-0.331.0 → orionis-0.333.0}/setup.cfg +0 -0
  347. {orionis-0.331.0 → orionis-0.333.0}/tests/__init__.py +0 -0
  348. {orionis-0.331.0 → orionis-0.333.0}/tests/example/__init__.py +0 -0
  349. {orionis-0.331.0 → orionis-0.333.0}/tests/example/test_example.py +0 -0
  350. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/__init__.py +0 -0
  351. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/__init__.py +0 -0
  352. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/app/__init__.py +0 -0
  353. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
  354. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/auth/__init__.py +0 -0
  355. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
  356. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cache/__init__.py +0 -0
  357. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
  358. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
  359. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
  360. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cors/__init__.py +0 -0
  361. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
  362. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/__init__.py +0 -0
  363. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
  364. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
  365. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
  366. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
  367. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
  368. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
  369. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/__init__.py +0 -0
  370. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
  371. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
  372. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
  373. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
  374. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
  375. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/__init__.py +0 -0
  376. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
  377. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
  378. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
  379. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
  380. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
  381. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
  382. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
  383. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
  384. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/__init__.py +0 -0
  385. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
  386. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
  387. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
  388. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
  389. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/queue/__init__.py +0 -0
  390. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
  391. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
  392. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
  393. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/root/__init__.py +0 -0
  394. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
  395. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/session/__init__.py +0 -0
  396. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
  397. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/startup/__init__.py +0 -0
  398. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
  399. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/testing/__init__.py +0 -0
  400. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
  401. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/exceptions/__init__.py +0 -0
  402. {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/exceptions/test_foundation_config_exceptions.py +0 -0
  403. {orionis-0.331.0 → orionis-0.333.0}/tests/metadata/__init__.py +0 -0
  404. {orionis-0.331.0 → orionis-0.333.0}/tests/metadata/test_metadata_framework.py +0 -0
  405. {orionis-0.331.0 → orionis-0.333.0}/tests/metadata/test_metadata_package.py +0 -0
  406. {orionis-0.331.0 → orionis-0.333.0}/tests/patterns/__init__.py +0 -0
  407. {orionis-0.331.0 → orionis-0.333.0}/tests/patterns/singleton/__init__.py +0 -0
  408. {orionis-0.331.0 → orionis-0.333.0}/tests/patterns/singleton/test_patterns_singleton.py +0 -0
  409. {orionis-0.331.0 → orionis-0.333.0}/tests/services/__init__.py +0 -0
  410. {orionis-0.331.0 → orionis-0.333.0}/tests/services/asynchrony/__init__.py +0 -0
  411. {orionis-0.331.0 → orionis-0.333.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
  412. {orionis-0.331.0 → orionis-0.333.0}/tests/services/environment/__init__.py +0 -0
  413. {orionis-0.331.0 → orionis-0.333.0}/tests/services/environment/test_services_environment.py +0 -0
  414. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/__init__.py +0 -0
  415. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/__init__.py +0 -0
  416. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/mocks/__init__.py +0 -0
  417. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/mocks/mock_user.py +0 -0
  418. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/mocks/mock_user_controller.py +0 -0
  419. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/mocks/mock_users_permissions.py +0 -0
  420. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/test_reflect_dependencies.py +0 -0
  421. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/__init__.py +0 -0
  422. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/mock/__init__.py +0 -0
  423. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/mock/fake_reflect_instance.py +0 -0
  424. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_abstract.py +0 -0
  425. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_callable.py +0 -0
  426. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_concrete.py +0 -0
  427. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_instance.py +0 -0
  428. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_module.py +0 -0
  429. {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/test_reflection.py +0 -0
  430. {orionis-0.331.0 → orionis-0.333.0}/tests/services/parsers/__init__.py +0 -0
  431. {orionis-0.331.0 → orionis-0.333.0}/tests/services/parsers/mocks/__init__.py +0 -0
  432. {orionis-0.331.0 → orionis-0.333.0}/tests/services/parsers/mocks/mock_custom_error.py +0 -0
  433. {orionis-0.331.0 → orionis-0.333.0}/tests/services/parsers/test_services_parser_exceptions.py +0 -0
  434. {orionis-0.331.0 → orionis-0.333.0}/tests/services/path/__init__.py +0 -0
  435. {orionis-0.331.0 → orionis-0.333.0}/tests/services/path/test_services_resolver.py +0 -0
  436. {orionis-0.331.0 → orionis-0.333.0}/tests/services/system/__init__.py +0 -0
  437. {orionis-0.331.0 → orionis-0.333.0}/tests/services/system/test_services_system_imports.py +0 -0
  438. {orionis-0.331.0 → orionis-0.333.0}/tests/services/system/test_services_system_workers.py +0 -0
  439. {orionis-0.331.0 → orionis-0.333.0}/tests/support/__init__.py +0 -0
  440. {orionis-0.331.0 → orionis-0.333.0}/tests/support/standard/__init__.py +0 -0
  441. {orionis-0.331.0 → orionis-0.333.0}/tests/support/standard/test_services_std.py +0 -0
  442. {orionis-0.331.0 → orionis-0.333.0}/tests/support/wrapper/__init__.py +0 -0
  443. {orionis-0.331.0 → orionis-0.333.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
  444. {orionis-0.331.0 → orionis-0.333.0}/tests/testing/__init__.py +0 -0
  445. {orionis-0.331.0 → orionis-0.333.0}/tests/testing/test_testing_result.py +0 -0
  446. {orionis-0.331.0 → orionis-0.333.0}/tests/testing/test_testing_unit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.331.0
3
+ Version: 0.333.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.331.0"
8
+ VERSION = "0.333.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -1,8 +1,8 @@
1
1
  import asyncio
2
- from inspect import iscoroutine
3
2
  from typing import Any, Coroutine as TypingCoroutine, TypeVar, Union
4
3
  from orionis.services.asynchrony.contracts.coroutines import ICoroutine
5
4
  from orionis.services.asynchrony.exceptions.coroutine_exception import OrionisCoroutineException
5
+ from orionis.services.introspection.inspection import Inspection
6
6
 
7
7
  T = TypeVar("T")
8
8
 
@@ -36,10 +36,12 @@ class Coroutine(ICoroutine):
36
36
  OrionisCoroutineException
37
37
  If the provided object is not a coroutine.
38
38
  """
39
- if not iscoroutine(func):
39
+ if not Inspection(func).isCoroutine():
40
40
  raise OrionisCoroutineException(
41
41
  f"Expected a coroutine object, but got {type(func).__name__}."
42
42
  )
43
+
44
+ # Store the coroutine function
43
45
  self.__func = func
44
46
 
45
47
  def run(self) -> Union[T, asyncio.Future]:
@@ -57,15 +59,21 @@ class Coroutine(ICoroutine):
57
59
  - If called from within an event loop, it will schedule the coroutine and return a Future.
58
60
  """
59
61
  try:
62
+
60
63
  # Get the current event loop
61
64
  loop = asyncio.get_running_loop()
65
+
62
66
  except RuntimeError:
67
+
63
68
  # No running event loop, run synchronously
64
69
  return asyncio.run(self.__func)
65
70
 
66
71
  if loop.is_running():
72
+
67
73
  # Inside an event loop, schedule as a Future
68
74
  return asyncio.ensure_future(self.__func)
75
+
69
76
  else:
77
+
70
78
  # No running loop, run synchronously
71
79
  return loop.run_until_complete(self.__func)
@@ -45,45 +45,6 @@ class DotEnv(metaclass=Singleton):
45
45
  except OSError as e:
46
46
  raise OSError(f"Failed to create or access the .env file at {self._resolved_path}: {e}")
47
47
 
48
- def get(self, key: str, default: Optional[Any] = None) -> Any:
49
- """
50
- Get the value of an environment variable.
51
-
52
- Parameters
53
- ----------
54
- key : str
55
- Name of the environment variable to retrieve.
56
- default : Any, optional
57
- Value to return if the key is not found. Default is None.
58
-
59
- Returns
60
- -------
61
- Any
62
- Parsed value of the environment variable, or `default` if not found.
63
-
64
- Raises
65
- ------
66
- OrionisEnvironmentValueError
67
- If `key` is not a string.
68
- """
69
- with self._lock:
70
-
71
- # Ensure the key is a string.
72
- if not isinstance(key, str):
73
- raise OrionisEnvironmentValueError(
74
- f"Key must be a string, got {type(key).__name__}."
75
- )
76
-
77
- # Get the value from the .env file or the current environment.
78
- value = dotenv_values(self._resolved_path).get(key)
79
-
80
- # If the value is not found in the .env file, check the current environment variables.
81
- if value is None:
82
- value = os.getenv(key)
83
-
84
- # Parse the value using the internal __parseValue method and return it
85
- return self.__parseValue(value) if value is not None else default
86
-
87
48
  def __parseValue(self, value: Any) -> Any:
88
49
  """
89
50
  Parse and convert the input value to an appropriate Python data type with enhanced features.
@@ -142,6 +103,85 @@ class DotEnv(metaclass=Singleton):
142
103
  except (ValueError, SyntaxError):
143
104
  return value_str
144
105
 
106
+ def __serializeValue(self, value: Any, type_hint: str = None) -> str:
107
+ """
108
+ Parameters
109
+ ----------
110
+ value : Any
111
+ The value to serialize.
112
+ type_hint : str, optional
113
+ An optional type hint to guide serialization.
114
+ Returns
115
+ -------
116
+ str
117
+ The serialized string representation of the value.
118
+ Notes
119
+ -----
120
+ - If `value` is None, returns "null".
121
+ - If `type_hint` is provided, uses `EnvTypes` to serialize.
122
+ - Uses `repr()` for lists, dicts, tuples, and sets.
123
+ - Falls back to `str()` for other types.
124
+ """
125
+
126
+ if value is None:
127
+ return "null"
128
+
129
+ if type_hint:
130
+ return EnvTypes(value).to(type_hint)
131
+
132
+ if isinstance(value, str):
133
+ return value.strip()
134
+
135
+ if isinstance(value, bool):
136
+ return str(value).lower()
137
+
138
+ if isinstance(value, int, float):
139
+ return str(value)
140
+
141
+ if isinstance(value, (list, dict, tuple, set)):
142
+ return repr(value)
143
+
144
+ return str(value)
145
+
146
+ def get(self, key: str, default: Optional[Any] = None) -> Any:
147
+ """
148
+ Get the value of an environment variable.
149
+
150
+ Parameters
151
+ ----------
152
+ key : str
153
+ Name of the environment variable to retrieve.
154
+ default : Any, optional
155
+ Value to return if the key is not found. Default is None.
156
+
157
+ Returns
158
+ -------
159
+ Any
160
+ Parsed value of the environment variable, or `default` if not found.
161
+
162
+ Raises
163
+ ------
164
+ OrionisEnvironmentValueError
165
+ If `key` is not a string.
166
+ """
167
+ with self._lock:
168
+
169
+ # Ensure the key is a string.
170
+ if not isinstance(key, str):
171
+ raise OrionisEnvironmentValueError(
172
+ f"Key must be a string, got {type(key).__name__}."
173
+ )
174
+
175
+ # Get the value from the .env file or the current environment.
176
+ value = dotenv_values(self._resolved_path).get(key)
177
+
178
+ # If the value is not found in the .env file, check the current environment variables.
179
+ if value is None:
180
+ value = os.getenv(key)
181
+
182
+ # Parse the value using the internal __parseValue method and return it
183
+ return self.__parseValue(value) if value is not None else default
184
+
145
185
  def set(self, key: str, value: Union[str, int, float, bool, list, dict, tuple, set], type_hint: str = None) -> bool:
146
186
  """
147
187
  Set an environment variable with the specified key and value.
@@ -195,46 +235,6 @@ class DotEnv(metaclass=Singleton):
195
235
  # Return True to indicate success.
196
236
  return True
197
237
 
198
- def __serializeValue(self, value: Any, type_hint: str = None) -> str:
199
- """
200
- Parameters
201
- ----------
202
- value : Any
203
- The value to serialize.
204
- type_hint : str, optional
205
- An optional type hint to guide serialization.
206
- Returns
207
- -------
208
- str
209
- The serialized string representation of the value.
210
- Notes
211
- -----
212
- - If `value` is None, returns "null".
213
- - If `type_hint` is provided, uses `EnvTypes` to serialize.
214
- - Uses `repr()` for lists, dicts, tuples, and sets.
215
- - Falls back to `str()` for other types.
216
- """
217
-
218
- if value is None:
219
- return "null"
220
-
221
- if type_hint:
222
- return EnvTypes(value).to(type_hint)
223
-
224
- if isinstance(value, str):
225
- return value.strip()
226
-
227
- if isinstance(value, bool):
228
- return str(value).lower()
229
-
230
- if isinstance(value, int, float):
231
- return str(value)
232
-
233
- if isinstance(value, (list, dict, tuple, set)):
234
- return repr(value)
235
-
236
- return str(value)
237
-
238
238
  def unset(self, key: str) -> bool:
239
239
  """
240
240
  Remove the specified environment variable from both the .env file and the current process environment.
@@ -73,6 +73,55 @@ class EnvTypes(IEnvTypes):
73
73
  # If raw is not a string, treat it as a value with no type hint
74
74
  self.__value_raw = raw
75
75
 
76
+ def get(self):
77
+ """
78
+ Returns the value corresponding to the specified type hint.
79
+
80
+ Checks if the provided type hint is valid and then dispatches the call to the appropriate
81
+ method for handling the type.
82
+
83
+ Supported type hints include: 'path:', 'str:', 'int:', 'float:', 'bool:', 'list:', 'dict:', 'tuple:', and 'set:'.
84
+
85
+ Returns
86
+ -------
87
+ Any
88
+ The value converted or processed according to the specified type hint.
89
+
90
+ Raises
91
+ ------
92
+ OrionisEnvironmentValueError
93
+ If the type hint is not one of the supported options.
94
+ """
95
+ if not self.__type_hint in self.OPTIONS:
96
+ raise OrionisEnvironmentValueError(f"Invalid type hint: {self.__type_hint}. Must be one of {self.OPTIONS}.")
97
+
98
+ if self.__type_hint == 'path':
99
+ return self.__parsePath()
100
+
101
+ if self.__type_hint == 'str':
102
+ return self.__parseStr()
103
+
104
+ if self.__type_hint == 'int':
105
+ return self.__parseInt()
106
+
107
+ if self.__type_hint == 'float':
108
+ return self.__parseFloat()
109
+
110
+ if self.__type_hint == 'bool':
111
+ return self.__parseBool()
112
+
113
+ if self.__type_hint == 'list':
114
+ return self.__parseList()
115
+
116
+ if self.__type_hint == 'dict':
117
+ return self.__parseDict()
118
+
119
+ if self.__type_hint == 'tuple':
120
+ return self.__parseTuple()
121
+
122
+ if self.__type_hint == 'set':
123
+ return self.__parseSet()
124
+
76
125
  def to(self, type_hint: str):
77
126
  """
78
127
  Set the type hint for the Type instance.
@@ -527,52 +576,3 @@ class EnvTypes(IEnvTypes):
527
576
  if not isinstance(self.__value_raw, set):
528
577
  raise OrionisEnvironmentValueError(f"Value must be a set to convert to set, got {type(self.__value_raw).__name__} instead.")
529
578
  return f"{self.__type_hint}:{repr(self.__value_raw)}"
530
-
531
- def get(self):
532
- """
533
- Returns the value corresponding to the specified type hint.
534
-
535
- Checks if the provided type hint is valid and then dispatches the call to the appropriate
536
- method for handling the type.
537
-
538
- Supported type hints include: 'path:', 'str:', 'int:', 'float:', 'bool:', 'list:', 'dict:', 'tuple:', and 'set:'.
539
-
540
- Returns
541
- -------
542
- Any
543
- The value converted or processed according to the specified type hint.
544
-
545
- Raises
546
- ------
547
- OrionisEnvironmentValueError
548
- If the type hint is not one of the supported options.
549
- """
550
- if not self.__type_hint in self.OPTIONS:
551
- raise OrionisEnvironmentValueError(f"Invalid type hint: {self.__type_hint}. Must be one of {self.OPTIONS}.")
552
-
553
- if self.__type_hint == 'path':
554
- return self.__parsePath()
555
-
556
- if self.__type_hint == 'str':
557
- return self.__parseStr()
558
-
559
- if self.__type_hint == 'int':
560
- return self.__parseInt()
561
-
562
- if self.__type_hint == 'float':
563
- return self.__parseFloat()
564
-
565
- if self.__type_hint == 'bool':
566
- return self.__parseBool()
567
-
568
- if self.__type_hint == 'list':
569
- return self.__parseList()
570
-
571
- if self.__type_hint == 'dict':
572
- return self.__parseDict()
573
-
574
- if self.__type_hint == 'tuple':
575
- return self.__parseTuple()
576
-
577
- if self.__type_hint == 'set':
578
- return self.__parseSet()
@@ -0,0 +1,246 @@
1
+ import inspect
2
+ from typing import Any
3
+
4
+ class Inspection:
5
+
6
+ def __init__(self, target: Any):
7
+ """
8
+ Initialize an inspection instance.
9
+
10
+ Parameters
11
+ ----------
12
+ target : Any
13
+ The object to be inspected.
14
+ """
15
+ self.__target = target
16
+
17
+ def isAbstract(self) -> bool:
18
+ """
19
+ Check if the object is an abstract base class.
20
+
21
+ Returns
22
+ -------
23
+ bool
24
+ True if the object is abstract, False otherwise.
25
+ """
26
+ return inspect.isabstract(self.__target)
27
+
28
+ def isAsyncGen(self) -> bool:
29
+ """
30
+ Check if the object is an asynchronous generator.
31
+
32
+ Returns
33
+ -------
34
+ bool
35
+ True if the object is an async generator, False otherwise.
36
+ """
37
+ return inspect.isasyncgen(self.__target)
38
+
39
+ def isAsyncGenFunction(self) -> bool:
40
+ """
41
+ Check if the object is an asynchronous generator function.
42
+
43
+ Returns
44
+ -------
45
+ bool
46
+ True if the object is an async generator function, False otherwise.
47
+ """
48
+ return inspect.isasyncgenfunction(self.__target)
49
+
50
+ def isAwaitable(self) -> bool:
51
+ """
52
+ Check if the object can be awaited.
53
+
54
+ Returns
55
+ -------
56
+ bool
57
+ True if the object is awaitable, False otherwise.
58
+ """
59
+ return inspect.isawaitable(self.__target)
60
+
61
+ def isBuiltin(self) -> bool:
62
+ """
63
+ Check if the object is a built-in function or method.
64
+
65
+ Returns
66
+ -------
67
+ bool
68
+ True if the object is a built-in, False otherwise.
69
+ """
70
+ return inspect.isbuiltin(self.__target)
71
+
72
+ def isClass(self) -> bool:
73
+ """
74
+ Check if the object is a class.
75
+
76
+ Returns
77
+ -------
78
+ bool
79
+ True if the object is a class, False otherwise.
80
+ """
81
+ return inspect.isclass(self.__target)
82
+
83
+ def isCode(self) -> bool:
84
+ """
85
+ Check if the object is a code object.
86
+
87
+ Returns
88
+ -------
89
+ bool
90
+ True if the object is a code object, False otherwise.
91
+ """
92
+ return inspect.iscode(self.__target)
93
+
94
+ def isCoroutine(self) -> bool:
95
+ """
96
+ Check if the object is a coroutine.
97
+
98
+ Returns
99
+ -------
100
+ bool
101
+ True if the object is a coroutine, False otherwise.
102
+ """
103
+ return inspect.iscoroutine(self.__target)
104
+
105
+ def isCoroutineFunction(self) -> bool:
106
+ """
107
+ Check if the object is a coroutine function.
108
+
109
+ Returns
110
+ -------
111
+ bool
112
+ True if the object is a coroutine function, False otherwise.
113
+ """
114
+ return inspect.iscoroutinefunction(self.__target)
115
+
116
+ def isDataDescriptor(self) -> bool:
117
+ """
118
+ Check if the object is a data descriptor.
119
+
120
+ Returns
121
+ -------
122
+ bool
123
+ True if the object is a data descriptor, False otherwise.
124
+ """
125
+ return inspect.isdatadescriptor(self.__target)
126
+
127
+ def isFrame(self) -> bool:
128
+ """
129
+ Check if the object is a frame object.
130
+
131
+ Returns
132
+ -------
133
+ bool
134
+ True if the object is a frame object, False otherwise.
135
+ """
136
+ return inspect.isframe(self.__target)
137
+
138
+ def isFunction(self) -> bool:
139
+ """
140
+ Check if the object is a Python function.
141
+
142
+ Returns
143
+ -------
144
+ bool
145
+ True if the object is a function, False otherwise.
146
+ """
147
+ return inspect.isfunction(self.__target)
148
+
149
+ def isGenerator(self) -> bool:
150
+ """
151
+ Check if the object is a generator.
152
+
153
+ Returns
154
+ -------
155
+ bool
156
+ True if the object is a generator, False otherwise.
157
+ """
158
+ return inspect.isgenerator(self.__target)
159
+
160
+ def isGeneratorFunction(self) -> bool:
161
+ """
162
+ Check if the object is a generator function.
163
+
164
+ Returns
165
+ -------
166
+ bool
167
+ True if the object is a generator function, False otherwise.
168
+ """
169
+ return inspect.isgeneratorfunction(self.__target)
170
+
171
+ def isGetSetDescriptor(self) -> bool:
172
+ """
173
+ Check if the object is a getset descriptor.
174
+
175
+ Returns
176
+ -------
177
+ bool
178
+ True if the object is a getset descriptor, False otherwise.
179
+ """
180
+ return inspect.isgetsetdescriptor(self.__target)
181
+
182
+ def isMemberDescriptor(self) -> bool:
183
+ """
184
+ Check if the object is a member descriptor.
185
+
186
+ Returns
187
+ -------
188
+ bool
189
+ True if the object is a member descriptor, False otherwise.
190
+ """
191
+ return inspect.ismemberdescriptor(self.__target)
192
+
193
+ def isMethod(self) -> bool:
194
+ """
195
+ Check if the object is a method.
196
+
197
+ Returns
198
+ -------
199
+ bool
200
+ True if the object is a method, False otherwise.
201
+ """
202
+ return inspect.ismethod(self.__target)
203
+
204
+ def isMethodDescriptor(self) -> bool:
205
+ """
206
+ Check if the object is a method descriptor.
207
+
208
+ Returns
209
+ -------
210
+ bool
211
+ True if the object is a method descriptor, False otherwise.
212
+ """
213
+ return inspect.ismethoddescriptor(self.__target)
214
+
215
+ def isModule(self) -> bool:
216
+ """
217
+ Check if the object is a module.
218
+
219
+ Returns
220
+ -------
221
+ bool
222
+ True if the object is a module, False otherwise.
223
+ """
224
+ return inspect.ismodule(self.__target)
225
+
226
+ def isRoutine(self) -> bool:
227
+ """
228
+ Check if the object is a user-defined or built-in function or method.
229
+
230
+ Returns
231
+ -------
232
+ bool
233
+ True if the object is a routine, False otherwise.
234
+ """
235
+ return inspect.isroutine(self.__target)
236
+
237
+ def isTraceback(self) -> bool:
238
+ """
239
+ Check if the object is a traceback object.
240
+
241
+ Returns
242
+ -------
243
+ bool
244
+ True if the object is a traceback object, False otherwise.
245
+ """
246
+ return inspect.istraceback(self.__target)
@@ -606,6 +606,34 @@ class ReflectionInstance(IReflectionInstance):
606
606
  # If the method is not callable, raise an error
607
607
  raise ReflectionAttributeError(f"Method '{name}' is not callable on '{self.getClassName()}'.")
608
608
 
609
+ def getMethodDocstring(self, name: str) -> Optional[str]:
610
+ """
611
+ Get the docstring of a method.
612
+
613
+ Parameters
614
+ ----------
615
+ name : str
616
+ Name of the method
617
+
618
+ Returns
619
+ -------
620
+ Optional[str]
621
+ The method docstring, or None if not available
622
+ """
623
+
624
+ # Handle private method name mangling
625
+ if name.startswith("__") and not name.endswith("__"):
626
+ class_name = self.getClassName()
627
+ name = f"_{class_name}{name}"
628
+
629
+ # Check if the method exists and is callable
630
+ method = getattr(self._instance.__class__, name, None)
631
+ if callable(method):
632
+ return method.__doc__
633
+
634
+ # If the method is not callable, raise an error
635
+ raise ReflectionAttributeError(f"Method '{name}' does not exist on '{self.getClassName()}'.")
636
+
609
637
  def getMethods(self) -> List[str]:
610
638
  """
611
639
  Get all method names of the instance.