orionis 0.60.0__tar.gz → 0.62.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. {orionis-0.60.0/orionis.egg-info → orionis-0.62.0}/PKG-INFO +1 -1
  2. {orionis-0.60.0 → orionis-0.62.0}/orionis/framework.py +1 -1
  3. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/bootstrap/environment_bootstrapper.py +44 -1
  4. {orionis-0.60.0 → orionis-0.62.0/orionis.egg-info}/PKG-INFO +1 -1
  5. {orionis-0.60.0 → orionis-0.62.0}/LICENCE +0 -0
  6. {orionis-0.60.0 → orionis-0.62.0}/MANIFEST.in +0 -0
  7. {orionis-0.60.0 → orionis-0.62.0}/README.md +0 -0
  8. {orionis-0.60.0 → orionis-0.62.0}/orionis/__init__.py +0 -0
  9. {orionis-0.60.0 → orionis-0.62.0}/orionis/cli_manager.py +0 -0
  10. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/__init__.py +0 -0
  11. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/bootstrap/i_command_bootstrapper.py +0 -0
  12. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/bootstrap/i_config_bootstrapper.py +0 -0
  13. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/bootstrap/i_environment_bootstrapper.py +0 -0
  14. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/config/__init__.py +0 -0
  15. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/config/i_config.py +0 -0
  16. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/__init__.py +0 -0
  17. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/base/__init__.py +0 -0
  18. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/base/i_command.py +0 -0
  19. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/i_command_filter.py +0 -0
  20. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/i_kernel.py +0 -0
  21. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/i_parser.py +0 -0
  22. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/i_task_manager.py +0 -0
  23. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/output/__init__.py +0 -0
  24. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/output/i_console.py +0 -0
  25. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/output/i_executor.py +0 -0
  26. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/output/i_progress_bar.py +0 -0
  27. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/tasks/__init__.py +0 -0
  28. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/console/tasks/i_schedule.py +0 -0
  29. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/container/i_container.py +0 -0
  30. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/container/i_types.py +0 -0
  31. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/__init__.py +0 -0
  32. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/config/__init__.py +0 -0
  33. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/config/i_config_facade.py +0 -0
  34. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/environment/__init__.py +0 -0
  35. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/environment/i_environment_facade.py +0 -0
  36. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/files/__init__.py +0 -0
  37. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/files/i_path_facade.py +0 -0
  38. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/log/__init__.py +0 -0
  39. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/log/i_log_facade.py +0 -0
  40. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/tests/__init__.py +0 -0
  41. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/facades/tests/i_tests_facade.py +0 -0
  42. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/installer/__init__.py +0 -0
  43. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/installer/i_installer_manager.py +0 -0
  44. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/installer/i_installer_output.py +0 -0
  45. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/installer/i_installer_setup.py +0 -0
  46. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/providers/__init__.py +0 -0
  47. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/providers/i_service_provider.py +0 -0
  48. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/services/__init__.py +0 -0
  49. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/services/config/__init__.py +0 -0
  50. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/services/config/i_config_service.py +0 -0
  51. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/services/files/__init__.py +0 -0
  52. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/services/files/i_path_service.py +0 -0
  53. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/services/log/__init__.py +0 -0
  54. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/services/log/i_log_service.py +0 -0
  55. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/support/i_exception_to_dict.py +0 -0
  56. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/support/i_reflection.py +0 -0
  57. {orionis-0.60.0 → orionis-0.62.0}/orionis/contracts/support/i_std.py +0 -0
  58. {orionis-0.60.0 → orionis-0.62.0}/orionis/installer/__init__.py +0 -0
  59. {orionis-0.60.0 → orionis-0.62.0}/orionis/installer/installer_manager.py +0 -0
  60. {orionis-0.60.0 → orionis-0.62.0}/orionis/installer/installer_output.py +0 -0
  61. {orionis-0.60.0 → orionis-0.62.0}/orionis/installer/installer_setup.py +0 -0
  62. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/__init__.py +0 -0
  63. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/app.py +0 -0
  64. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/app_context.py +0 -0
  65. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/bootstrap/__init__.py +0 -0
  66. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/bootstrap/command_bootstrapper.py +0 -0
  67. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/bootstrap/config_bootstrapper.py +0 -0
  68. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/bootstrap/exception_bootstrapper.py +0 -0
  69. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/__init__.py +0 -0
  70. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/app.py +0 -0
  71. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/auth.py +0 -0
  72. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/cache.py +0 -0
  73. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/cors.py +0 -0
  74. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/database.py +0 -0
  75. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/filesystems.py +0 -0
  76. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/logging.py +0 -0
  77. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/mail.py +0 -0
  78. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/queue.py +0 -0
  79. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/config/session.py +0 -0
  80. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/__init__.py +0 -0
  81. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/base/__init__.py +0 -0
  82. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/base/command.py +0 -0
  83. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/command_filter.py +0 -0
  84. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/commands/__init__.py +0 -0
  85. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/commands/cache_clear.py +0 -0
  86. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/commands/help.py +0 -0
  87. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/commands/schedule_work.py +0 -0
  88. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/commands/tests.py +0 -0
  89. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/commands/version.py +0 -0
  90. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/exceptions/__init__.py +0 -0
  91. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/exceptions/cli_exception.py +0 -0
  92. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/kernel.py +0 -0
  93. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/output/__init__.py +0 -0
  94. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/output/console.py +0 -0
  95. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/output/executor.py +0 -0
  96. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/output/progress_bar.py +0 -0
  97. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/output/styles.py +0 -0
  98. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/parser.py +0 -0
  99. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/runner.py +0 -0
  100. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/tasks/__init__.py +0 -0
  101. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/console/tasks/scheduler.py +0 -0
  102. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/container/container.py +0 -0
  103. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/container/exception.py +0 -0
  104. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/container/types.py +0 -0
  105. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/__init__.py +0 -0
  106. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/config/__init__.py +0 -0
  107. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/config/config_facade.py +0 -0
  108. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/environment/__init__.py +0 -0
  109. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/environment/environment_facade.py +0 -0
  110. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/files/__init__.py +0 -0
  111. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/files/path_facade.py +0 -0
  112. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/log/__init__.py +0 -0
  113. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/log/log_facade.py +0 -0
  114. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/tests/__init__.py +0 -0
  115. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/facades/tests/tests_facade.py +0 -0
  116. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/patterns/__init__.py +0 -0
  117. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/patterns/singleton.py +0 -0
  118. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/pipelines/__init__.py +0 -0
  119. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/pipelines/cli_pipeline.py +0 -0
  120. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/providers/__init__.py +0 -0
  121. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/providers/config/__init__.py +0 -0
  122. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/providers/config/config_service_provider.py +0 -0
  123. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/providers/log/__init__.py +0 -0
  124. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/providers/log/log_service_provider.py +0 -0
  125. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/services/__init__.py +0 -0
  126. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/services/config/__init__.py +0 -0
  127. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/services/config/config_service.py +0 -0
  128. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/services/files/__init__.py +0 -0
  129. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/services/files/path_service.py +0 -0
  130. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/services/log/__init__.py +0 -0
  131. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/services/log/log_service.py +0 -0
  132. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/support/dot_dict.py +0 -0
  133. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/support/exception_to_dict.py +0 -0
  134. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/support/reflection.py +0 -0
  135. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/support/std.py +0 -0
  136. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/test/__init__.py +0 -0
  137. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/test/exception.py +0 -0
  138. {orionis-0.60.0 → orionis-0.62.0}/orionis/luminate/test/unit_test.py +0 -0
  139. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/ascii/icon.ascii +0 -0
  140. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/ascii/info.ascii +0 -0
  141. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/bg/galaxy.jpg +0 -0
  142. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/favicon/OrionisFrameworkFavicon.png +0 -0
  143. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/logos/OrionisFramework.jpg +0 -0
  144. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/logos/OrionisFramework.png +0 -0
  145. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/logos/OrionisFramework.psd +0 -0
  146. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/logos/OrionisFramework2.png +0 -0
  147. {orionis-0.60.0 → orionis-0.62.0}/orionis/static/logos/OrionisFramework3.png +0 -0
  148. {orionis-0.60.0 → orionis-0.62.0}/orionis.egg-info/SOURCES.txt +0 -0
  149. {orionis-0.60.0 → orionis-0.62.0}/orionis.egg-info/dependency_links.txt +0 -0
  150. {orionis-0.60.0 → orionis-0.62.0}/orionis.egg-info/entry_points.txt +0 -0
  151. {orionis-0.60.0 → orionis-0.62.0}/orionis.egg-info/requires.txt +0 -0
  152. {orionis-0.60.0 → orionis-0.62.0}/orionis.egg-info/top_level.txt +0 -0
  153. {orionis-0.60.0 → orionis-0.62.0}/setup.cfg +0 -0
  154. {orionis-0.60.0 → orionis-0.62.0}/setup.py +0 -0
  155. {orionis-0.60.0 → orionis-0.62.0}/tests/__init__.py +0 -0
  156. {orionis-0.60.0 → orionis-0.62.0}/tests/tools/__init__.py +0 -0
  157. {orionis-0.60.0 → orionis-0.62.0}/tests/tools/class_example.py +0 -0
  158. {orionis-0.60.0 → orionis-0.62.0}/tests/tools/test_reflection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.60.0
3
+ Version: 0.62.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.60.0"
8
+ VERSION = "0.62.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -1,3 +1,4 @@
1
+ import ast
1
2
  import os
2
3
  from pathlib import Path
3
4
  from typing import Dict
@@ -62,10 +63,52 @@ class EnvironmentBootstrapper(IEnvironmentBootstrapper):
62
63
  raise PermissionError(f"Cannot create `.env` file at {path}: {str(e)}")
63
64
 
64
65
  try:
65
- self._environment_vars = dotenv_values(path) # Load environment variables
66
+ all_vars = dotenv_values(path)
67
+ for key, value in all_vars.items():
68
+ self._environment_vars[key] = self._parse_value(value)
66
69
  except Exception as e:
67
70
  raise BootstrapRuntimeError(f"Error loading environment variables from {path}: {str(e)}")
68
71
 
72
+ def _parse_value(self, value):
73
+ """
74
+ Parse and convert a string value into its appropriate Python data type.
75
+
76
+ This function handles conversion for common types such as `None`, booleans (`True`/`False`),
77
+ integers, and Python literals (e.g., lists, dictionaries). If the value cannot be parsed
78
+ into a specific type, it is returned as-is.
79
+
80
+ Parameters
81
+ ----------
82
+ value : str or None
83
+ The value to be parsed. If `None`, it is returned as `None`.
84
+
85
+ Returns
86
+ -------
87
+ any
88
+ The parsed value. Possible return types include:
89
+ - `None` if the value is empty, `None`, `'None'`, or `'null'`.
90
+ - `bool` if the value is `'True'`, `'true'`, `'False'`, or `'false'`.
91
+ - `int` if the value is a digit string (e.g., `'123'`).
92
+ - Python literals (e.g., lists, dictionaries) if the value can be evaluated as such.
93
+ - The original value if no conversion is applicable.
94
+ """
95
+ # Strip leading and trailing whitespace from the value
96
+ value = str(value).strip() if value is not None else None
97
+
98
+ # Parse common types and Python literals
99
+ if not value or value.lower() in {'none', 'null'}:
100
+ return None
101
+ if value.lower() in {'true', 'false'}:
102
+ return value.lower() == 'true'
103
+ if value.isdigit():
104
+ return int(value)
105
+
106
+ # Attempt to parse Python literals (e.g., lists, dictionaries)
107
+ try:
108
+ return ast.literal_eval(value)
109
+ except (ValueError, SyntaxError):
110
+ return value
111
+
69
112
  def get(self, key: str = None) -> str:
70
113
  """
71
114
  Retrieves the value of an environment variable by its key.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.60.0
3
+ Version: 0.62.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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes