orionis 0.43.0__tar.gz → 0.46.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. {orionis-0.43.0 → orionis-0.46.0}/MANIFEST.in +1 -1
  2. {orionis-0.43.0/orionis.egg-info → orionis-0.46.0}/PKG-INFO +1 -1
  3. orionis-0.46.0/orionis/cli_manager.py +34 -0
  4. orionis-0.46.0/orionis/contracts/bootstrap/i_command_bootstrapper.py +59 -0
  5. orionis-0.46.0/orionis/contracts/bootstrap/i_config_bootstrapper.py +112 -0
  6. orionis-0.46.0/orionis/contracts/bootstrap/i_environment_bootstrapper.py +33 -0
  7. orionis-0.43.0/orionis/luminate/contracts/console/base/base_command_interface.py → orionis-0.46.0/orionis/contracts/console/base/i_command.py +0 -1
  8. orionis-0.46.0/orionis/contracts/facades/config/i_config_facade.py +37 -0
  9. orionis-0.46.0/orionis/contracts/facades/environment/i_environment_facade.py +40 -0
  10. orionis-0.43.0/orionis/luminate/contracts/facades/paths_interface.py → orionis-0.46.0/orionis/contracts/facades/files/i_path_facade.py +27 -20
  11. orionis-0.46.0/orionis/contracts/facades/log/i_log_facade.py +83 -0
  12. orionis-0.43.0/orionis/luminate/contracts/facades/tests_interface.py → orionis-0.46.0/orionis/contracts/facades/tests/i_tests_facade.py +3 -6
  13. orionis-0.43.0/orionis/luminate/contracts/console/scripts/management_interface.py → orionis-0.46.0/orionis/contracts/installer/i_installer_manager.py +19 -16
  14. orionis-0.46.0/orionis/contracts/installer/i_installer_output.py +101 -0
  15. orionis-0.46.0/orionis/contracts/installer/i_installer_setup.py +59 -0
  16. orionis-0.46.0/orionis/contracts/providers/i_service_provider.py +27 -0
  17. orionis-0.46.0/orionis/contracts/services/config/i_config_service.py +37 -0
  18. orionis-0.46.0/orionis/contracts/services/files/i_path_service.py +31 -0
  19. orionis-0.46.0/orionis/contracts/services/log/i_log_service.py +89 -0
  20. orionis-0.43.0/orionis/luminate/facades/environment.py → orionis-0.46.0/orionis/contracts/support/i_environment.py +25 -32
  21. orionis-0.43.0/orionis/luminate/contracts/tools/exception_to_dict_interface.py → orionis-0.46.0/orionis/contracts/support/i_exception_to_dict.py +0 -9
  22. orionis-0.43.0/orionis/luminate/contracts/tools/reflection_interface.py → orionis-0.46.0/orionis/contracts/support/i_reflection.py +17 -8
  23. orionis-0.43.0/orionis/luminate/contracts/tools/std_interface.py → orionis-0.46.0/orionis/contracts/support/i_std.py +3 -16
  24. {orionis-0.43.0 → orionis-0.46.0}/orionis/framework.py +1 -1
  25. orionis-0.43.0/orionis/luminate/console/scripts/management.py → orionis-0.46.0/orionis/installer/installer_manager.py +22 -16
  26. orionis-0.43.0/orionis/luminate/installer/output.py → orionis-0.46.0/orionis/installer/installer_output.py +16 -10
  27. orionis-0.43.0/orionis/luminate/installer/setup.py → orionis-0.46.0/orionis/installer/installer_setup.py +13 -25
  28. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/app.py +15 -11
  29. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/app_context.py +1 -1
  30. orionis-0.46.0/orionis/luminate/bootstrap/command_bootstrapper.py +150 -0
  31. orionis-0.46.0/orionis/luminate/bootstrap/config_bootstrapper.py +168 -0
  32. orionis-0.46.0/orionis/luminate/bootstrap/environment_bootstrapper.py +67 -0
  33. orionis-0.46.0/orionis/luminate/config/helpers.py +20 -0
  34. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/base/command.py +1 -3
  35. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/command_filter.py +2 -2
  36. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/commands/cache_clear.py +17 -5
  37. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/commands/help.py +19 -13
  38. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/commands/schedule_work.py +6 -3
  39. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/commands/tests.py +1 -6
  40. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/commands/version.py +0 -5
  41. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/exceptions/cli_exception.py +1 -4
  42. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/kernel.py +2 -2
  43. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/output/console.py +2 -2
  44. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/output/executor.py +1 -1
  45. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/output/progress_bar.py +1 -1
  46. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/parser.py +2 -2
  47. orionis-0.46.0/orionis/luminate/console/runner.py +127 -0
  48. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/tasks/scheduler.py +8 -7
  49. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/container/container.py +1 -1
  50. orionis-0.46.0/orionis/luminate/container/types.py +51 -0
  51. orionis-0.46.0/orionis/luminate/facades/config/config_facade.py +43 -0
  52. orionis-0.46.0/orionis/luminate/facades/environment/environment_facade.py +68 -0
  53. orionis-0.43.0/orionis/luminate/facades/paths.py → orionis-0.46.0/orionis/luminate/facades/files/path_facade.py +50 -6
  54. orionis-0.46.0/orionis/luminate/facades/log/log_facade.py +95 -0
  55. orionis-0.43.0/orionis/luminate/facades/tests.py → orionis-0.46.0/orionis/luminate/facades/tests/tests_facade.py +1 -1
  56. orionis-0.46.0/orionis/luminate/pipelines/cli_pipeline.py +122 -0
  57. orionis-0.46.0/orionis/luminate/providers/__init__.py +0 -0
  58. orionis-0.46.0/orionis/luminate/providers/config/__init__.py +0 -0
  59. orionis-0.46.0/orionis/luminate/providers/config/config_service_provider.py +26 -0
  60. orionis-0.46.0/orionis/luminate/providers/files/__init__.py +0 -0
  61. orionis-0.46.0/orionis/luminate/providers/files/path_service_provider.py +26 -0
  62. orionis-0.46.0/orionis/luminate/providers/log/__init__.py +0 -0
  63. orionis-0.46.0/orionis/luminate/providers/log/log_service_provider.py +26 -0
  64. orionis-0.46.0/orionis/luminate/services/__init__.py +0 -0
  65. orionis-0.46.0/orionis/luminate/services/config/__init__.py +0 -0
  66. orionis-0.46.0/orionis/luminate/services/config/config_service.py +72 -0
  67. orionis-0.46.0/orionis/luminate/services/files/__init__.py +0 -0
  68. orionis-0.46.0/orionis/luminate/services/files/path_service.py +71 -0
  69. orionis-0.46.0/orionis/luminate/services/log/__init__.py +0 -0
  70. orionis-0.46.0/orionis/luminate/services/log/log_service.py +159 -0
  71. {orionis-0.43.0/orionis/luminate/config → orionis-0.46.0/orionis/luminate/support}/environment.py +21 -32
  72. {orionis-0.43.0/orionis/luminate/tools → orionis-0.46.0/orionis/luminate/support}/exception_to_dict.py +1 -1
  73. {orionis-0.43.0/orionis/luminate/tools → orionis-0.46.0/orionis/luminate/support}/reflection.py +1 -1
  74. {orionis-0.43.0/orionis/luminate/tools → orionis-0.46.0/orionis/luminate/support}/std.py +1 -1
  75. orionis-0.46.0/orionis/luminate/test/__init__.py +0 -0
  76. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/test/unit_test.py +1 -2
  77. {orionis-0.43.0 → orionis-0.46.0/orionis.egg-info}/PKG-INFO +1 -1
  78. orionis-0.46.0/orionis.egg-info/SOURCES.txt +161 -0
  79. orionis-0.46.0/tests/__init__.py +0 -0
  80. orionis-0.46.0/tests/tools/__init__.py +0 -0
  81. {orionis-0.43.0 → orionis-0.46.0}/tests/tools/test_reflection.py +1 -1
  82. orionis-0.43.0/orionis/cli_manager.py +0 -48
  83. orionis-0.43.0/orionis/luminate/bootstrap/commands/bootstrapper.py +0 -101
  84. orionis-0.43.0/orionis/luminate/bootstrap/commands/register.py +0 -92
  85. orionis-0.43.0/orionis/luminate/bootstrap/config/bootstrapper.py +0 -79
  86. orionis-0.43.0/orionis/luminate/bootstrap/config/parser.py +0 -53
  87. orionis-0.43.0/orionis/luminate/bootstrap/config/register.py +0 -76
  88. orionis-0.43.0/orionis/luminate/cache/app/config.py +0 -91
  89. orionis-0.43.0/orionis/luminate/cache/console/commands.py +0 -97
  90. orionis-0.43.0/orionis/luminate/console/cache.py +0 -87
  91. orionis-0.43.0/orionis/luminate/console/command.py +0 -40
  92. orionis-0.43.0/orionis/luminate/console/runner.py +0 -126
  93. orionis-0.43.0/orionis/luminate/container/types.py +0 -25
  94. orionis-0.43.0/orionis/luminate/contracts/bootstrap/commands/bootstrapper_interface.py +0 -44
  95. orionis-0.43.0/orionis/luminate/contracts/bootstrap/commands/register_interface.py +0 -33
  96. orionis-0.43.0/orionis/luminate/contracts/bootstrap/config/bootstrapper_interface.py +0 -40
  97. orionis-0.43.0/orionis/luminate/contracts/bootstrap/config/parser_interface.py +0 -46
  98. orionis-0.43.0/orionis/luminate/contracts/bootstrap/config/register_interface.py +0 -47
  99. orionis-0.43.0/orionis/luminate/contracts/cache/app/config_interface.py +0 -76
  100. orionis-0.43.0/orionis/luminate/contracts/cache/console/commands_interface.py +0 -78
  101. orionis-0.43.0/orionis/luminate/contracts/config/environment_interface.py +0 -64
  102. orionis-0.43.0/orionis/luminate/contracts/console/command_interface.py +0 -36
  103. orionis-0.43.0/orionis/luminate/contracts/console/runner_interface.py +0 -50
  104. orionis-0.43.0/orionis/luminate/contracts/facades/env_interface.py +0 -64
  105. orionis-0.43.0/orionis/luminate/contracts/facades/log_interface.py +0 -48
  106. orionis-0.43.0/orionis/luminate/contracts/files/paths_interface.py +0 -29
  107. orionis-0.43.0/orionis/luminate/contracts/installer/output_interface.py +0 -125
  108. orionis-0.43.0/orionis/luminate/contracts/installer/setup_interface.py +0 -29
  109. orionis-0.43.0/orionis/luminate/contracts/installer/upgrade_interface.py +0 -24
  110. orionis-0.43.0/orionis/luminate/contracts/log/logger_interface.py +0 -33
  111. orionis-0.43.0/orionis/luminate/contracts/pipelines/cli_pipeline_interface.py +0 -84
  112. orionis-0.43.0/orionis/luminate/contracts/publisher/pypi_publisher_interface.py +0 -36
  113. orionis-0.43.0/orionis/luminate/contracts/test/unit_test_interface.py +0 -51
  114. orionis-0.43.0/orionis/luminate/facades/config.py +0 -10
  115. orionis-0.43.0/orionis/luminate/facades/log.py +0 -56
  116. orionis-0.43.0/orionis/luminate/files/paths.py +0 -56
  117. orionis-0.43.0/orionis/luminate/installer/upgrade.py +0 -42
  118. orionis-0.43.0/orionis/luminate/log/logger.py +0 -116
  119. orionis-0.43.0/orionis/luminate/pipelines/cli_pipeline.py +0 -116
  120. orionis-0.43.0/orionis/luminate/publisher/pypi.py +0 -215
  121. orionis-0.43.0/orionis.egg-info/SOURCES.txt +0 -160
  122. {orionis-0.43.0 → orionis-0.46.0}/LICENCE +0 -0
  123. {orionis-0.43.0 → orionis-0.46.0}/README.md +0 -0
  124. {orionis-0.43.0 → orionis-0.46.0}/orionis/__init__.py +0 -0
  125. {orionis-0.43.0/orionis/luminate → orionis-0.46.0/orionis/contracts}/__init__.py +0 -0
  126. {orionis-0.43.0/orionis/luminate/bootstrap → orionis-0.46.0/orionis/contracts/config}/__init__.py +0 -0
  127. /orionis-0.43.0/orionis/luminate/contracts/config/config_interface.py → /orionis-0.46.0/orionis/contracts/config/i_config.py +0 -0
  128. {orionis-0.43.0/orionis/luminate/bootstrap/config → orionis-0.46.0/orionis/contracts/console}/__init__.py +0 -0
  129. {orionis-0.43.0/orionis/luminate/cache → orionis-0.46.0/orionis/contracts/console/base}/__init__.py +0 -0
  130. /orionis-0.43.0/orionis/luminate/contracts/console/command_filter_interface.py → /orionis-0.46.0/orionis/contracts/console/i_command_filter.py +0 -0
  131. /orionis-0.43.0/orionis/luminate/contracts/console/kernel_interface.py → /orionis-0.46.0/orionis/contracts/console/i_kernel.py +0 -0
  132. /orionis-0.43.0/orionis/luminate/contracts/console/parser_interface.py → /orionis-0.46.0/orionis/contracts/console/i_parser.py +0 -0
  133. /orionis-0.43.0/orionis/luminate/contracts/console/task_manager_interface.py → /orionis-0.46.0/orionis/contracts/console/i_task_manager.py +0 -0
  134. {orionis-0.43.0/orionis/luminate/cache/app → orionis-0.46.0/orionis/contracts/console/output}/__init__.py +0 -0
  135. /orionis-0.43.0/orionis/luminate/contracts/console/output/console_interface.py → /orionis-0.46.0/orionis/contracts/console/output/i_console.py +0 -0
  136. /orionis-0.43.0/orionis/luminate/contracts/console/output/executor_interface.py → /orionis-0.46.0/orionis/contracts/console/output/i_executor.py +0 -0
  137. /orionis-0.43.0/orionis/luminate/contracts/console/output/progress_bar_interface.py → /orionis-0.46.0/orionis/contracts/console/output/i_progress_bar.py +0 -0
  138. {orionis-0.43.0/orionis/luminate/cache/console → orionis-0.46.0/orionis/contracts/console/tasks}/__init__.py +0 -0
  139. /orionis-0.43.0/orionis/luminate/contracts/console/tasks/schedule_interface.py → /orionis-0.46.0/orionis/contracts/console/tasks/i_schedule.py +0 -0
  140. /orionis-0.43.0/orionis/luminate/contracts/container/container_interface.py → /orionis-0.46.0/orionis/contracts/container/i_container.py +0 -0
  141. /orionis-0.43.0/orionis/luminate/contracts/container/types_interface.py → /orionis-0.46.0/orionis/contracts/container/i_types.py +0 -0
  142. {orionis-0.43.0/orionis/luminate/config → orionis-0.46.0/orionis/contracts/facades}/__init__.py +0 -0
  143. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/contracts/facades/config}/__init__.py +0 -0
  144. {orionis-0.43.0/orionis/luminate/console → orionis-0.46.0/orionis/contracts/facades/environment}/__init__.py +0 -0
  145. {orionis-0.43.0/orionis/luminate/console/base → orionis-0.46.0/orionis/contracts/facades/files}/__init__.py +0 -0
  146. {orionis-0.43.0/orionis/luminate/console/commands → orionis-0.46.0/orionis/contracts/facades/log}/__init__.py +0 -0
  147. {orionis-0.43.0/orionis/luminate/console/exceptions → orionis-0.46.0/orionis/contracts/facades/tests}/__init__.py +0 -0
  148. {orionis-0.43.0/orionis/luminate/console/output → orionis-0.46.0/orionis/contracts/installer}/__init__.py +0 -0
  149. {orionis-0.43.0/orionis/luminate/console/scripts → orionis-0.46.0/orionis/contracts/providers}/__init__.py +0 -0
  150. {orionis-0.43.0/orionis/luminate/console/tasks → orionis-0.46.0/orionis/contracts/services}/__init__.py +0 -0
  151. {orionis-0.43.0/orionis/luminate/contracts → orionis-0.46.0/orionis/contracts/services/config}/__init__.py +0 -0
  152. {orionis-0.43.0/orionis/luminate/contracts/cache → orionis-0.46.0/orionis/contracts/services/files}/__init__.py +0 -0
  153. {orionis-0.43.0/orionis/luminate/contracts/config → orionis-0.46.0/orionis/contracts/services/log}/__init__.py +0 -0
  154. {orionis-0.43.0/orionis/luminate/contracts/console → orionis-0.46.0/orionis/installer}/__init__.py +0 -0
  155. {orionis-0.43.0/orionis/luminate/contracts/facades → orionis-0.46.0/orionis/luminate}/__init__.py +0 -0
  156. {orionis-0.43.0/orionis/luminate/contracts/files → orionis-0.46.0/orionis/luminate/bootstrap}/__init__.py +0 -0
  157. /orionis-0.43.0/orionis/luminate/bootstrap/cli_exception.py → /orionis-0.46.0/orionis/luminate/bootstrap/exception_bootstrapper.py +0 -0
  158. {orionis-0.43.0/orionis/luminate/contracts/installer → orionis-0.46.0/orionis/luminate/config}/__init__.py +0 -0
  159. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/app.py +0 -0
  160. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/auth.py +0 -0
  161. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/cache.py +0 -0
  162. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/cors.py +0 -0
  163. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/database.py +0 -0
  164. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/filesystems.py +0 -0
  165. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/logging.py +0 -0
  166. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/mail.py +0 -0
  167. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/queue.py +0 -0
  168. {orionis-0.43.0/orionis/luminate/config/dataclass → orionis-0.46.0/orionis/luminate/config}/session.py +0 -0
  169. {orionis-0.43.0/orionis/luminate/contracts/log → orionis-0.46.0/orionis/luminate/console}/__init__.py +0 -0
  170. {orionis-0.43.0/orionis/luminate/contracts/publisher → orionis-0.46.0/orionis/luminate/console/base}/__init__.py +0 -0
  171. {orionis-0.43.0/orionis/luminate/contracts/test → orionis-0.46.0/orionis/luminate/console/commands}/__init__.py +0 -0
  172. {orionis-0.43.0/orionis/luminate/contracts/tools → orionis-0.46.0/orionis/luminate/console/exceptions}/__init__.py +0 -0
  173. {orionis-0.43.0/orionis/luminate/facades → orionis-0.46.0/orionis/luminate/console/output}/__init__.py +0 -0
  174. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/console/output/styles.py +0 -0
  175. {orionis-0.43.0/orionis/luminate/files → orionis-0.46.0/orionis/luminate/console/tasks}/__init__.py +0 -0
  176. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/container/exception.py +0 -0
  177. {orionis-0.43.0/orionis/luminate/installer → orionis-0.46.0/orionis/luminate/facades}/__init__.py +0 -0
  178. {orionis-0.43.0/orionis/luminate/log → orionis-0.46.0/orionis/luminate/facades/config}/__init__.py +0 -0
  179. {orionis-0.43.0/orionis/luminate/pipelines → orionis-0.46.0/orionis/luminate/facades/environment}/__init__.py +0 -0
  180. {orionis-0.43.0/orionis/luminate/publisher → orionis-0.46.0/orionis/luminate/facades/files}/__init__.py +0 -0
  181. {orionis-0.43.0/orionis/luminate/test → orionis-0.46.0/orionis/luminate/facades/log}/__init__.py +0 -0
  182. {orionis-0.43.0/orionis/luminate/tools → orionis-0.46.0/orionis/luminate/facades/tests}/__init__.py +0 -0
  183. {orionis-0.43.0/tests → orionis-0.46.0/orionis/luminate/patterns}/__init__.py +0 -0
  184. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/patterns/singleton.py +0 -0
  185. {orionis-0.43.0/tests/tools → orionis-0.46.0/orionis/luminate/pipelines}/__init__.py +0 -0
  186. {orionis-0.43.0/orionis/luminate/tools → orionis-0.46.0/orionis/luminate/support}/dot_dict.py +0 -0
  187. {orionis-0.43.0 → orionis-0.46.0}/orionis/luminate/test/exception.py +0 -0
  188. {orionis-0.43.0/orionis/luminate/installer → orionis-0.46.0/orionis/static/ascii}/icon.ascii +0 -0
  189. {orionis-0.43.0/orionis/luminate/installer → orionis-0.46.0/orionis/static/ascii}/info.ascii +0 -0
  190. {orionis-0.43.0/orionis/luminate → orionis-0.46.0/orionis}/static/bg/galaxy.jpg +0 -0
  191. {orionis-0.43.0/orionis/luminate → orionis-0.46.0/orionis}/static/favicon/OrionisFrameworkFavicon.png +0 -0
  192. {orionis-0.43.0/orionis/luminate → orionis-0.46.0/orionis}/static/logos/OrionisFramework.jpg +0 -0
  193. {orionis-0.43.0/orionis/luminate → orionis-0.46.0/orionis}/static/logos/OrionisFramework.png +0 -0
  194. {orionis-0.43.0/orionis/luminate → orionis-0.46.0/orionis}/static/logos/OrionisFramework.psd +0 -0
  195. {orionis-0.43.0/orionis/luminate → orionis-0.46.0/orionis}/static/logos/OrionisFramework2.png +0 -0
  196. {orionis-0.43.0/orionis/luminate → orionis-0.46.0/orionis}/static/logos/OrionisFramework3.png +0 -0
  197. {orionis-0.43.0 → orionis-0.46.0}/orionis.egg-info/dependency_links.txt +0 -0
  198. {orionis-0.43.0 → orionis-0.46.0}/orionis.egg-info/entry_points.txt +0 -0
  199. {orionis-0.43.0 → orionis-0.46.0}/orionis.egg-info/requires.txt +0 -0
  200. {orionis-0.43.0 → orionis-0.46.0}/orionis.egg-info/top_level.txt +0 -0
  201. {orionis-0.43.0 → orionis-0.46.0}/setup.cfg +0 -0
  202. {orionis-0.43.0 → orionis-0.46.0}/setup.py +0 -0
  203. {orionis-0.43.0 → orionis-0.46.0}/tests/tools/class_example.py +0 -0
@@ -1,3 +1,3 @@
1
1
  include README.md
2
2
  include LICENSE
3
- recursive-include orionis *.py *.stub *.png *.ascii *.psd *.jpg *.jpeg *.txt *.json
3
+ recursive-include orionis *.py *.stub *.png *.ascii *.psd *.jpg *.jpeg
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.43.0
3
+ Version: 0.46.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
@@ -0,0 +1,34 @@
1
+ import argparse
2
+ from orionis.installer.installer_manager import InstallerManager
3
+ from orionis.installer.installer_output import InstallerOutput
4
+
5
+ # Main entry point for the Orionis CLI tool.
6
+ def main():
7
+
8
+ # Initialize the argument parser
9
+ parser = argparse.ArgumentParser(description="Orionis Command Line Tool")
10
+ parser.add_argument('--version', action='store_true', help="Show Orionis version.")
11
+ parser.add_argument('--upgrade', action='store_true', help="Upgrade Orionis to the latest version.")
12
+ parser.add_argument('command', nargs='?', choices=['new'], help="Available command: 'new'.")
13
+ parser.add_argument('name', nargs='?', help="The name of the Orionis application to create.", default="example-app")
14
+
15
+ # Parse the provided arguments
16
+ args = parser.parse_args()
17
+
18
+ # Initialize the Orionis tools for handling operations
19
+ try:
20
+ installer = InstallerManager()
21
+ if args.version:
22
+ installer.handleVersion()
23
+ elif args.upgrade:
24
+ installer.handleUpgrade()
25
+ elif args.command == 'new':
26
+ installer.handleNewApp(args.name)
27
+ else:
28
+ installer.handleInfo()
29
+ except Exception as e:
30
+ InstallerOutput.error(f"An error occurred: {e}", e)
31
+
32
+ # Execute the main function if the script is run directly
33
+ if __name__ == "__main__":
34
+ main()
@@ -0,0 +1,59 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any, Callable, Dict
3
+
4
+ class ICommandsBootstrapper(ABC):
5
+ """
6
+ Attributes
7
+ ----------
8
+ _commands : Dict[str, Dict[str, Any]]
9
+ A dictionary to store registered commands, where the key is the command signature
10
+ and the value is a dictionary containing the command class, arguments, description,
11
+ and signature.
12
+
13
+ Methods
14
+ -------
15
+ __init__()
16
+ Initializes the `CommandsBootstrapper` and triggers the autoload process.
17
+ _autoload()
18
+ Scans the command directories and loads command classes.
19
+ _register(concrete: Callable[..., Any])
20
+ Validates and registers a command class.
21
+ """
22
+
23
+ @abstractmethod
24
+ def _autoload(self) -> None:
25
+ """
26
+ Scans the command directories and loads command classes.
27
+
28
+ This method searches for Python files in the specified directories, imports them,
29
+ and registers any class that inherits from `BaseCommand`.
30
+
31
+ Raises
32
+ ------
33
+ BootstrapRuntimeError
34
+ If there is an error loading a module.
35
+ """
36
+ pass
37
+
38
+ @abstractmethod
39
+ def _register(self, concrete: Callable[..., Any]) -> None:
40
+ """
41
+ Validates and registers a command class.
42
+
43
+ This method ensures that the provided class is valid (inherits from `BaseCommand`,
44
+ has a `signature`, `description`, and `handle` method) and registers it in the
45
+ `_commands` dictionary.
46
+
47
+ Parameters
48
+ ----------
49
+ concrete : Callable[..., Any]
50
+ The command class to register.
51
+
52
+ Raises
53
+ ------
54
+ TypeError
55
+ If the input is not a class or does not inherit from `BaseCommand`.
56
+ ValueError
57
+ If the class does not have required attributes or methods.
58
+ """
59
+ pass
@@ -0,0 +1,112 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any, Dict, Optional
3
+
4
+ class IConfigBootstrapper(ABC):
5
+ """
6
+ Attributes
7
+ ----------
8
+ _config : Dict[str, Any]
9
+ A dictionary to store registered configuration sections and their data.
10
+
11
+ Methods
12
+ -------
13
+ __init__()
14
+ Initializes the `ConfigBootstrapper` and triggers the autoload process.
15
+ _autoload()
16
+ Scans the configuration directory and loads configuration classes.
17
+ _set(concrete: Any, section: str)
18
+ Validates and registers a configuration class.
19
+ _parse(data: Any) -> Dict[str, Any]
20
+ Converts the 'config' attribute of a class into a dictionary.
21
+ _register(section: str, data: Dict[str, Any])
22
+ Registers a configuration section.
23
+ set(key: str, value: Any)
24
+ Dynamically sets a configuration value using dot notation.
25
+ get(key: str, default: Optional[Any] = None) -> Any
26
+ Retrieves a configuration value using dot notation.
27
+ """
28
+
29
+ @abstractmethod
30
+ def _autoload(self) -> None:
31
+ """
32
+ Scans the configuration directory and loads configuration classes.
33
+
34
+ This method searches for Python files in the specified directory, imports them,
35
+ and registers any class named `Config` that inherits from `IConfig`.
36
+
37
+ Raises
38
+ ------
39
+ FileNotFoundError
40
+ If the configuration directory does not exist.
41
+ BootstrapRuntimeError
42
+ If there is an error loading a module.
43
+ """
44
+ pass
45
+
46
+ @abstractmethod
47
+ def _set(self, concrete: Any, section: str) -> None:
48
+ """
49
+ Validates and registers a configuration class.
50
+
51
+ This method ensures that the provided class is valid (inherits from `IConfig`
52
+ and has a `config` attribute) and registers it in the `_config` dictionary.
53
+
54
+ Parameters
55
+ ----------
56
+ concrete : Any
57
+ The configuration class to register.
58
+ section : str
59
+ The section name under which the configuration will be registered.
60
+
61
+ Raises
62
+ ------
63
+ TypeError
64
+ If the input is not a class or does not inherit from `IConfig`.
65
+ ValueError
66
+ If the class does not have a `config` attribute.
67
+ """
68
+ pass
69
+
70
+ @abstractmethod
71
+ def _parse(data: Any) -> Dict[str, Any]:
72
+ """
73
+ Converts the 'config' attribute of a class into a dictionary.
74
+
75
+ If the input is already a dictionary, it is returned as-is. If the input is a
76
+ dataclass, it is converted to a dictionary using `asdict`.
77
+
78
+ Parameters
79
+ ----------
80
+ data : Any
81
+ The data to convert into a dictionary.
82
+
83
+ Returns
84
+ -------
85
+ Dict[str, Any]
86
+ The converted dictionary.
87
+
88
+ Raises
89
+ ------
90
+ TypeError
91
+ If the data cannot be converted to a dictionary.
92
+ """
93
+ pass
94
+
95
+ @abstractmethod
96
+ def _register(self, section: str, data: Dict[str, Any]) -> None:
97
+ """
98
+ Registers a configuration section.
99
+
100
+ Parameters
101
+ ----------
102
+ section : str
103
+ The name of the configuration section.
104
+ data : Dict[str, Any]
105
+ The configuration data to register.
106
+
107
+ Raises
108
+ ------
109
+ ValueError
110
+ If the section is already registered.
111
+ """
112
+ pass
@@ -0,0 +1,33 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any, Optional
3
+
4
+ class IEnvironmentBootstrapper(ABC):
5
+ """
6
+ Attributes
7
+ ----------
8
+ _environment_vars : Dict[str, str]
9
+ A dictionary to store the loaded environment variables.
10
+ path : Path
11
+ The path to the `.env` file.
12
+
13
+ Methods
14
+ -------
15
+ _autoload()
16
+ Loads environment variables from the `.env` file or creates the file if it does not exist.
17
+ """
18
+
19
+ @abstractmethod
20
+ def _autoload(self) -> None:
21
+ """
22
+ Loads environment variables from the `.env` file or creates the file if it does not exist.
23
+
24
+ This method checks if the `.env` file exists in the current working directory.
25
+ If the file does not exist, it creates an empty `.env` file. If the file exists,
26
+ it loads the environment variables into the `_environment_vars` dictionary.
27
+
28
+ Raises
29
+ ------
30
+ PermissionError
31
+ If the `.env` file cannot be created or read due to insufficient permissions.
32
+ """
33
+ pass
@@ -1,6 +1,5 @@
1
1
  from abc import ABC, abstractmethod
