orionis 0.252.0__py3-none-any.whl → 0.265.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.252.0.dist-info → orionis-0.265.0.dist-info}/METADATA +19 -3
  159. orionis-0.265.0.dist-info/RECORD +440 -0
  160. {orionis-0.252.0.dist-info → orionis-0.265.0.dist-info}/WHEEL +1 -1
  161. orionis-0.265.0.dist-info/entry_points.txt +2 -0
  162. orionis-0.265.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.252.0.dist-info/RECORD +0 -318
  269. orionis-0.252.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.252.0.dist-info → orionis-0.265.0.dist-info/licenses}/LICENCE +0 -0
  397. {orionis-0.252.0.dist-info → orionis-0.265.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,203 @@
1
+ from dataclasses import asdict, dataclass, field
2
+ from orionis.luminate.foundation.config.app.entities.app import App
3
+ from orionis.luminate.foundation.config.auth.entities.auth import Auth
4
+ from orionis.luminate.foundation.config.cache.entities.cache import Cache
5
+ from orionis.luminate.foundation.config.cors.entities.cors import Cors
6
+ from orionis.luminate.foundation.config.database.entities.database import Database
7
+ from orionis.luminate.foundation.config.exceptions.integrity import OrionisIntegrityException
8
+ from orionis.luminate.foundation.config.filesystems.entitites.filesystems import Filesystems
9
+ from orionis.luminate.foundation.config.logging.entities.logging import Logging
10
+ from orionis.luminate.foundation.config.mail.entities.mail import Mail
11
+ from orionis.luminate.foundation.config.queue.entities.queue import Queue
12
+ from orionis.luminate.foundation.config.roots.paths import Paths
13
+ from orionis.luminate.foundation.config.session.entities.session import Session
14
+ from orionis.luminate.foundation.config.testing.entities.testing import Testing
15
+
16
+ @dataclass
17
+ class Configuration:
18
+ """
19
+ Configuration class encapsulates all major configuration sections for the application.
20
+ Attributes:
21
+ paths (Paths): Paths configuration settings.
22
+ app (App): Application configuration settings.
23
+ auth (Auth): Authentication configuration settings.
24
+ cache (Cache): Cache configuration settings.
25
+ cors (Cors): CORS configuration settings.
26
+ database (Database): Database configuration settings.
27
+ filesystems (Filesystems): Filesystem configuration settings.
28
+ logging (Logging): Logging configuration settings.
29
+ mail (Mail): Mail configuration settings.
30
+ queue (Queue): Queue configuration settings.
31
+ session (Session): Session configuration settings.
32
+ testing (Testing): Testing configuration settings.
33
+ """
34
+ paths : Paths = field(
35
+ default_factory=Paths,
36
+ metadata={
37
+ "description": "Paths configuration settings."
38
+ }
39
+ )
40
+
41
+ app : App = field(
42
+ default_factory=App,
43
+ metadata={
44
+ "description": "Application configuration settings."
45
+ }
46
+ )
47
+
48
+ auth : Auth = field(
49
+ default_factory=Auth,
50
+ metadata={
51
+ "description": "Authentication configuration settings."
52
+ }
53
+ )
54
+
55
+ cache : Cache = field(
56
+ default_factory=Cache,
57
+ metadata={
58
+ "description": "Cache configuration settings."
59
+ }
60
+ )
61
+
62
+ cors : Cors = field(
63
+ default_factory=Cors,
64
+ metadata={
65
+ "description": "CORS configuration settings."
66
+ }
67
+ )
68
+
69
+ database : Database = field(
70
+ default_factory=Database,
71
+ metadata={
72
+ "description": "Database configuration settings."
73
+ }
74
+ )
75
+
76
+ filesystems : Filesystems = field(
77
+ default_factory=Filesystems,
78
+ metadata={
79
+ "description": "Filesystem configuration settings."
80
+ }
81
+ )
82
+
83
+ logging : Logging = field(
84
+ default_factory=Logging,
85
+ metadata={
86
+ "description": "Logging configuration settings."
87
+ }
88
+ )
89
+
90
+ mail : Mail = field(
91
+ default_factory=Mail,
92
+ metadata={
93
+ "description": "Mail configuration settings."
94
+ }
95
+ )
96
+
97
+ queue : Queue = field(
98
+ default_factory=Queue,
99
+ metadata={
100
+ "description": "Queue configuration settings."
101
+ }
102
+ )
103
+
104
+ session : Session = field(
105
+ default_factory=Session,
106
+ metadata={
107
+ "description": "Session configuration settings."
108
+ }
109
+ )
110
+
111
+ testing : Testing = field(
112
+ default_factory=Testing,
113
+ metadata={
114
+ "description": "Testing configuration settings."
115
+ }
116
+ )
117
+
118
+ def __post_init__(self):
119
+ """
120
+ Validates the types of the configuration attributes after initialization.
121
+ Raises:
122
+ OrionisIntegrityException: If any of the following attributes are not instances of their expected types:
123
+ - paths (Paths)
124
+ - app (App)
125
+ - auth (Auth)
126
+ - cache (Cache)
127
+ - cors (Cors)
128
+ - database (Database)
129
+ - filesystems (Filesystems)
130
+ - logging (Logging)
131
+ - mail (Mail)
132
+ - queue (Queue)
133
+ - session (Session)
134
+ - testing (Testing)
135
+ """
136
+
137
+ if not isinstance(self.paths, Paths):
138
+ raise OrionisIntegrityException(
139
+ f"Invalid type for 'paths': expected Paths, got {type(self.paths).__name__}"
140
+ )
141
+
142
+ if not isinstance(self.app, App):
143
+ raise OrionisIntegrityException(
144
+ f"Invalid type for 'app': expected App, got {type(self.app).__name__}"
145
+ )
146
+
147
+ if not isinstance(self.auth, Auth):
148
+ raise OrionisIntegrityException(
149
+ f"Invalid type for 'auth': expected Auth, got {type(self.auth).__name__}"
150
+ )
151
+
152
+ if not isinstance(self.cache, Cache):
153
+ raise OrionisIntegrityException(
154
+ f"Invalid type for 'cache': expected Cache, got {type(self.cache).__name__}"
155
+ )
156
+
157
+ if not isinstance(self.cors, Cors):
158
+ raise OrionisIntegrityException(
159
+ f"Invalid type for 'cors': expected Cors, got {type(self.cors).__name__}"
160
+ )
161
+
162
+ if not isinstance(self.database, Database):
163
+ raise OrionisIntegrityException(
164
+ f"Invalid type for 'database': expected Database, got {type(self.database).__name__}"
165
+ )
166
+
167
+ if not isinstance(self.filesystems, Filesystems):
168
+ raise OrionisIntegrityException(
169
+ f"Invalid type for 'filesystems': expected Filesystems, got {type(self.filesystems).__name__}"
170
+ )
171
+
172
+ if not isinstance(self.logging, Logging):
173
+ raise OrionisIntegrityException(
174
+ f"Invalid type for 'logging': expected Logging, got {type(self.logging).__name__}"
175
+ )
176
+
177
+ if not isinstance(self.mail, Mail):
178
+ raise OrionisIntegrityException(
179
+ f"Invalid type for 'mail': expected Mail, got {type(self.mail).__name__}"
180
+ )
181
+
182
+ if not isinstance(self.queue, Queue):
183
+ raise OrionisIntegrityException(
184
+ f"Invalid type for 'queue': expected Queue, got {type(self.queue).__name__}"
185
+ )
186
+
187
+ if not isinstance(self.session, Session):
188
+ raise OrionisIntegrityException(
189
+ f"Invalid type for 'session': expected Session, got {type(self.session).__name__}"
190
+ )
191
+
192
+ if not isinstance(self.testing, Testing):
193
+ raise OrionisIntegrityException(
194
+ f"Invalid type for 'testing': expected Testing, got {type(self.testing).__name__}"
195
+ )
196
+
197
+ def toDict(self) -> dict:
198
+ """
199
+ Convert the object to a dictionary representation.
200
+ Returns:
201
+ dict: A dictionary representation of the Dataclass object.
202
+ """
203
+ return asdict(self)
@@ -1,17 +1,10 @@
1
- from dataclasses import dataclass, field
2
- from typing import Any, List
3
- from orionis.luminate.config.exceptions.integrity_exception import OrionisIntegrityException
4
- from orionis.luminate.services.workers.maximum_workers import MaximumWorkers
1
+ from dataclasses import asdict, dataclass, field
2
+ from typing import List
3
+ from orionis.luminate.foundation.config.exceptions.integrity import OrionisIntegrityException
4
+ from orionis.luminate.services.system.workers import Workers
5
+ from orionis.luminate.test.enums.test_mode import ExecutionMode
5
6
 
6
- def defaultExecutionMode() -> Any:
7
- """
8
- This function is a placeholder for the ExecutionMode enumeration.
9
- In a real-world scenario, this would be replaced with the actual import statement.
10
- """
11
- from orionis.luminate.test.enums.test_mode import ExecutionMode
12
- return ExecutionMode.SEQUENTIAL
13
-
14
- @dataclass(frozen=True, kw_only=True, slots=True)
7
+ @dataclass(unsafe_hash=True, kw_only=True)
15
8
  class Testing:
16
9
  """
17
10
  Testing is a dataclass that holds configuration options for running tests.
@@ -34,6 +27,7 @@ class Testing:
34
27
  test_name_pattern (str | None): A pattern to match specific test names. Default is None.
35
28
  tags (List[str] | None): A list of tags to filter tests. Default is None.
36
29
  """
30
+
37
31
  verbosity: int = field(
38
32
  default=2,
39
33
  metadata={
@@ -43,21 +37,21 @@ class Testing:
43
37
  }
44
38
  )
45
39
 
46
- execution_mode : Any = field(
47
- default_factory=lambda: defaultExecutionMode(),
40
+ execution_mode : str | ExecutionMode = field(
41
+ default=ExecutionMode.SEQUENTIAL,
48
42
  metadata={
49
- "description": "The mode of test execution. Default is ExecutionMode.SEQUENTIAL.",
43
+ "description": "The mode of test execution. Default is ExecutionMode.SEQUENTIAL",
50
44
  "required": True,
51
45
  "default": "ExecutionMode.SEQUENTIAL"
52
46
  }
53
47
  )
54
48
 
55
49
  max_workers: int = field(
56
- default_factory=lambda : MaximumWorkers().calculate(),
50
+ default_factory=lambda : Workers().calculate(),
57
51
  metadata={
58
52
  "description": "The maximum number of worker threads/processes to use when running tests in parallel. Default is 4.",
59
53
  "required": True,
60
- "default": "MaximumWorkers.calculate()"
54
+ "default": "Workers.calculate()"
61
55
  }
62
56
  )
63
57
 
@@ -147,16 +141,29 @@ class Testing:
147
141
  Raises:
148
142
  OrionisIntegrityException: If any of the attributes do not meet the specified constraints.
149
143
  """
144
+
150
145
  if not isinstance(self.verbosity, int) or self.verbosity < 0 or self.verbosity > 2:
151
146
  raise OrionisIntegrityException(
152
147
  f"Invalid value for 'verbosity': {self.verbosity}. It must be an integer between 0 (silent) and 2 (detailed output)."
153
148
  )
154
149
 
155
- if self.execution_mode is None:
150
+ if not isinstance(self.execution_mode, (str, ExecutionMode)):
156
151
  raise OrionisIntegrityException(
157
- "'execution_mode' cannot be None. Please provide a valid ExecutionMode value."
152
+ f"Invalid type for 'execution_mode': {type(self.execution_mode).__name__}. It must be a string or an instance of ExecutionMode."
158
153
  )
159
154
 
155
+ if isinstance(self.execution_mode, str):
156
+ options_modes = ExecutionMode._member_names_
157
+ _value = str(self.execution_mode).upper().strip()
158
+ if _value not in options_modes:
159
+ raise OrionisIntegrityException(
160
+ f"Invalid value for 'execution_mode': {self.execution_mode}. It must be one of: {str(options_modes)}."
161
+ )
162
+ else:
163
+ self.execution_mode = ExecutionMode[_value].value
164
+ elif isinstance(self.execution_mode, ExecutionMode):
165
+ self.execution_mode = self.execution_mode.value
166
+
160
167
  if not isinstance(self.max_workers, int) or self.max_workers < 1:
161
168
  raise OrionisIntegrityException(
162
169
  f"Invalid value for 'max_workers': {self.max_workers}. It must be a positive integer greater than 0."
@@ -213,3 +220,12 @@ class Testing:
213
220
  raise OrionisIntegrityException(
214
221
  f"Invalid type for tag at index {i} in 'tags': {type(tag).__name__}. Each tag must be a string."
215
222
  )
223
+
224
+ def toDict(self) -> dict:
225
+ """
226
+ Convert the object to a dictionary representation.
227
+ Returns:
228
+ dict: A dictionary representation of the Dataclass object.
229
+ """
230
+ return asdict(self)
231
+
@@ -0,0 +1,12 @@
1
+ from enum import Enum
2
+
3
+ class ExecutionMode(Enum):
4
+ """
5
+ Enumeration of possible execution modes for running tests.
6
+
7
+ Attributes:
8
+ SEQUENTIAL: Execute tests one after another in sequence.
9
+ PARALLEL: Execute tests concurrently in parallel.
10
+ """
11
+ SEQUENTIAL = "sequential"
12
+ PARALLEL = "parallel"
@@ -1,4 +0,0 @@
1
- __description__ = (
2
- "Modules:\n"
3
- " - singleton: Provides a singleton metaclass to ensure a class has only one instance.\n"
4
- )
@@ -1,10 +0,0 @@
1
- from orionis.luminate.patterns.singleton.meta_class import Singleton
2
-
3
- __all__ = [
4
- "Singleton",
5
- ]
6
- __author__ = "Raúl Mauricio Uñate Castro"
7
- __description__ = (
8
- "This module provides a singleton class to manage environment variables. "
9
- "It allows setting, getting, and deleting environment variables."
10
- )
File without changes
@@ -0,0 +1,31 @@
1
+ import asyncio
2
+ from typing import Any, Coroutine, TypeVar, Union
3
+
4
+ T = TypeVar("T")
5
+
6
+ def run_coroutine(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
7
+ """
8
+ Executes the given coroutine object, adapting to the current execution context.
9
+ If there is an active event loop, it uses `asyncio.ensure_future` to schedule the coroutine.
10
+ If there is no active event loop, it uses `asyncio.run` to run the coroutine directly.
11
+ If the coroutine is already running, it returns a `Future` object that can be awaited.
12
+
13
+ Parameters
14
+ ----------
15
+ coro : Coroutine[Any, Any, T]
16
+ The coroutine object
17
+ """
18
+ from inspect import iscoroutine
19
+
20
+ if not iscoroutine(coro):
21
+ raise TypeError("Expected a coroutine object.")
22
+
23
+ try:
24
+ loop = asyncio.get_running_loop()
25
+ except RuntimeError:
26
+ return asyncio.run(coro)
27
+
28
+ if loop.is_running():
29
+ return asyncio.ensure_future(coro)
30
+ else:
31
+ return loop.run_until_complete(coro)
@@ -1,10 +0,0 @@
1
- from orionis.luminate.services.environment.env import Env
2
-
3
- __all__ = [
4
- "Env",
5
- ]
6
- __author__ = "Raúl Mauricio Uñate Castro"
7
- __description__ = (
8
- "This module provides a singleton class to manage environment variables. "
9
- "It allows setting, getting, and deleting environment variables."
10
- )
@@ -1,5 +0,0 @@
1
- from orionis.luminate.services.environment.dot_env import DotEnv
2
-
3
- __all__ = [
4
- "DotEnv",
5
- ]
@@ -59,17 +59,6 @@ class IEnv(ABC):
59
59
  """
60
60
  pass
61
61
 
62
- @staticmethod
63
- @abstractmethod
64
- def destroy() -> bool:
65
- """
66
- Clears the entire environment.
67
-
68
- Returns:
69
- True if successful, False otherwise
70
- """
71
- pass
72
-
73
62
  @staticmethod
74
63
  @abstractmethod
75
64
  def toJson() -> str: