orionis 0.253.0__py3-none-any.whl → 0.266.0__py3-none-any.whl

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 (397) hide show
  1. orionis/application.py +6 -0
  2. orionis/framework.py +1 -1
  3. orionis/luminate/{application.py → _application.py} +21 -19
  4. orionis/luminate/{container → _container}/container.py +4 -4
  5. orionis/luminate/{container → _container}/container_integrity.py +2 -2
  6. orionis/luminate/{container → _container}/resolve.py +2 -2
  7. orionis/luminate/{contracts → _contracts}/application.py +2 -2
  8. orionis/luminate/{contracts → _contracts}/console/task_manager.py +1 -1
  9. orionis/luminate/{contracts → _contracts}/facades/commands/scheduler_facade.py +1 -1
  10. orionis/luminate/{contracts → _contracts}/facades/facade.py +4 -3
  11. orionis/luminate/{contracts → _contracts}/foundation/providers/service_providers_bootstrapper.py +2 -2
  12. orionis/luminate/{contracts → _contracts}/providers/service_provider.py +1 -1
  13. orionis/luminate/{facades → _facades}/app_facade.py +2 -2
  14. orionis/luminate/{facades → _facades}/commands/commands_facade.py +3 -3
  15. orionis/luminate/{facades → _facades}/commands/scheduler_facade.py +3 -3
  16. orionis/luminate/{facades → _facades}/config/config_facade.py +3 -3
  17. orionis/luminate/{facades → _facades}/environment/environment_facade.py +3 -3
  18. orionis/luminate/{facades → _facades}/files/path_facade.py +4 -4
  19. orionis/luminate/{facades → _facades}/log/log_facade.py +2 -2
  20. orionis/luminate/{foundation → _foundation}/console/command_bootstrapper.py +2 -2
  21. orionis/luminate/{foundation → _foundation}/environment/environment_bootstrapper.py +3 -3
  22. orionis/luminate/{foundation → _foundation/foundation}/config/config_bootstrapper.py +3 -3
  23. orionis/luminate/{foundation → _foundation}/providers/service_providers_bootstrapper.py +4 -4
  24. orionis/luminate/{providers → _providers}/commands/reactor_commands_service_provider.py +7 -7
  25. orionis/luminate/{providers → _providers}/commands/scheduler_provider.py +3 -3
  26. orionis/luminate/{providers → _providers}/config/config_service_provider.py +3 -3
  27. orionis/luminate/{providers → _providers}/environment/environment__service_provider.py +4 -4
  28. orionis/luminate/_providers/files/paths_provider.py +21 -0
  29. orionis/luminate/{providers → _providers}/log/log_service_provider.py +5 -5
  30. orionis/luminate/{providers → _providers}/service_provider.py +2 -2
  31. orionis/luminate/{services_ → _services}/commands/reactor_commands_service.py +3 -3
  32. orionis/luminate/{services_ → _services}/commands/scheduler_service.py +1 -1
  33. orionis/luminate/{services_ → _services}/config/config_service.py +1 -1
  34. orionis/luminate/{services_ → _services}/log/log_service.py +1 -1
  35. orionis/luminate/app.py +19 -0
  36. orionis/luminate/console/base/command.py +1 -1
  37. orionis/luminate/console/command_filter.py +1 -1
  38. orionis/luminate/console/commands/help.py +1 -1
  39. orionis/luminate/console/commands/schedule_work.py +2 -2
  40. orionis/luminate/console/dumper/dump_die.py +1 -1
  41. orionis/luminate/console/kernel.py +1 -1
  42. orionis/luminate/console/output/console.py +3 -3
  43. orionis/luminate/console/output/executor.py +1 -1
  44. orionis/luminate/console/output/progress_bar.py +1 -1
  45. orionis/luminate/console/parser.py +1 -1
  46. orionis/luminate/{config → foundation/config}/app/entities/app.py +44 -43
  47. orionis/luminate/{config → foundation/config}/auth/entities/auth.py +9 -1
  48. orionis/luminate/foundation/config/cache/entities/cache.py +74 -0
  49. orionis/luminate/foundation/config/cache/entities/file.py +46 -0
  50. orionis/luminate/foundation/config/cache/entities/stores.py +46 -0
  51. orionis/luminate/{contracts/config → foundation/config/contracts}/config.py +8 -12
  52. orionis/luminate/foundation/config/cors/entities/cors.py +129 -0
  53. orionis/luminate/foundation/config/database/entities/connections.py +89 -0
  54. orionis/luminate/foundation/config/database/entities/database.py +62 -0
  55. orionis/luminate/foundation/config/database/entities/mysql.py +270 -0
  56. orionis/luminate/foundation/config/database/entities/oracle.py +227 -0
  57. orionis/luminate/foundation/config/database/entities/pgsql.py +189 -0
  58. orionis/luminate/foundation/config/database/entities/sqlite.py +178 -0
  59. orionis/luminate/foundation/config/database/enums/mysql_charsets.py +92 -0
  60. orionis/luminate/foundation/config/database/enums/mysql_collations.py +53 -0
  61. orionis/luminate/foundation/config/database/enums/mysql_engine.py +18 -0
  62. orionis/luminate/foundation/config/database/enums/oracle_encoding.py +44 -0
  63. orionis/luminate/foundation/config/database/enums/oracle_nencoding.py +31 -0
  64. orionis/luminate/foundation/config/database/enums/pgsql_charsets.py +90 -0
  65. orionis/luminate/foundation/config/database/enums/pgsql_collations.py +26 -0
  66. orionis/luminate/foundation/config/database/enums/pgsql_mode.py +24 -0
  67. orionis/luminate/foundation/config/database/enums/sqlite_foreign_key.py +12 -0
  68. orionis/luminate/foundation/config/database/enums/sqlite_journal.py +22 -0
  69. orionis/luminate/foundation/config/database/enums/sqlite_synchronous.py +16 -0
  70. orionis/luminate/foundation/config/filesystems/entitites/aws.py +134 -0
  71. orionis/luminate/foundation/config/filesystems/entitites/disks.py +68 -0
  72. orionis/luminate/foundation/config/filesystems/entitites/filesystems.py +53 -0
  73. orionis/luminate/foundation/config/filesystems/entitites/local.py +39 -0
  74. orionis/luminate/foundation/config/filesystems/entitites/public.py +52 -0
  75. orionis/luminate/foundation/config/logging/entities/channels.py +115 -0
  76. orionis/luminate/foundation/config/logging/entities/chunked.py +128 -0
  77. orionis/luminate/foundation/config/logging/entities/daily.py +113 -0
  78. orionis/luminate/foundation/config/logging/entities/hourly.py +100 -0
  79. orionis/luminate/foundation/config/logging/entities/logging.py +51 -0
  80. orionis/luminate/foundation/config/logging/entities/monthly.py +100 -0
  81. orionis/luminate/foundation/config/logging/entities/stack.py +74 -0
  82. orionis/luminate/foundation/config/logging/entities/weekly.py +102 -0
  83. orionis/luminate/foundation/config/logging/enums/levels.py +21 -0
  84. orionis/luminate/foundation/config/mail/entities/file.py +41 -0
  85. orionis/luminate/foundation/config/mail/entities/mail.py +56 -0
  86. orionis/luminate/foundation/config/mail/entities/mailers.py +54 -0
  87. orionis/luminate/foundation/config/mail/entities/smtp.py +104 -0
  88. orionis/luminate/foundation/config/queue/entities/brokers.py +55 -0
  89. orionis/luminate/foundation/config/queue/entities/database.py +107 -0
  90. orionis/luminate/foundation/config/queue/entities/queue.py +47 -0
  91. orionis/luminate/foundation/config/queue/enums/strategy.py +15 -0
  92. orionis/luminate/foundation/config/roots/paths.py +446 -0
  93. orionis/luminate/foundation/config/session/entities/session.py +147 -0
  94. orionis/luminate/foundation/config/session/enums/same_site_policy.py +14 -0
  95. orionis/luminate/foundation/config/session/helpers/secret_key.py +16 -0
  96. orionis/luminate/foundation/config/startup.py +203 -0
  97. orionis/luminate/foundation/config/testing/entities/__init__.py +0 -0
  98. orionis/luminate/{config → foundation/config/testing}/entities/testing.py +36 -20
  99. orionis/luminate/foundation/config/testing/enums/__init__.py +0 -0
  100. orionis/luminate/foundation/config/testing/enums/test_mode.py +12 -0
  101. orionis/luminate/patterns/__init__.py +0 -4
  102. orionis/luminate/patterns/singleton/__init__.py +0 -10
  103. orionis/luminate/services/asynchrony/__init__.py +0 -0
  104. orionis/luminate/services/asynchrony/async_io.py +31 -0
  105. orionis/luminate/services/environment/__init__.py +0 -10
  106. orionis/luminate/services/environment/contracts/__init__.py +0 -5
  107. orionis/luminate/services/environment/contracts/env.py +0 -11
  108. orionis/luminate/services/environment/dot_env.py +87 -163
  109. orionis/luminate/services/environment/env.py +0 -11
  110. orionis/luminate/services/introspection/__init__.py +0 -0
  111. orionis/luminate/services/introspection/abstracts/__init__.py +0 -0
  112. orionis/luminate/services/introspection/abstracts/entities/__init__.py +0 -0
  113. orionis/luminate/services/introspection/abstracts/entities/abstract_class_attributes.py +37 -0
  114. orionis/luminate/{support → services}/introspection/abstracts/reflect_abstract.py +1 -1
  115. orionis/luminate/services/introspection/dependencies/__init__.py +0 -0
  116. orionis/luminate/services/introspection/dependencies/contracts/__init__.py +0 -0
  117. orionis/luminate/{support → services}/introspection/dependencies/contracts/reflect_dependencies.py +2 -2
  118. orionis/luminate/services/introspection/dependencies/entities/__init__.py +0 -0
  119. orionis/luminate/services/introspection/dependencies/entities/class_dependencies.py +41 -0
  120. orionis/luminate/services/introspection/dependencies/entities/method_dependencies.py +42 -0
  121. orionis/luminate/services/introspection/dependencies/entities/resolved_dependencies.py +49 -0
  122. orionis/luminate/{support → services}/introspection/dependencies/reflect_dependencies.py +4 -4
  123. orionis/luminate/services/parsers/__init__.py +0 -0
  124. orionis/luminate/services/parsers/contracts/__init__.py +0 -0
  125. orionis/luminate/{support/parsers/exception_parser.py → services/parsers/exception.py} +1 -1
  126. orionis/luminate/services/parsers/serializer.py +15 -0
  127. orionis/luminate/services/paths/__init__.py +0 -9
  128. orionis/luminate/services/paths/resolver.py +1 -1
  129. orionis/luminate/services/standard/__init__.py +0 -0
  130. orionis/luminate/services/standard/contracts/__init__.py +0 -0
  131. orionis/luminate/{support → services}/standard/std.py +1 -1
  132. orionis/luminate/services/system/__init__.py +0 -0
  133. orionis/luminate/services/system/contracts/__init__.py +0 -0
  134. orionis/luminate/services/system/contracts/imports.py +31 -0
  135. orionis/luminate/services/system/contracts/workers.py +18 -0
  136. orionis/luminate/services/system/imports.py +124 -0
  137. orionis/luminate/services/system/runtime_imports.py +70 -0
  138. orionis/luminate/services/{workers/maximum_workers.py → system/workers.py} +2 -1
  139. orionis/luminate/services/wrapper/__init__.py +0 -0
  140. orionis/luminate/services/wrapper/dicts/__init__.py +0 -0
  141. orionis/luminate/services/wrapper/dicts/dot_dict.py +115 -0
  142. orionis/luminate/support/introspection/__init__.py +0 -5
  143. orionis/luminate/support/introspection/container_integrity.py +2 -2
  144. orionis/luminate/support/introspection/instances/__init__.py +0 -5
  145. orionis/luminate/support/introspection/reflection.py +1 -1
  146. orionis/luminate/test/__init__.py +0 -23
  147. orionis/luminate/test/cases/test_async.py +41 -9
  148. orionis/luminate/test/cases/test_case.py +27 -13
  149. orionis/luminate/test/cases/test_sync.py +28 -6
  150. orionis/luminate/test/output/contracts/{test_std_out.py → dumper.py} +2 -1
  151. orionis/luminate/test/output/{test_std_out.py → dumper.py} +7 -4
  152. orionis/luminate/test/suites/__init__.py +0 -0
  153. orionis/luminate/test/suites/contracts/__init__.py +0 -0
  154. orionis/luminate/test/suites/contracts/test_suite.py +23 -0
  155. orionis/luminate/test/suites/test_suite.py +101 -0
  156. orionis/luminate/test/{core → suites}/test_unit.py +16 -8
  157. orionis/unittesting.py +43 -0
  158. {orionis-0.253.0.dist-info → orionis-0.266.0.dist-info}/METADATA +19 -3
  159. orionis-0.266.0.dist-info/RECORD +440 -0
  160. {orionis-0.253.0.dist-info → orionis-0.266.0.dist-info}/WHEEL +1 -1
  161. orionis-0.266.0.dist-info/entry_points.txt +2 -0
  162. orionis-0.266.0.dist-info/zip-safe +1 -0
  163. tests/example/test_example.py +1 -1
  164. tests/foundation/__init__.py +0 -0
  165. tests/foundation/config/__init__.py +0 -0
  166. tests/foundation/config/app/__init__.py +0 -0
  167. tests/foundation/config/app/test_app.py +140 -0
  168. tests/foundation/config/auth/__init__.py +0 -0
  169. tests/{config → foundation/config/auth}/test_auth.py +6 -3
  170. tests/foundation/config/cache/__init__.py +0 -0
  171. tests/foundation/config/cache/test_cache.py +98 -0
  172. tests/foundation/config/cache/test_cache_file.py +78 -0
  173. tests/foundation/config/cache/test_cache_stores.py +88 -0
  174. tests/foundation/config/cors/__init__.py +0 -0
  175. tests/foundation/config/cors/test_cors.py +121 -0
  176. tests/foundation/config/database/__init__.py +0 -0
  177. tests/foundation/config/database/test_database.py +108 -0
  178. tests/foundation/config/database/test_database_connections.py +129 -0
  179. tests/foundation/config/database/test_database_mysql.py +231 -0
  180. tests/foundation/config/database/test_database_oracle.py +204 -0
  181. tests/foundation/config/database/test_database_pgsql.py +187 -0
  182. tests/foundation/config/database/test_database_sqlite.py +153 -0
  183. tests/foundation/config/exceptions/__init__.py +0 -0
  184. tests/foundation/config/exceptions/test_exceptions_integrity.py +83 -0
  185. tests/foundation/config/filesystems/__init__.py +0 -0
  186. tests/foundation/config/filesystems/test_filesystems.py +110 -0
  187. tests/foundation/config/filesystems/test_filesystems_aws.py +133 -0
  188. tests/foundation/config/filesystems/test_filesystems_disks.py +114 -0
  189. tests/foundation/config/filesystems/test_filesystems_local.py +95 -0
  190. tests/foundation/config/filesystems/test_filesystems_public.py +120 -0
  191. tests/foundation/config/logging/__init__.py +0 -0
  192. tests/foundation/config/logging/test_logging.py +48 -0
  193. tests/foundation/config/logging/test_logging_channels.py +157 -0
  194. tests/foundation/config/logging/test_logging_chunked.py +166 -0
  195. tests/foundation/config/logging/test_logging_daily.py +153 -0
  196. tests/foundation/config/logging/test_logging_hourly.py +131 -0
  197. tests/foundation/config/logging/test_logging_monthly.py +133 -0
  198. tests/foundation/config/logging/test_logging_stack.py +124 -0
  199. tests/foundation/config/logging/test_logging_weekly.py +133 -0
  200. tests/foundation/config/mail/__init__.py +0 -0
  201. tests/foundation/config/mail/test_mail.py +73 -0
  202. tests/foundation/config/mail/test_mail_file.py +61 -0
  203. tests/foundation/config/mail/test_mail_mailers.py +58 -0
  204. tests/foundation/config/mail/test_mail_smtp.py +102 -0
  205. tests/foundation/config/queue/__init__.py +0 -0
  206. tests/foundation/config/queue/test_queue.py +58 -0
  207. tests/foundation/config/queue/test_queue_brokers.py +67 -0
  208. tests/foundation/config/queue/test_queue_database.py +95 -0
  209. tests/foundation/config/root/__init__.py +0 -0
  210. tests/foundation/config/root/test_root_paths.py +134 -0
  211. tests/foundation/config/session/__init__.py +0 -0
  212. tests/foundation/config/session/test_session.py +138 -0
  213. tests/foundation/config/startup/__init__.py +0 -0
  214. tests/foundation/config/startup/test_config_startup.py +134 -0
  215. tests/foundation/config/testing/__init__.py +0 -0
  216. tests/foundation/config/testing/test_testing.py +167 -0
  217. tests/patterns/singleton/test_singleton.py +2 -2
  218. tests/services/asynchrony/__init__.py +0 -0
  219. tests/{support/async_io/test_async_coroutine.py → services/asynchrony/test_async_io.py} +6 -5
  220. tests/services/environment/test_env.py +155 -33
  221. tests/services/inspection/__init__.py +0 -0
  222. tests/services/inspection/dependencies/__init__.py +0 -0
  223. tests/services/inspection/dependencies/mocks/__init__.py +0 -0
  224. tests/services/inspection/dependencies/mocks/mock_user.py +30 -0
  225. tests/services/inspection/dependencies/mocks/mock_user_controller.py +27 -0
  226. tests/services/inspection/dependencies/mocks/mock_users_permissions.py +41 -0
  227. tests/services/inspection/dependencies/test_reflect_dependencies.py +94 -0
  228. tests/services/parsers/__init__.py +0 -0
  229. tests/services/parsers/mocks/__init__.py +0 -0
  230. tests/services/parsers/mocks/mock_custom_error.py +15 -0
  231. tests/{support → services}/parsers/test_exception_parser.py +8 -8
  232. tests/services/path/__init__.py +0 -0
  233. tests/services/path/test_resolver.py +73 -0
  234. tests/services/standard/__init__.py +0 -0
  235. tests/services/standard/test_std.py +127 -0
  236. tests/services/wrapper/__init__.py +0 -0
  237. tests/services/wrapper/test_wrapper_doc_dict.py +129 -0
  238. tests/testing/__init__.py +0 -0
  239. tests/testing/test_testing_result.py +92 -0
  240. tests/testing/test_testing_unit.py +138 -0
  241. orionis/luminate/config/app/__init__.py +0 -10
  242. orionis/luminate/config/auth/__init__.py +0 -7
  243. orionis/luminate/config/cache/__init__.py +0 -9
  244. orionis/luminate/config/cache/entities/cache.py +0 -58
  245. orionis/luminate/config/cache/entities/file.py +0 -29
  246. orionis/luminate/config/cache/entities/stores.py +0 -35
  247. orionis/luminate/config/entities/cors.py +0 -58
  248. orionis/luminate/config/entities/database.py +0 -204
  249. orionis/luminate/config/entities/filesystems.py +0 -98
  250. orionis/luminate/config/entities/logging.py +0 -157
  251. orionis/luminate/config/entities/mail.py +0 -76
  252. orionis/luminate/config/entities/queue.py +0 -62
  253. orionis/luminate/config/entities/session.py +0 -58
  254. orionis/luminate/providers/files/paths_provider.py +0 -20
  255. orionis/luminate/services/workers/__init__.py +0 -10
  256. orionis/luminate/support/adapters/dot_dict.py +0 -29
  257. orionis/luminate/support/asynchrony/async_io.py +0 -40
  258. orionis/luminate/support/asynchrony/contracts/async_coroutine.py +0 -26
  259. orionis/luminate/support/introspection/abstracts/entities/abstract_class_attributes.py +0 -11
  260. orionis/luminate/support/introspection/dependencies/__init__.py +0 -5
  261. orionis/luminate/support/introspection/dependencies/entities/class_dependencies.py +0 -11
  262. orionis/luminate/support/introspection/dependencies/entities/method_dependencies.py +0 -11
  263. orionis/luminate/support/introspection/dependencies/entities/resolved_dependencies.py +0 -12
  264. orionis/luminate/support/paths/contracts/resolver.py +0 -67
  265. orionis/luminate/support/paths/resolver.py +0 -83
  266. orionis/luminate/test/core/contracts/test_suite.py +0 -30
  267. orionis/luminate/test/core/test_suite.py +0 -93
  268. orionis-0.253.0.dist-info/RECORD +0 -318
  269. orionis-0.253.0.dist-info/entry_points.txt +0 -2
  270. tests/config/test_app.py +0 -122
  271. tests/config/test_cache.py +0 -20
  272. tests/support/adapters/fakes/fake_dict.py +0 -15
  273. tests/support/adapters/test_doct_dict.py +0 -21
  274. tests/support/inspection/fakes/fake_reflect_dependencies.py +0 -25
  275. tests/support/inspection/test_reflect_dependencies.py +0 -67
  276. tests/support/parsers/fakes/fake_custom_error.py +0 -27
  277. tests/support/path/test_resolver.py +0 -33
  278. tests/support/standard/test_std.py +0 -62
  279. /orionis/{console.py → clinstall.py} +0 -0
  280. /orionis/luminate/{config → _container}/__init__.py +0 -0
  281. /orionis/luminate/{container → _container}/exception.py +0 -0
  282. /orionis/luminate/{container → _container}/lifetimes.py +0 -0
  283. /orionis/luminate/{config/app/entities → _contracts}/__init__.py +0 -0
  284. /orionis/luminate/{config/app/enums → _contracts/config}/__init__.py +0 -0
  285. /orionis/luminate/{config/contracts → _contracts/config}/config.py +0 -0
  286. /orionis/luminate/{config/auth/entities → _contracts/console}/__init__.py +0 -0
  287. /orionis/luminate/{config/cache/entities → _contracts/console/base}/__init__.py +0 -0
  288. /orionis/luminate/{contracts → _contracts}/console/base/command.py +0 -0
  289. /orionis/luminate/{contracts → _contracts}/console/command_filter.py +0 -0
  290. /orionis/luminate/{contracts → _contracts}/console/kernel.py +0 -0
  291. /orionis/luminate/{config/cache/enums → _contracts/console/output}/__init__.py +0 -0
  292. /orionis/luminate/{contracts → _contracts}/console/output/console.py +0 -0
  293. /orionis/luminate/{contracts → _contracts}/console/output/executor.py +0 -0
  294. /orionis/luminate/{contracts → _contracts}/console/output/progress_bar.py +0 -0
  295. /orionis/luminate/{contracts → _contracts}/console/parser.py +0 -0
  296. /orionis/luminate/{contracts → _contracts}/container/container.py +0 -0
  297. /orionis/luminate/{contracts → _contracts}/container/container_integrity.py +0 -0
  298. /orionis/luminate/{config/contracts → _contracts/facades}/__init__.py +0 -0
  299. /orionis/luminate/{config/exceptions → _contracts/facades/commands}/__init__.py +0 -0
  300. /orionis/luminate/{contracts → _contracts}/facades/commands/commands_facade.py +0 -0
  301. /orionis/luminate/{container → _contracts/facades/config}/__init__.py +0 -0
  302. /orionis/luminate/{contracts → _contracts}/facades/config/config_facade.py +0 -0
  303. /orionis/luminate/{contracts → _contracts/facades/environment}/__init__.py +0 -0
  304. /orionis/luminate/{contracts → _contracts}/facades/environment/environment_facade.py +0 -0
  305. /orionis/luminate/{contracts/config → _contracts/facades/files}/__init__.py +0 -0
  306. /orionis/luminate/{contracts → _contracts}/facades/files/path_facade.py +0 -0
  307. /orionis/luminate/{contracts/console → _contracts/facades/log}/__init__.py +0 -0
  308. /orionis/luminate/{contracts → _contracts}/facades/log/log_facade.py +0 -0
  309. /orionis/luminate/{contracts/console/base → _contracts/facades/tests}/__init__.py +0 -0
  310. /orionis/luminate/{contracts → _contracts}/facades/tests/tests_facade.py +0 -0
  311. /orionis/luminate/{contracts/console/output → _contracts/foundation}/__init__.py +0 -0
  312. /orionis/luminate/{contracts → _contracts}/foundation/bootstraper.py +0 -0
  313. /orionis/luminate/{contracts/facades → _contracts/foundation/config}/__init__.py +0 -0
  314. /orionis/luminate/{contracts → _contracts}/foundation/config/config_bootstrapper.py +0 -0
  315. /orionis/luminate/{contracts/facades/commands → _contracts/foundation/console}/__init__.py +0 -0
  316. /orionis/luminate/{contracts → _contracts}/foundation/console/command_bootstrapper.py +0 -0
  317. /orionis/luminate/{contracts/facades/config → _contracts/foundation/environment}/__init__.py +0 -0
  318. /orionis/luminate/{contracts → _contracts}/foundation/environment/environment_bootstrapper.py +0 -0
  319. /orionis/luminate/{contracts/facades/environment → _contracts/foundation/providers}/__init__.py +0 -0
  320. /orionis/luminate/{contracts/facades/files → _contracts/providers}/__init__.py +0 -0
  321. /orionis/luminate/{contracts/facades/log → _contracts/services}/__init__.py +0 -0
  322. /orionis/luminate/{contracts/facades/tests → _contracts/services/commands}/__init__.py +0 -0
  323. /orionis/luminate/{contracts → _contracts}/services/commands/reactor_commands_service.py +0 -0
  324. /orionis/luminate/{contracts → _contracts}/services/commands/schedule_service.py +0 -0
  325. /orionis/luminate/{contracts/foundation → _contracts/services/config}/__init__.py +0 -0
  326. /orionis/luminate/{contracts → _contracts}/services/config/config_service.py +0 -0
  327. /orionis/luminate/{contracts/foundation/config → _contracts/services/environment}/__init__.py +0 -0
  328. /orionis/luminate/{contracts → _contracts}/services/environment/environment_service.py +0 -0
  329. /orionis/luminate/{contracts/foundation/console → _contracts/services/files}/__init__.py +0 -0
  330. /orionis/luminate/{contracts → _contracts}/services/files/path_resolver_service.py +0 -0
  331. /orionis/luminate/{contracts/foundation/environment → _contracts/services/log}/__init__.py +0 -0
  332. /orionis/luminate/{contracts → _contracts}/services/log/log_service.py +0 -0
  333. /orionis/luminate/{contracts → _contracts}/support/exception_parse.py +0 -0
  334. /orionis/luminate/{contracts → _contracts}/support/reflection.py +0 -0
  335. /orionis/luminate/{contracts/foundation/providers → _facades}/__init__.py +0 -0
  336. /orionis/luminate/{contracts/providers → _facades/commands}/__init__.py +0 -0
  337. /orionis/luminate/{contracts/services → _facades/config}/__init__.py +0 -0
  338. /orionis/luminate/{contracts/services/commands → _facades/environment}/__init__.py +0 -0
  339. /orionis/luminate/{contracts/services/config → _facades/files}/__init__.py +0 -0
  340. /orionis/luminate/{contracts/services/environment → _facades/log}/__init__.py +0 -0
  341. /orionis/luminate/{contracts/services/files → _foundation}/__init__.py +0 -0
  342. /orionis/luminate/{contracts/services/log → _foundation/console}/__init__.py +0 -0
  343. /orionis/luminate/{facades → _foundation/environment}/__init__.py +0 -0
  344. /orionis/luminate/{facades/commands → _foundation/exceptions}/__init__.py +0 -0
  345. /orionis/luminate/{foundation → _foundation}/exceptions/exception_bootstrapper.py +0 -0
  346. /orionis/luminate/{foundation → _foundation}/exceptions/exception_providers.py +0 -0
  347. /orionis/luminate/{facades → _foundation/foundation}/config/__init__.py +0 -0
  348. /orionis/luminate/{facades/environment → _foundation/providers}/__init__.py +0 -0
  349. /orionis/luminate/{facades/files → _providers}/__init__.py +0 -0
  350. /orionis/luminate/{facades/log → _providers/commands}/__init__.py +0 -0
  351. /orionis/luminate/{foundation/console → _providers/config}/__init__.py +0 -0
  352. /orionis/luminate/{foundation → _providers}/environment/__init__.py +0 -0
  353. /orionis/luminate/{foundation/exceptions → _providers/files}/__init__.py +0 -0
  354. /orionis/luminate/{foundation/providers → _providers/log}/__init__.py +0 -0
  355. /orionis/luminate/{providers → _services}/__init__.py +0 -0
  356. /orionis/luminate/{providers → _services}/commands/__init__.py +0 -0
  357. /orionis/luminate/{providers → _services}/config/__init__.py +0 -0
  358. /orionis/luminate/{providers/environment → _services/log}/__init__.py +0 -0
  359. /orionis/luminate/{providers/files → foundation/config/app}/__init__.py +0 -0
  360. /orionis/luminate/{providers/log → foundation/config/app/entities}/__init__.py +0 -0
  361. /orionis/luminate/{services_ → foundation/config/app/enums}/__init__.py +0 -0
  362. /orionis/luminate/{config → foundation/config}/app/enums/ciphers.py +0 -0
  363. /orionis/luminate/{config → foundation/config}/app/enums/environments.py +0 -0
  364. /orionis/luminate/{services_/commands → foundation/config/auth}/__init__.py +0 -0
  365. /orionis/luminate/{services_/config → foundation/config/auth/entities}/__init__.py +0 -0
  366. /orionis/luminate/{services_/log → foundation/config/cache}/__init__.py +0 -0
  367. /orionis/luminate/{support/adapters → foundation/config/cache/entities}/__init__.py +0 -0
  368. /orionis/luminate/{support/asynchrony → foundation/config/cache/enums}/__init__.py +0 -0
  369. /orionis/luminate/{config → foundation/config}/cache/enums/drivers.py +0 -0
  370. /orionis/luminate/{support/asynchrony → foundation/config}/contracts/__init__.py +0 -0
  371. /orionis/luminate/{support/introspection/abstracts → foundation/config/cors}/__init__.py +0 -0
  372. /orionis/luminate/{support/introspection/abstracts → foundation/config/cors}/entities/__init__.py +0 -0
  373. /orionis/luminate/{support/introspection/dependencies/contracts → foundation/config/database}/__init__.py +0 -0
  374. /orionis/luminate/{support/introspection/dependencies → foundation/config/database}/entities/__init__.py +0 -0
  375. /orionis/luminate/{support/parsers → foundation/config/database/enums}/__init__.py +0 -0
  376. /orionis/luminate/{support/parsers/contracts → foundation/config/exceptions}/__init__.py +0 -0
  377. /orionis/luminate/{config/exceptions/integrity_exception.py → foundation/config/exceptions/integrity.py} +0 -0
  378. /orionis/luminate/{support/paths → foundation/config/filesystems}/__init__.py +0 -0
  379. /orionis/luminate/{support/paths/contracts → foundation/config/filesystems/entitites}/__init__.py +0 -0
  380. /orionis/luminate/{support/standard → foundation/config/logging}/__init__.py +0 -0
  381. /orionis/luminate/{support/standard/contracts → foundation/config/logging/entities}/__init__.py +0 -0
  382. /orionis/luminate/{test/core → foundation/config/logging/enums}/__init__.py +0 -0
  383. /orionis/luminate/{test/core/contracts → foundation/config/mail}/__init__.py +0 -0
  384. {tests/config → orionis/luminate/foundation/config/mail/entities}/__init__.py +0 -0
  385. {tests/support/adapters → orionis/luminate/foundation/config/queue}/__init__.py +0 -0
  386. {tests/support/adapters/fakes → orionis/luminate/foundation/config/queue/entities}/__init__.py +0 -0
  387. {tests/support/async_io → orionis/luminate/foundation/config/roots}/__init__.py +0 -0
  388. {tests/support/parsers → orionis/luminate/foundation/config/session}/__init__.py +0 -0
  389. {tests/support/parsers/fakes → orionis/luminate/foundation/config/session/entities}/__init__.py +0 -0
  390. {tests/support/path → orionis/luminate/foundation/config/session/enums}/__init__.py +0 -0
  391. {tests/support/standard → orionis/luminate/foundation/config/testing}/__init__.py +0 -0
  392. /orionis/luminate/{support → services}/parsers/contracts/exception_parser.py +0 -0
  393. /orionis/luminate/{support → services}/standard/contracts/std.py +0 -0
  394. /orionis/luminate/test/exceptions/{test_exception.py → test_failure_exception.py} +0 -0
  395. /orionis/luminate/test/{core → suites}/contracts/test_unit.py +0 -0
  396. {orionis-0.253.0.dist-info → orionis-0.266.0.dist-info/licenses}/LICENCE +0 -0
  397. {orionis-0.253.0.dist-info → orionis-0.266.0.dist-info}/top_level.txt +0 -0
@@ -1,20 +0,0 @@
1
- from orionis.luminate.contracts.services.files.path_resolver_service import IPathResolverService
2
- from orionis.luminate.providers.service_provider import ServiceProvider
3
- from orionis.luminate.services_.files.path_resolver_service import PathResolverService
4
-
5
- class PathResolverProvider(ServiceProvider):
6
-
7
- def register(self) -> None:
8
- """
9
- Registers services or bindings into the given container.
10
- """
11
- self.app.singleton(IPathResolverService, PathResolverService)
12
-
13
- async def boot(self) -> None:
14
- """
15
- Boot the service provider.
16
-
17
- This method is intended to be overridden by subclasses to perform
18
- any necessary bootstrapping or initialization tasks.
19
- """
20
- await self.app.make(IPathResolverService)
@@ -1,10 +0,0 @@
1
- from orionis.luminate.services.workers.maximum_workers import MaximumWorkers
2
-
3
- __all__ = [
4
- "MaximumWorkers",
5
- ]
6
- __author__ = "Raúl Mauricio Uñate Castro"
7
- __description__ = (
8
- "This module provides a class to calculate the maximum number of workers "
9
- "that can be run on a machine based on its CPU and memory resources. "
10
- )
@@ -1,29 +0,0 @@
1
- class DotDict(dict):
2
-
3
- """
4
- A dictionary subclass that allows access to dictionary values using dot notation, with handling for missing keys.
5
- This class extends the built-in `dict` class to provide attribute-style access to dictionary keys. If a key is not found,
6
- it returns `None` instead of raising a `KeyError`. Additionally, nested dictionaries are automatically converted to `DotDict`
7
- instances.
8
- Methods
9
- -------
10
- __getattr__(item)
11
- Retrieves the value associated with the given key using dot notation. If the key does not exist, returns `None`.
12
- If the value is a dictionary, it is converted to a `DotDict` instance.
13
- """
14
-
15
- def __getattr__(self, item):
16
- """
17
- Retrieves the value associated with the given key using dot notation. If the key does not exist, returns `None`.
18
- If the value is a dictionary, it is converted to a `DotDict` instance.
19
- """
20
-
21
- # Retrieve the value associated with the key
22
- value = self.get(item, None)
23
-
24
- # If the value is a dictionary, convert it to a DotDict instance
25
- if isinstance(value, dict):
26
- return DotDict(value)
27
-
28
- # Otherwise, return the value
29
- return value
@@ -1,40 +0,0 @@
1
- import asyncio
2
- from inspect import iscoroutine
3
- from typing import Any, Coroutine, TypeVar, Union
4
- from orionis.luminate.support.asynchrony.contracts.async_coroutine import IAsyncIO
5
-
6
- T = TypeVar("T")
7
-
8
- class AsyncIO(IAsyncIO):
9
- """
10
- A utility class for executing coroutine objects in various asynchronous and synchronous contexts.
11
- This class provides a static method to execute coroutine objects, handling different scenarios
12
- such as running within an active event loop (e.g., in Jupyter notebooks or Starlette) or in a
13
- synchronous context without an active event
14
- """
15
-
16
- @staticmethod
17
- def run(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
18
- """
19
- Executes the given coroutine object, adapting to the current execution context.
20
- If there is an active event loop, it uses `asyncio.ensure_future` to schedule the coroutine.
21
- If there is no active event loop, it uses `asyncio.run` to run the coroutine directly.
22
- If the coroutine is already running, it returns a `Future` object that can be awaited.
23
-
24
- Parameters
25
- ----------
26
- coro : Coroutine[Any, Any, T]
27
- The coroutine object
28
- """
29
- if not iscoroutine(coro):
30
- raise TypeError("Expected a coroutine object.")
31
-
32
- try:
33
- loop = asyncio.get_running_loop()
34
- except RuntimeError:
35
- return asyncio.run(coro)
36
-
37
- if loop.is_running():
38
- return asyncio.ensure_future(coro)
39
- else:
40
- return loop.run_until_complete(coro)
@@ -1,26 +0,0 @@
1
- import asyncio
2
- from typing import Any, Coroutine, TypeVar, Union
3
-
4
- T = TypeVar("T")
5
-
6
- class IAsyncIO:
7
- """
8
- Interface for executing asynchronous coroutines.
9
- """
10
-
11
- @staticmethod
12
- def run(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
13
- """
14
- Execute the given coroutine.
15
-
16
- Parameters
17
- ----------
18
- coro : Coroutine[Any, Any, T]
19
- The coroutine to be executed.
20
-
21
- Returns
22
- -------
23
- Union[T, asyncio.Future]
24
- The result of the coroutine execution or a Future object.
25
- """
26
- pass
@@ -1,11 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Any, Dict
3
-
4
- @dataclass(frozen=True, kw_only=True)
5
- class AbstractClassAttributes:
6
- """
7
- A class to represent the attributes of an entity.
8
- """
9
- public: Dict[str, Any]
10
- private: Dict[str, Any]
11
- protected: Dict[str, Any]
@@ -1,5 +0,0 @@
1
- from orionis.luminate.support.introspection.dependencies.reflect_dependencies import ReflectDependencies
2
-
3
- __all__ = [
4
- "ReflectDependencies"
5
- ]
@@ -1,11 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Any, Dict, List
3
- from orionis.luminate.support.introspection.dependencies.entities.resolved_dependencies import ResolvedDependency
4
-
5
- @dataclass(frozen=True, kw_only=True)
6
- class ClassDependency:
7
- """
8
- A class to represent a dependency of a class instance.
9
- """
10
- resolved: Dict[ResolvedDependency, Any]
11
- unresolved: List[str]
@@ -1,11 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Any, Dict, List
3
- from orionis.luminate.support.introspection.dependencies.entities.resolved_dependencies import ResolvedDependency
4
-
5
- @dataclass(frozen=True, kw_only=True)
6
- class MethodDependency:
7
- """
8
- A class to represent a method dependency of a class instance.
9
- """
10
- resolved: Dict[ResolvedDependency, Any]
11
- unresolved: List[str]
@@ -1,12 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Type
3
-
4
- @dataclass(frozen=True, kw_only=True)
5
- class ResolvedDependency:
6
- """
7
- A class to represent a resolved dependency of a class instance.
8
- """
9
- module_name: str
10
- class_name: str
11
- type: Type
12
- full_class_path: str
@@ -1,67 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from typing import Optional
3
-
4
- class IResolver(ABC):
5
- """
6
- Interface for a utility class that resolves file and directory paths relative to a base path.
7
- """
8
-
9
- @abstractmethod
10
- def __init__(self, root_path: Optional[str] = None):
11
- """
12
- Initializes the resolver with an optional root path.
13
-
14
- Parameters
15
- ----------
16
- root_path : str, optional
17
- The root directory to resolve relative paths from.
18
- """
19
- pass
20
-
21
- @abstractmethod
22
- def relativePath(self, relative_path: str):
23
- """
24
- Resolves a relative path into an absolute one and validates its existence.
25
-
26
- Parameters
27
- ----------
28
- relative_path : str
29
- The relative path to resolve.
30
-
31
- Returns
32
- -------
33
- ResolverInterface
34
- The instance itself for method chaining.
35
-
36
- Raises
37
- ------
38
- FileNotFoundError
39
- If the resolved path does not exist.
40
- ValueError
41
- If the resolved path is neither a file nor a directory.
42
- """
43
- pass
44
-
45
- @abstractmethod
46
- def toString(self) -> str:
47
- """
48
- Returns the resolved path as a string.
49
-
50
- Returns
51
- -------
52
- str
53
- The resolved path.
54
- """
55
- pass
56
-
57
- @abstractmethod
58
- def __str__(self) -> str:
59
- """
60
- Returns the resolved path as a string (for print or str()).
61
-
62
- Returns
63
- -------
64
- str
65
- The resolved path.
66
- """
67
- pass
@@ -1,83 +0,0 @@
1
- import os
2
- from pathlib import Path
3
- from orionis.luminate.support.paths.contracts.resolver import IResolver
4
-
5
- class Resolver(IResolver):
6
- """
7
- A utility class for resolving file and directory paths relative to the project's root directory.
8
- """
9
-
10
- def __init__(self, root_path: str = None):
11
- """
12
- Initializes the Resolver instance with the project's root directory.
13
-
14
- Parameters
15
- ----------
16
- root_path : str, optional
17
- The root directory of the project. If not provided, it defaults to the current working directory.
18
- """
19
- self.base_path = Path(root_path).resolve() if root_path else Path(os.getcwd()).resolve()
20
- self.resolved_path = None
21
-
22
- def relativePath(self, relative_path: str) -> 'Resolver':
23
- """
24
- Resolves a given relative path to an absolute path and validates its existence.
25
-
26
- This method combines the project's root directory with the provided relative path,
27
- resolves it to an absolute path, and ensures it exists as either a directory or a file.
28
-
29
- Parameters
30
- ----------
31
- relative_path : str
32
- The relative path to a directory or file to be resolved.
33
-
34
- Returns
35
- -------
36
- Resolver
37
- The current instance of the Resolver class with the resolved path.
38
-
39
- Raises
40
- ------
41
- FileNotFoundError
42
- If the resolved path does not exist.
43
- ValueError
44
- If the resolved path is neither a valid directory nor a file.
45
- """
46
- # Combine the base path with the relative path and resolve it
47
- resolved_path = (self.base_path / relative_path).resolve()
48
-
49
- # Validate that the path exists
50
- if not resolved_path.exists():
51
- raise FileNotFoundError(f"The requested path does not exist: {resolved_path}")
52
-
53
- # Validate that the path is either a directory or a file
54
- if not (resolved_path.is_dir() or resolved_path.is_file()):
55
- raise ValueError(f"The requested path is neither a valid directory nor a file: {resolved_path}")
56
-
57
- # Store the resolved path in the instance variable
58
- self.resolved_path = resolved_path
59
-
60
- # Return the current instance
61
- return self
62
-
63
- def toString(self) -> str:
64
- """
65
- Returns the string representation of the resolved path.
66
-
67
- Returns
68
- -------
69
- str
70
- The resolved path as a string.
71
- """
72
- return str(self.resolved_path)
73
-
74
- def __str__(self) -> str:
75
- """
76
- Returns the string representation of the resolved path.
77
-
78
- Returns
79
- -------
80
- str
81
- The resolved path as a string.
82
- """
83
- return str(self.resolved_path)
@@ -1,30 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from orionis.luminate.config.entities.testing import Testing
3
- from orionis.luminate.test.core.test_unit import UnitTest
4
-
5
- class ITestSuite(ABC):
6
- """
7
- Interface for configuring and initializing a UnitTest suite using a provided Testing configuration.
8
- Methods:
9
- config(config: Testing) -> UnitTest:
10
- """
11
-
12
- @staticmethod
13
- @abstractmethod
14
- def config(config:Testing) -> UnitTest:
15
- """
16
- Configures and initializes a UnitTest suite based on the provided Testing configuration.
17
- Args:
18
- config (Testing): An instance of the Testing class containing configuration options for the test suite.
19
- Returns:
20
- UnitTest: An initialized UnitTest suite configured according to the provided settings.
21
- Raises:
22
- OrionisTestConfigException: If the config parameter is not an instance of the Testing class.
23
- The function performs the following steps:
24
- - Validates the type of the config parameter.
25
- - Initializes a UnitTest suite and applies configuration values from the Testing instance.
26
- - Discovers folders containing test files based on the specified base path, folder path(s), and filename pattern.
27
- - Adds discovered test folders to the UnitTest suite, applying optional test name patterns and tags.
28
- - Returns the configured UnitTest suite ready for execution.
29
- """
30
- pass
@@ -1,93 +0,0 @@
1
- import re
2
- from os import walk
3
- from orionis.luminate.config.entities.testing import Testing
4
- from orionis.luminate.test.core.contracts.test_suite import ITestSuite
5
- from orionis.luminate.test.core.test_unit import UnitTest
6
- from orionis.luminate.test.exceptions.test_config_exception import OrionisTestConfigException
7
-
8
- class TestSuite(ITestSuite):
9
- """
10
- TestSuite provides static configuration and initialization of a unit test suite based on a given Testing configuration.
11
- Methods:
12
- config(config: Testing) -> UnitTest
13
- Configures and initializes a test suite using the provided Testing configuration.
14
- - Validates the type of the configuration object.
15
- - Sets up the UnitTest suite with parameters such as verbosity, execution mode, worker count, and error handling.
16
- - Discovers test folders based on base path, folder path(s), and filename pattern, supporting wildcards.
17
- - Adds discovered test folders to the suite, optionally filtering by test name pattern and tags.
18
- OrionisTestConfigException: If the provided config is not an instance of the Testing class.
19
- """
20
-
21
- @staticmethod
22
- def config(config:Testing) -> UnitTest:
23
- """
24
- Configures and initializes a UnitTest suite based on the provided Testing configuration.
25
- Args:
26
- config (Testing): An instance of the Testing class containing configuration options for the test suite.
27
- Returns:
28
- UnitTest: An initialized UnitTest suite configured according to the provided settings.
29
- Raises:
30
- OrionisTestConfigException: If the config parameter is not an instance of the Testing class.
31
- The function performs the following steps:
32
- - Validates the type of the config parameter.
33
- - Initializes a UnitTest suite and applies configuration values from the Testing instance.
34
- - Discovers folders containing test files based on the specified base path, folder path(s), and filename pattern.
35
- - Adds discovered test folders to the UnitTest suite, applying optional test name patterns and tags.
36
- - Returns the configured UnitTest suite ready for execution.
37
- """
38
-
39
- # Check if the config is an instance of Testing
40
- if not isinstance(config, Testing):
41
- raise OrionisTestConfigException("The config parameter must be an instance of the Testing class.")
42
-
43
- # Initialize the test suite
44
- tests = UnitTest()
45
-
46
- # Assign config values to the test suite
47
- tests.configure(
48
- verbosity=config.verbosity,
49
- execution_mode=config.execution_mode,
50
- max_workers=config.max_workers,
51
- fail_fast=config.fail_fast,
52
- print_result=config.print_result,
53
- throw_exception=config.throw_exception
54
- )
55
-
56
- # Extract configuration values
57
- base_path = config.base_path
58
- folder_path = config.folder_path
59
- pattern = config.pattern
60
-
61
- # Helper function to list folders matching the pattern
62
- def list_matching_folders(custom_path: str, pattern: str):
63
- matched_folders = []
64
- for root, _, files in walk(custom_path):
65
- for file in files:
66
- if re.fullmatch(pattern.replace('*', '.*').replace('?', '.'), file):
67
- relative_path = root.replace(base_path, '').replace('\\', '/').lstrip('/')
68
- if relative_path not in matched_folders:
69
- matched_folders.append(relative_path)
70
- return matched_folders
71
-
72
- # Discover folders
73
- discovered_folders = []
74
- if folder_path == '*':
75
- discovered_folders.extend(list_matching_folders(base_path, pattern))
76
- elif isinstance(folder_path, list):
77
- for custom_path in folder_path:
78
- discovered_folders.extend(list_matching_folders(f"{base_path}/{custom_path}", pattern))
79
- else:
80
- discovered_folders.extend(list_matching_folders(folder_path, pattern))
81
-
82
- # Add discovered folders to the test suite
83
- for folder in discovered_folders:
84
- tests.discoverTestsInFolder(
85
- folder_path=folder,
86
- base_path=base_path,
87
- pattern=pattern,
88
- test_name_pattern=config.test_name_pattern if config.test_name_pattern else None,
89
- tags=config.tags if config.tags else None
90
- )
91
-
92
- # Return the initialized test suite
93
- return tests