2
2
  from typing import List
3
-
4
3
  from orionis.luminate.console.output.progress_bar import ProgressBar
5
4
 
6
5
  class IBaseCommand(ABC):
@@ -0,0 +1,37 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any, Optional
3
+
4
+ class IConfig(ABC):
5
+
6
+ @abstractmethod
7
+ def set(key: str, value: Any) -> None:
8
+ """
9
+ Dynamically sets a configuration value using dot notation.
10
+
11
+ Parameters
12
+ ----------
13
+ key : str
14
+ The configuration key (e.g., 'app.debug').
15
+ value : Any
16
+ The value to set.
17
+ """
18
+ pass
19
+
20
+ @abstractmethod
21
+ def get(key: str, default: Optional[Any] = None) -> Any:
22
+ """
23
+ Retrieves a configuration value using dot notation.
24
+
25
+ Parameters
26
+ ----------
27
+ key : str
28
+ The configuration key (e.g., 'app.debug').
29
+ default : Optional[Any]
30
+ The default value to return if the key is not found.
31
+
32
+ Returns
33
+ -------
34
+ Any
35
+ The configuration value or the default value if the key is not found.
36
+ """
37
+ pass
@@ -0,0 +1,40 @@
1
+
2
+ from abc import ABC, abstractmethod
3
+
4
+ class IEnv(ABC):
5
+ """
6
+ A facade class for accessing environment variables.
7
+
8
+ This class provides a static method to retrieve environment variables
9
+ stored in the application context. It implements the `IEnv` interface.
10
+
11
+ Methods
12
+ -------
13
+ get(key: str, default=None) -> str
14
+ Retrieves the value of an environment variable.
15
+ """
16
+
17
+ @abstractmethod
18
+ def get(key: str, default=None) -> str:
19
+ """
20
+ Retrieves the value of an environment variable.
21
+
22
+ This method provides a convenient way to access environment variables
23
+ stored in the application context. If the variable does not exist, it
24
+ returns the specified default value.
25
+
26
+ Parameters
27
+ ----------
28
+ key : str
29
+ The name of the environment variable to retrieve.
30
+ default : Any, optional
31
+ The default value to return if the environment variable does not exist.
32
+ Defaults to None.
33
+
34
+ Returns
35
+ -------
36
+ str
37
+ The value of the environment variable, or the default value if the variable
38
+ does not exist.
39
+ """
40
+ pass
@@ -1,25 +1,32 @@
1
1
  from abc import ABC, abstractmethod
2
2
 
3
3
  class IPath(ABC):
4
-
5
- @abstractmethod
6
- def _resolve_directory(directory: str, file: str = None):
7
- """
8
- Internal helper function to resolve an absolute path for a given directory.
9
-
10
- Parameters
11
- ----------
12
- directory : str
13
- The base directory to resolve the path from.
14
- file : str, optional
15
- The relative file path inside the directory (default is an empty string).
16
-
17
- Returns
18
- -------
19
- SkeletonPath
20
- The resolved absolute path wrapped in a SkeletonPath object.
21
- """
22
- pass
4
+ """
5
+ A facade class for resolving absolute paths to various application directories.
6
+
7
+ This class provides static methods to resolve paths to common directories such as
8
+ 'app', 'config', 'database', 'resources', 'routes', 'storage', and 'tests'.
9
+ It uses the `PathService` to resolve and validate paths.
10
+
11
+ Methods
12
+ -------
13
+ _resolve_directory(directory: str, file: str = None) -> SkeletonPath
14
+ Resolves the absolute path for a given directory and optional file.
15
+ app(file: str = None) -> SkeletonPath
16
+ Returns the absolute path for a file inside the 'app' directory.
17
+ config(file: str = None) -> SkeletonPath
18
+ Returns the absolute path for a file inside the 'config' directory.
19
+ database(file: str = None) -> SkeletonPath
20
+ Returns the absolute path for a file inside the 'database' directory.
21
+ resource(file: str = None) -> SkeletonPath
22
+ Returns the absolute path for a file inside the 'resource' directory.
23
+ routes(file: str = None) -> SkeletonPath
24
+ Returns the absolute path for a file inside the 'routes' directory.
25
+ storage(file: str = None) -> SkeletonPath
26
+ Returns the absolute path for a file inside the 'storage' directory.
27
+ tests(file: str = None) -> SkeletonPath
28
+ Returns the absolute path for a file inside the 'tests' directory.
29
+ """
23
30
 
24
31
  @abstractmethod
25
32
  def app(file: str = None):
@@ -138,4 +145,4 @@ class IPath(ABC):
138
145
  SkeletonPath
139
146
  The resolved path wrapped in a SkeletonPath object.
140
147
  """
141
- pass
148
+ pass
@@ -0,0 +1,83 @@
1
+ from abc import ABC, abstractmethod
2
+
3
+ class ILog(ABC):
4
+ """
5
+ A facade class for logging messages with different severity levels.
6
+
7
+ This class provides static methods to log messages using the `LogguerService`.
8
+ It simplifies the process of logging by abstracting the service resolution
9
+ and providing a clean interface for logging.
10
+
11
+ Methods
12
+ -------
13
+ info(message: str) -> None
14
+ Logs an informational message.
15
+ error(message: str) -> None
16
+ Logs an error message.
17
+ success(message: str) -> None
18
+ Logs a success message.
19
+ warning(message: str) -> None
20
+ Logs a warning message.
21
+ debug(message: str) -> None
22
+ Logs a debug message.
23
+ """
24
+
25
+ @abstractmethod
26
+ def info(message: str) -> None:
27
+ """
28
+ Logs an informational message.
29
+
30
+ Parameters
31
+ ----------
32
+ message : str
33
+ The message to log.
34
+ """
35
+ pass
36
+
37
+ @abstractmethod
38
+ def error(message: str) -> None:
39
+ """
40
+ Logs an error message.
41
+
42
+ Parameters
43
+ ----------
44
+ message : str
45
+ The message to log.
46
+ """
47
+ pass
48
+
49
+ @abstractmethod
50
+ def success(message: str) -> None:
51
+ """
52
+ Logs a success message.
53
+
54
+ Parameters
55
+ ----------
56
+ message : str
57
+ The message to log.
58
+ """
59
+ pass
60
+
61
+ @abstractmethod
62
+ def warning(message: str) -> None:
63
+ """
64
+ Logs a warning message.
65
+
66
+ Parameters
67
+ ----------
68
+ message : str
69
+ The message to log.
70
+ """
71
+ pass
72
+
73
+ @abstractmethod
74
+ def debug(message: str) -> None:
75
+ """
76
+ Logs a debug message.
77
+
78
+ Parameters
79
+ ----------
80
+ message : str
81
+ The message to log.
82
+ """
83
+ pass
@@ -2,16 +2,13 @@ from abc import ABC, abstractmethod
2
2
 
3
3
  class IUnitTests(ABC):
4
4
  """
5
- Interface for executing unit tests in a specified directory.
6
-
7
- This class defines the abstract structure for any unit test executor,
8
- enforcing the implementation of the 'execute' method in any subclass.
5
+ Interface for executing unit tests based on a specified pattern.
9
6
 
10
7
  Methods
11
8
  -------
12
9
  execute(pattern: str) -> dict
13
- Executes the unit tests in the 'tests' directory and subdirectories,
14
- using a file pattern for filtering test files.
10
+ Executes unit tests by iterating over the 'tests' directory and its subdirectories,
11
+ matching test files based on the provided pattern.
15
12
  """
16
13
 
17
14
  @abstractmethod
@@ -1,28 +1,30 @@
1
+
1
2
  from abc import ABC, abstractmethod
2
3
 
3
- class IManagement(ABC):
4
+ class IInstallerManager(ABC):
4
5
  """
5
- Interface defining the contract for the Management class.
6
-
7
- This interface ensures that any implementing class provides methods for
8
- displaying the framework version, upgrading the framework, creating a new
9
- application, and displaying additional information.
6
+ Interface for the InstallerManager class.
10
7
  """
11
8
 
12
9
  @abstractmethod
13
- def displayVersion(self) -> str:
10
+ def handleVersion(self) -> str:
14
11
  """
15
- Display the current version of the framework.
12
+ Display the current version of the framework in ASCII format.
16
13
 
17
14
  Returns
18
15
  -------
19
16
  str
20
17
  The ASCII representation of the framework version.
18
+
19
+ Raises
20
+ ------
21
+ Exception
22
+ If an error occurs while generating the ASCII version output.
21
23
  """
22
24
  pass
23
25
 
24
26
  @abstractmethod
25
- def executeUpgrade(self) -> None:
27
+ def handleUpgrade(self) -> None:
26
28
  """
27
29
  Execute the framework upgrade process to the latest version.
28
30
 
@@ -33,15 +35,16 @@ class IManagement(ABC):
33
35
  """
34
36
  pass
35
37
 
38
+
36
39
  @abstractmethod
37
- def createNewApp(self, name_app: str) -> None:
40
+ def handleNewApp(self, name_app: str = "example-app") -> None:
38
41
  """
39
- Create a new application with the given name.
42
+ Create a new application with the specified name.
40
43
 
41
44
  Parameters
42
45
  ----------
43
- name_app : str
44
- The name of the new application.
46
+ name_app : str, optional
47
+ The name of the new application (default is "example-app").
45
48
 
46
49
  Raises
47
50
  ------
@@ -51,13 +54,13 @@ class IManagement(ABC):
51
54
  pass
52
55
 
53
56
  @abstractmethod
54
- def displayInfo(self) -> None:
57
+ def handleInfo(self) -> None:
55
58
  """
56
- Display additional information about the framework.
59
+ Display additional framework information in ASCII format.
57
60
 
58
61
  Raises
59
62
  ------
60
63
  Exception
61
64
  If an error occurs while displaying information.
62
65
  """
63
- pass
66
+ pass
@@ -0,0 +1,101 @@
1
+ from abc import ABC, abstractmethod
2
+
3
+ class IInstallerOutput(ABC):
4
+ """
5
+ Interface for the InstallerOutput class.
6
+ """
7
+
8
+ @abstractmethod
9
+ def _print(label: str, message: str, color_code: str):
10
+ """
11
+ Prints messages to the console with specific formatting and colors.
12
+
13
+ Parameters
14
+ ----------
15
+ label : str
16
+ The label for the message (e.g., INFO, FAIL, ERROR).
17
+ message : str
18
+ The message to display.
19
+ color_code : str
20
+ ANSI color code for the background of the message.
21
+ """
22
+ pass
23
+
24
+ @abstractmethod
25
+ def asciiIco():
26
+ """
27
+ Displays a welcome message to the framework, including ASCII art.
28
+
29
+ Attempts to load an ASCII art file (art.ascii). If not found, defaults to displaying basic information.
30
+
31
+ If the ASCII art file is found, placeholders are replaced with dynamic content such as version, docs, and year.
32
+ """
33
+ pass
34
+
35
+ @abstractmethod
36
+ def asciiInfo():
37
+ """
38
+ Displays another type of welcome message to the framework, including different ASCII art.
39
+
40
+ Attempts to load an ASCII art file (info.ascii). If not found, defaults to displaying basic information.
41
+
42
+ Similar to `asciiIco()`, but with different ASCII art.
43
+ """
44
+ pass
45
+
46
+ @abstractmethod
47
+ def startInstallation():
48
+ """
49
+ Displays the starting message when the installation begins.
50
+ This includes a welcoming message and the ASCII art.
51
+ """
52
+ pass
53
+
54
+ @abstractmethod
55
+ def endInstallation():
56
+ """
57
+ Displays the ending message after the installation is complete.
58
+ Provides a message of encouragement to start using the framework.
59
+ """
60
+ pass
61
+
62
+ @abstractmethod
63
+ def info(message: str = ''):
64
+ """
65
+ Displays an informational message to the console.
66
+
67
+ Parameters
68
+ ----------
69
+ message : str, optional
70
+ The message to display. Defaults to an empty string.
71
+ """
72
+ pass
73
+
74
+ @abstractmethod
75
+ def fail(message: str = ''):
76
+ """
77
+ Displays a failure message to the console.
78
+
79
+ Parameters
80
+ ----------
81
+ message : str, optional
82
+ The message to display. Defaults to an empty string.
83
+ """
84
+ pass
85
+
86
+ @abstractmethod
87
+ def error(message: str = '', e = None):
88
+ """
89
+ Displays an error message to the console and terminates the program.
90
+
91
+ Parameters
92
+ ----------
93
+ message : str, optional
94
+ The message to display. Defaults to an empty string.
95
+
96
+ Raises
97
+ ------
98
+ SystemExit
99
+ Terminates the program with a non-zero exit code, indicating an error occurred.
100
+ """
101
+ pass