orionis 0.420.0__py3-none-any.whl → 0.422.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 (52) hide show
  1. orionis/__init__.py +0 -11
  2. orionis/foundation/config/app/entities/app.py +15 -14
  3. orionis/foundation/config/cache/entities/cache.py +2 -1
  4. orionis/foundation/config/cache/entities/file.py +1 -0
  5. orionis/foundation/config/cache/entities/stores.py +1 -0
  6. orionis/foundation/config/cors/entities/cors.py +1 -0
  7. orionis/foundation/config/database/entities/connections.py +5 -4
  8. orionis/foundation/config/database/entities/database.py +3 -2
  9. orionis/foundation/config/database/entities/mysql.py +7 -6
  10. orionis/foundation/config/database/entities/oracle.py +11 -10
  11. orionis/foundation/config/database/entities/pgsql.py +7 -6
  12. orionis/foundation/config/database/entities/sqlite.py +8 -7
  13. orionis/foundation/config/filesystems/entitites/aws.py +1 -0
  14. orionis/foundation/config/filesystems/entitites/disks.py +4 -3
  15. orionis/foundation/config/filesystems/entitites/filesystems.py +2 -1
  16. orionis/foundation/config/filesystems/entitites/local.py +1 -0
  17. orionis/foundation/config/filesystems/entitites/public.py +1 -0
  18. orionis/foundation/config/logging/entities/channels.py +7 -6
  19. orionis/foundation/config/logging/entities/chunked.py +1 -0
  20. orionis/foundation/config/logging/entities/daily.py +3 -2
  21. orionis/foundation/config/logging/entities/hourly.py +1 -0
  22. orionis/foundation/config/logging/entities/logging.py +2 -1
  23. orionis/foundation/config/logging/entities/monthly.py +1 -0
  24. orionis/foundation/config/logging/entities/stack.py +1 -0
  25. orionis/foundation/config/logging/entities/weekly.py +1 -0
  26. orionis/foundation/config/mail/entities/mail.py +1 -1
  27. orionis/foundation/config/mail/entities/mailers.py +2 -2
  28. orionis/foundation/config/queue/entities/brokers.py +2 -1
  29. orionis/foundation/config/queue/entities/database.py +1 -0
  30. orionis/foundation/config/queue/entities/queue.py +2 -1
  31. orionis/foundation/config/roots/paths.py +63 -62
  32. orionis/foundation/config/session/entities/session.py +9 -8
  33. orionis/foundation/config/startup.py +13 -12
  34. orionis/foundation/config/testing/entities/testing.py +2 -1
  35. orionis/metadata/framework.py +1 -1
  36. orionis/services/environment/contracts/{types.py → caster.py} +1 -29
  37. orionis/services/environment/core/dot_env.py +230 -142
  38. orionis/services/environment/dynamic/caster.py +902 -0
  39. orionis/services/environment/enums/{cast_type.py → value_type.py} +11 -10
  40. orionis/services/environment/key/key_generator.py +7 -15
  41. orionis/services/environment/validators/types.py +10 -10
  42. orionis/support/entities/base.py +25 -0
  43. {orionis-0.420.0.dist-info → orionis-0.422.0.dist-info}/METADATA +1 -1
  44. {orionis-0.420.0.dist-info → orionis-0.422.0.dist-info}/RECORD +49 -51
  45. tests/foundation/config/root/test_foundation_config_root_paths.py +4 -1
  46. orionis/services/environment/dynamic/types.py +0 -577
  47. orionis/services/environment/serializer/__init__.py +0 -0
  48. orionis/services/environment/serializer/values.py +0 -21
  49. {orionis-0.420.0.dist-info → orionis-0.422.0.dist-info}/WHEEL +0 -0
  50. {orionis-0.420.0.dist-info → orionis-0.422.0.dist-info}/licenses/LICENCE +0 -0
  51. {orionis-0.420.0.dist-info → orionis-0.422.0.dist-info}/top_level.txt +0 -0
  52. {orionis-0.420.0.dist-info → orionis-0.422.0.dist-info}/zip-safe +0 -0
@@ -1,6 +1,6 @@
1
1
  from enum import Enum
2
2
 
3
- class EnvCastType(Enum):
3
+ class EnvironmentValueType(Enum):
4
4
  """
5
5
  Enum representing supported environment variable cast types.
6
6
 
@@ -31,12 +31,13 @@ class EnvCastType(Enum):
31
31
  An enumeration member representing the desired cast type.
32
32
  """
33
33
 
34
- PATH = 'path' # Represents a file system path
35
- STR = 'str' # Represents a string type
36
- INT = 'int' # Represents an integer type
37
- FLOAT = 'float' # Represents a floating-point type
38
- BOOL = 'bool' # Represents a boolean type
39
- LIST = 'list' # Represents a list type
40
- DICT = 'dict' # Represents a dictionary type
41
- TUPLE = 'tuple' # Represents a tuple type
42
- SET = 'set' # Represents a set type
34
+ BASE64 = 'base64' # Represents a base64 encoded type
35
+ PATH = 'path' # Represents a file system path
36
+ STR = 'str' # Represents a string type
37
+ INT = 'int' # Represents an integer type
38
+ FLOAT = 'float' # Represents a floating-point type
39
+ BOOL = 'bool' # Represents a boolean type
40
+ LIST = 'list' # Represents a list type
41
+ DICT = 'dict' # Represents a dictionary type
42
+ TUPLE = 'tuple' # Represents a tuple type
43
+ SET = 'set' # Represents a set type
@@ -1,5 +1,4 @@
1
1
  import os
2
- import base64
3
2
 
4
3
  class SecureKeyGenerator:
5
4
  """
@@ -14,24 +13,17 @@ class SecureKeyGenerator:
14
13
  @staticmethod
15
14
  def generate() -> str:
16
15
  """
17
- Generates a secure random key and encodes it in base64 format.
16
+ Generates a cryptographically secure random key and encodes it in hexadecimal format.
18
17
 
19
- This method creates a cryptographically secure random key of 32 bytes,
20
- encodes it using base64 encoding, and returns the result as a string
21
- prefixed with 'base64:'.
18
+ This method uses the operating system's cryptographic random number generator to
19
+ produce a 32-byte random value, which is then encoded as a hexadecimal string.
22
20
 
23
21
  Returns
24
22
  -------
25
23
  str
26
- A string in the format 'base64:<key>', where <key> is a base64-encoded
27
- representation of a securely generated 32-byte random key.
24
+ A 64-character hexadecimal string representing a 32-byte secure random key.
28
25
  """
29
26
 
30
- # Generate 32 bytes of cryptographically secure random data
31
- key = os.urandom(32)
32
-
33
- # Encode the random bytes using base64 and decode to a UTF-8 string
34
- encoded = base64.b64encode(key).decode('utf-8')
35
-
36
- # Return the key in the required format
37
- return f"base64:{encoded}"
27
+ # Generate 32 random bytes using a cryptographically secure RNG
28
+ # Encode the bytes as a hexadecimal string and return
29
+ return os.urandom(32).hex()
@@ -1,11 +1,11 @@
1
1
  import re
2
- from typing import Any, Union
3
- from orionis.services.environment.enums.cast_type import EnvCastType
2
+ from typing import Union
3
+ from orionis.services.environment.enums.value_type import EnvironmentValueType
4
4
  from orionis.services.environment.exceptions.value import OrionisEnvironmentValueError
5
5
 
6
6
  class __ValidateTypes:
7
7
 
8
- def __call__(self, value: Union[str, int, float, bool, list, dict, tuple, set], type_hint: str | EnvCastType = None) -> str:
8
+ def __call__(self, value: Union[str, int, float, bool, list, dict, tuple, set], type_hint: str | EnvironmentValueType = None) -> str:
9
9
 
10
10
  # Ensure the value is a valid type.
11
11
  if not isinstance(value, (str, int, float, bool, list, dict, tuple, set)):
@@ -14,23 +14,23 @@ class __ValidateTypes:
14
14
  )
15
15
 
16
16
  # If a type hint is provided, ensure it is valid.
17
- if type_hint and not isinstance(type_hint, (str, EnvCastType)):
17
+ if type_hint and not isinstance(type_hint, (str, EnvironmentValueType)):
18
18
  raise OrionisEnvironmentValueError(
19
- f"Type hint must be a string or EnvCastType, got {type(type_hint).__name__}."
19
+ f"Type hint must be a string or EnvironmentValueType, got {type(type_hint).__name__}."
20
20
  )
21
21
 
22
- # If type_hint is provided, convert it to a string if it's an EnvCastType.
22
+ # If type_hint is provided, convert it to a string if it's an EnvironmentValueType.
23
23
  if type_hint:
24
24
 
25
- # If type_hint is a string, convert it to EnvCastType if valid.
25
+ # If type_hint is a string, convert it to EnvironmentValueType if valid.
26
26
  if isinstance(type_hint, str):
27
27
  try:
28
- type_hint = EnvCastType[type_hint.upper()].value
28
+ type_hint = EnvironmentValueType[type_hint.upper()].value
29
29
  except KeyError:
30
30
  raise OrionisEnvironmentValueError(
31
- f"Invalid type hint: {type_hint}. Allowed types are {[e.value for e in EnvCastType]}"
31
+ f"Invalid type hint: {type_hint}. Allowed types are: {[e.value for e in EnvironmentValueType]}"
32
32
  )
33
- elif isinstance(type_hint, EnvCastType):
33
+ elif isinstance(type_hint, EnvironmentValueType):
34
34
  type_hint = type_hint.value
35
35
 
36
36
  # If no type hint is provided, use the type of the value.
@@ -3,6 +3,31 @@ from enum import Enum
3
3
 
4
4
  class BaseEntity:
5
5
 
6
+ def __post_init__(self):
7
+ """
8
+ Post-initialization hook for dataclass instances.
9
+
10
+ This method is automatically called after the dataclass `__init__` method.
11
+ It is intended to be overridden by subclasses to perform additional initialization
12
+ or validation logic after all fields have been set.
13
+
14
+ Parameters
15
+ ----------
16
+ None
17
+
18
+ Returns
19
+ -------
20
+ None
21
+ This method does not return any value.
22
+
23
+ Notes
24
+ -----
25
+ By default, this method does nothing. Subclasses can override it to implement
26
+ custom post-initialization behavior.
27
+ """
28
+
29
+ pass
30
+
6
31
  def toDict(self) -> dict:
7
32
  """
8
33
  Converts the current dataclass instance into a dictionary.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.420.0
3
+ Version: 0.422.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
@@ -1,6 +1,6 @@
1
1
  environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  environment/test_services_environment.py,sha256=6UH3g2Z2DQYtGnyySCRnT35VCENlL-PQWHIdH6zA9rw,3767
3
- orionis/__init__.py,sha256=4AGBG1xD3NjsqkmQ-fD3pde7tiO26iwOpdvJoNvP0kI,201
3
+ orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  orionis/_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  orionis/_console/command_filter.py,sha256=bn0fcWfQg13DrQBaV4NopNxdP-6up0G54Qmhg7r_BKA,1211
6
6
  orionis/_console/kernel.py,sha256=M4Zc9x-1hrQP7Dq6Ons5UnGoq73XV1Fwa9cwY7zqWbw,883
@@ -79,10 +79,10 @@ orionis/container/validators/lifetime.py,sha256=IQ43fDNrxYHMlZH2zlYDJnlkLO_eS4U7
79
79
  orionis/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  orionis/foundation/application.py,sha256=FVQqZgv3_lMvpPZ6vYk24MknUtd2VIXwAcxSzdn09t4,49494
81
81
  orionis/foundation/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- orionis/foundation/config/startup.py,sha256=LS3_W6UdZBgq7IBFxDwzClwk3H7leiFVWPjvYzp7krc,9562
82
+ orionis/foundation/config/startup.py,sha256=vbzduprRCNyYeR2nnMaqc1uKXw6PTzAY2jVfXNQKN8I,9691
83
83
  orionis/foundation/config/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
84
  orionis/foundation/config/app/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
- orionis/foundation/config/app/entities/app.py,sha256=EZQ-u-6bzXENy_VbPrp7j6bI2-cC7KzS6ZYKW_vW4WI,9953
85
+ orionis/foundation/config/app/entities/app.py,sha256=TVom0M_wRpw2Jqan8E_JgQAruSifRyRhVh8xD7GJmvI,10202
86
86
  orionis/foundation/config/app/enums/__init__.py,sha256=L0csn3OmlPT4Y4WhTSI2uQRua0Z367MxNs12AcSHsV4,120
87
87
  orionis/foundation/config/app/enums/ciphers.py,sha256=N9qdLw47ug9FslHFckP8Sz7MfDN74zujZLh37mtLzW8,1249
88
88
  orionis/foundation/config/app/enums/environments.py,sha256=W81oUasW__nRDiyhScMfaBpQ65RXkAAvRGd4ShDFTvE,409
@@ -91,22 +91,22 @@ orionis/foundation/config/auth/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
91
91
  orionis/foundation/config/auth/entities/auth.py,sha256=Mo-g_NYXZClVG1X4RpA1YsqLsjhqZK-9MmMAeAV1DQk,462
92
92
  orionis/foundation/config/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
93
  orionis/foundation/config/cache/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
- orionis/foundation/config/cache/entities/cache.py,sha256=aO2UIp3-UKly_Zu8sHLDQ93BN8fiPYhyMvchIr-PvPg,3572
95
- orionis/foundation/config/cache/entities/file.py,sha256=RHBpM5UMh0pR7RRUmJXveuLz7iB_mGkEqoor2fQvxeI,1776
96
- orionis/foundation/config/cache/entities/stores.py,sha256=E2a4zR-9WlGL5ttTL11aTWmZTlIeYOfkWm8H5m6POag,1801
94
+ orionis/foundation/config/cache/entities/cache.py,sha256=-Eh1hEtDSGCpq4fAD4vehev5oKA9mi8E8-F-eZ_loj4,3611
95
+ orionis/foundation/config/cache/entities/file.py,sha256=P96oSasyzu2mP2y5h8AA65NwrMYMLkgH7DNGuVnqiOo,1809
96
+ orionis/foundation/config/cache/entities/stores.py,sha256=0CM8toXGh8izOPtfpU1chnLxfUX01KIW5nnv4AuUdSI,1834
97
97
  orionis/foundation/config/cache/enums/__init__.py,sha256=iiIXzz6Lxxx65mxzLJ0m8mi-wtiK3F4HAYa99plh8Sc,61
98
98
  orionis/foundation/config/cache/enums/drivers.py,sha256=saAPBQofa-_BocXNcNiju0XLaOApfPICZa7ZP23qIJs,277
99
99
  orionis/foundation/config/cors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  orionis/foundation/config/cors/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
- orionis/foundation/config/cors/entities/cors.py,sha256=QxPLLM_bFVv81_0PR51Uvjb5ASjF18_HbroNJNh3A3A,5363
101
+ orionis/foundation/config/cors/entities/cors.py,sha256=gfHEotUbbABj_d3bnwZh03yANt18Ym4AuHHgIBlwo_g,5396
102
102
  orionis/foundation/config/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
103
  orionis/foundation/config/database/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
- orionis/foundation/config/database/entities/connections.py,sha256=uo6xl3xapfT0J1x9GJWOQ0Ate-WKcJJ8Mwf5NaihkDU,3732
105
- orionis/foundation/config/database/entities/database.py,sha256=wma1AMTbJAA4eY4AgVwg8mf39S9zJbliu9ipYU6dCfQ,2611
106
- orionis/foundation/config/database/entities/mysql.py,sha256=2lO5cWGm-MTdKI1KvKIyclmS9JOeZbjBCa3ktUVnxrI,9944
107
- orionis/foundation/config/database/entities/oracle.py,sha256=VlloMyfshOe2Mn3PwogxM0PEsBYgN1cEIQU-hL1Zpew,8927
108
- orionis/foundation/config/database/entities/pgsql.py,sha256=pMmG2U9GhdwpkhYkOMX_EEndE0HAYjPpf__iNOhKy3g,7872
109
- orionis/foundation/config/database/entities/sqlite.py,sha256=boS_lDczc8gwFJv9jUIu0G3gTsI8EPKm6ilyOWcrJHI,7300
104
+ orionis/foundation/config/database/entities/connections.py,sha256=jouNerG3hueYsmyhtY3wsoZYA5MSgooXS-aHHsn0bac,3797
105
+ orionis/foundation/config/database/entities/database.py,sha256=S3BkRaNsnH-_AlOwtPayT2OO0JPO0BNXoDFG-xfHdKM,2668
106
+ orionis/foundation/config/database/entities/mysql.py,sha256=Hk3PnbPEzNSQiL9zXQ2oGRQJLX9jWIiGbVRI-WkCEGg,10073
107
+ orionis/foundation/config/database/entities/oracle.py,sha256=M4ljgz0ZtXxNhtymr4nRoJWtuFvd-IDnlMxSG2Rwk7Y,9119
108
+ orionis/foundation/config/database/entities/pgsql.py,sha256=Q_PdzTel1Ryl6d5m-kaETEdn-Gixy_xG011652lXUqs,8007
109
+ orionis/foundation/config/database/entities/sqlite.py,sha256=I59GwCainSJfeeZAUBQds4nDFJGj8ILCjX2U-j2ycwU,7445
110
110
  orionis/foundation/config/database/enums/__init__.py,sha256=wmlUMR0hNRBGZfrPGbPCDO_rpa7OF-2pEXkRnL5iMbM,992
111
111
  orionis/foundation/config/database/enums/mysql_charsets.py,sha256=bK-pYPccYi9OKZ7a7SIyShtSwWlkCX2BwVaGBOp7oSo,2770
112
112
  orionis/foundation/config/database/enums/mysql_collations.py,sha256=x908jTm68viR7FIa6tNjlmxP5xRI71pzVB60ZT-qqI0,2908
@@ -121,21 +121,21 @@ orionis/foundation/config/database/enums/sqlite_journal.py,sha256=gUHR24nqdwEpQP
121
121
  orionis/foundation/config/database/enums/sqlite_synchronous.py,sha256=rX4HI3mmp-H1A50N_leg8FfwUO4yQRX_Mp4GS1JWHhE,723
122
122
  orionis/foundation/config/filesystems/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  orionis/foundation/config/filesystems/entitites/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
- orionis/foundation/config/filesystems/entitites/aws.py,sha256=nzyled_iEZut5GlpOq8GIGAWYmhkBjG87SruWdXl7eo,4320
125
- orionis/foundation/config/filesystems/entitites/disks.py,sha256=fqXxwKnX5yhHIGAHllfsOyKxPoRKJDxcqJo0xNfOZts,2842
126
- orionis/foundation/config/filesystems/entitites/filesystems.py,sha256=hYnICpJgjZzqYuBFu46YqdAnBPlJSHbkgHGzFuMGzWw,1795
127
- orionis/foundation/config/filesystems/entitites/local.py,sha256=qj1_Z4s-Y6MnKtpODhLqRvrsd52Te7ud5dsWdI-g7Zg,1179
128
- orionis/foundation/config/filesystems/entitites/public.py,sha256=kAtwabSLXA0Trg6NGVzAa8hHI-ADy_zZ0WlO_IxNnq8,1648
124
+ orionis/foundation/config/filesystems/entitites/aws.py,sha256=Tzg7FIO2EpIBh51C0C7nrJkXy5LgEz0MucrDF1-0V5E,4353
125
+ orionis/foundation/config/filesystems/entitites/disks.py,sha256=MhdM2ucIDdqkSbbevHwLg6BVw9do5pAJAEA-SSdUkG4,2899
126
+ orionis/foundation/config/filesystems/entitites/filesystems.py,sha256=tYtNmDpMlm662de7sSPuAuOfo6lcG3jVcL15fa3TEHs,1836
127
+ orionis/foundation/config/filesystems/entitites/local.py,sha256=PNgcJ7qxhVWSi5LxXuv7Kg48x6Tt34HBQsgux_fxtfk,1212
128
+ orionis/foundation/config/filesystems/entitites/public.py,sha256=bcgp7wOLse_D-_AVC6zb1wkrVONhWVCTgjq0rJFE69I,1681
129
129
  orionis/foundation/config/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
130
  orionis/foundation/config/logging/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
- orionis/foundation/config/logging/entities/channels.py,sha256=00N7SyeJTaKg2owWD0dMdeEC0AzbnleADUzIhhl4AIc,4847
132
- orionis/foundation/config/logging/entities/chunked.py,sha256=EVXnHbkEVZWmH9-XEGDTSFl6vywBhP3GtPCFJZ5KZuI,3815
133
- orionis/foundation/config/logging/entities/daily.py,sha256=jiqRYp8VmkeXGy2SPp9ecYRLMHFgLa6IoCELZjb_h-E,3966
134
- orionis/foundation/config/logging/entities/hourly.py,sha256=C76WcbrjCiO16fvpXeadqRhN_SQTo3corcPmewEqC7I,2915
135
- orionis/foundation/config/logging/entities/logging.py,sha256=zsq41IsIq4S-GISjU73hkARYFWIdIQ3SOeHSoiHa2rk,2528
136
- orionis/foundation/config/logging/entities/monthly.py,sha256=72N0kPzbn0iwQyhVbeoQjHXXRqG22M1Bblg8oZenx2g,2906
137
- orionis/foundation/config/logging/entities/stack.py,sha256=qeOgIIU3j9v8f7StRgHdLJOs1vEgr0x6gWeTw7W7DdQ,1699
138
- orionis/foundation/config/logging/entities/weekly.py,sha256=zM1a20HwJg23_JfbpSaUQZgvIJ4q11mq-dzOS5OWVl4,2850
131
+ orionis/foundation/config/logging/entities/channels.py,sha256=-bguMcxirxwJl1qLtDbFkRcJ594MaH9bo8jYk-RC3Ec,4928
132
+ orionis/foundation/config/logging/entities/chunked.py,sha256=AAmvkTcwGe9j9lGzmOfrtRn-rHW7hvStVw1LHLE1X7w,3848
133
+ orionis/foundation/config/logging/entities/daily.py,sha256=uGrBhj4QQm2TMnbeW_cF76jEjUc9KG5m16jiRCBcjM8,3994
134
+ orionis/foundation/config/logging/entities/hourly.py,sha256=fQr-kO1zYYelzpe8YfmY_A45INd0NIbG1sDfcLpg758,2948
135
+ orionis/foundation/config/logging/entities/logging.py,sha256=Y6BZ1cnsKeeGUgK2zEMs0srFKI_AHBIghK58efZWj60,2569
136
+ orionis/foundation/config/logging/entities/monthly.py,sha256=cNp1jbKA0OVvzw912YnMA9nzTA1VyNJ2k3FPJal2Hss,2939
137
+ orionis/foundation/config/logging/entities/stack.py,sha256=srjiHVGo6jxJEVX23A0hiw7tRaLiQj9TF5jVyeNd9So,1732
138
+ orionis/foundation/config/logging/entities/weekly.py,sha256=wtUMmjjaZvIzP1lzFu2JtQFUerwUdYRV6AFXrJqYddg,2883
139
139
  orionis/foundation/config/logging/enums/__init__.py,sha256=QUTGa3iIds08ycR7d-Oqa11P07G-djFLGco9ziJjg0E,57
140
140
  orionis/foundation/config/logging/enums/levels.py,sha256=9ELSmWnlaB14uqp5OsKXltsF5aVbxwdLQxYp8pjQAbk,872
141
141
  orionis/foundation/config/logging/validators/__init__.py,sha256=ZJmPiObyJgbGCgFFz20Ryu4CX5z-cPW9ZWxirQrJoZ0,121
@@ -144,28 +144,28 @@ orionis/foundation/config/logging/validators/path.py,sha256=_U1lA3XFAcbaFkoZJQ2x
144
144
  orionis/foundation/config/mail/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
145
  orionis/foundation/config/mail/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
146
  orionis/foundation/config/mail/entities/file.py,sha256=U0M8QBX9PMaedbZwlOweeuUI6JnmVX2P4JTYYjdoY-c,1323
147
- orionis/foundation/config/mail/entities/mail.py,sha256=UgycssQUZvOAUdZZCbeET7VKYasCTn4L4bWRxm9DsqQ,2420
148
- orionis/foundation/config/mail/entities/mailers.py,sha256=U0ABsQZ3mxDdlMaOZYBM6yBH7DyHHDCAZ97Smwn6_wo,2390
147
+ orionis/foundation/config/mail/entities/mail.py,sha256=wHztg5zn3Xz1aqhA0JuGti_K3BoMSPtnW1RFFTd47QY,2428
148
+ orionis/foundation/config/mail/entities/mailers.py,sha256=cEPKkft0soOYRTswPtfuvLM3NNQyJnUb28mBtuN-iBA,2406
149
149
  orionis/foundation/config/mail/entities/smtp.py,sha256=74S-nFhzgG_GnPWN1yfKbrf34JMMQI7W-UPraGIzgOw,4739
150
150
  orionis/foundation/config/queue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
151
  orionis/foundation/config/queue/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
- orionis/foundation/config/queue/entities/brokers.py,sha256=_sfh77VGP0vcsg3N_diVFvBSoXMIRQphhLKVbqKbDZQ,2005
153
- orionis/foundation/config/queue/entities/database.py,sha256=cIBa6csNs6ROzQZHQUcWozHHzgwBIo-csCMCzqWR9aU,4802
154
- orionis/foundation/config/queue/entities/queue.py,sha256=KI3CMI2XpgPhsHD_VlcMx0EwdjicGh0n5lhewXC9rz8,2198
152
+ orionis/foundation/config/queue/entities/brokers.py,sha256=OV2wQDHcTm0JRDCAqCpETJ5Io_NetCIkSANec29ZteU,2046
153
+ orionis/foundation/config/queue/entities/database.py,sha256=sgh56Spve7mar7EQwpr6kLOOm7AKBQMFl1OvLBJ29hM,4835
154
+ orionis/foundation/config/queue/entities/queue.py,sha256=YiWPeEg5e0fd_DJM2ogska6RYU5kqr8YYjaq1ggMTMk,2239
155
155
  orionis/foundation/config/queue/enums/__init__.py,sha256=oWY8GWwr5mex7szs_bLVqAS1jbyuIAvKl7XFGSlU9A0,64
156
156
  orionis/foundation/config/queue/enums/strategy.py,sha256=S_kw7KZtoCk5FTOkbuXepdy_fOl9Eav4uT2K0OyzBa0,602
157
157
  orionis/foundation/config/roots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
- orionis/foundation/config/roots/paths.py,sha256=3PxhvIyEeSF4TmljW6GimW4ZV7W1zh62Ec3U4TbM9E4,9894
158
+ orionis/foundation/config/roots/paths.py,sha256=kmUsuurIwQrOXZrkcQbXyvaDx2LfyxSHf7R0EsVNTsg,10670
159
159
  orionis/foundation/config/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  orionis/foundation/config/session/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
- orionis/foundation/config/session/entities/session.py,sha256=V7jHoVI0vpjINVLU_nRgP5oF-xAORJ2Juw8aXgbd-jc,5845
161
+ orionis/foundation/config/session/entities/session.py,sha256=sJoD-_CiwUR88tva-rO22bagG3RTcHXrQGWbq4B5joM,5998
162
162
  orionis/foundation/config/session/enums/__init__.py,sha256=bvjCUkQbSfKB0J8V1BwOHSjOyZn6xhOmamH3urhoKCA,84
163
163
  orionis/foundation/config/session/enums/same_site_policy.py,sha256=Oo05CJ-5keJWzfflylodyBquofsXqThQPcnar2-ChCw,645
164
164
  orionis/foundation/config/session/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  orionis/foundation/config/session/helpers/secret_key.py,sha256=yafjzQ9KVQdXzCQCMthpgizlNCo5F5UTLtAnInipUMk,447
166
166
  orionis/foundation/config/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
167
  orionis/foundation/config/testing/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
- orionis/foundation/config/testing/entities/testing.py,sha256=ViNBCm7LlkTeUZIWTbZdlB2DOvcvZSC8J8jShAwcCf4,13713
168
+ orionis/foundation/config/testing/entities/testing.py,sha256=01plqCbS9cqly8I3Vw5oRBxPYT0o53xe8rCOwfZY-os,13755
169
169
  orionis/foundation/config/testing/enums/__init__.py,sha256=aFh5kBxlh5kqHK-9W7qgdykF5-qou5SVRzorRBazqYw,196
170
170
  orionis/foundation/config/testing/enums/drivers.py,sha256=mwv47FcKDXEOxydQXAGtkdIY9S6qCAW1cD22oCFy3xw,355
171
171
  orionis/foundation/config/testing/enums/mode.py,sha256=IbFpauu7J-iSAfmC8jDbmTEYl8eZr-AexL-lyOh8_74,337
@@ -187,7 +187,7 @@ orionis/foundation/providers/progress_bar_provider.py,sha256=WW3grNgH-yV2meSSTeO
187
187
  orionis/foundation/providers/testing_provider.py,sha256=iJSN2RIChbYIL-1ue6vmPmDMCSrvERDkti4Er9MPiLA,1102
188
188
  orionis/foundation/providers/workers_provider.py,sha256=kiQjQRyUEyiBX2zcbF_KmqRgvc7Bvxsvg5oMtIvYniM,1075
189
189
  orionis/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
- orionis/metadata/framework.py,sha256=VeFuH_eJAN6DndP4ZtNHrzwpg_dT2We8VPkkKrSQccE,4960
190
+ orionis/metadata/framework.py,sha256=TN0bWAwI_0NXglzLrTW6uOK-Oq8T4PwkGoWeuBrZsUM,4960
191
191
  orionis/metadata/package.py,sha256=tqLfBRo-w1j_GN4xvzUNFyweWYFS-qhSgAEc-AmCH1M,5452
192
192
  orionis/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
193
  orionis/services/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -199,26 +199,24 @@ orionis/services/asynchrony/exceptions/exception.py,sha256=yAVsjZ2lLAoFgNIiMcOtC
199
199
  orionis/services/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
200
200
  orionis/services/environment/env.py,sha256=vKx9zO2DpUK089fL17qxQ4X4tLYzN3exGAKg3d-rp3c,2272
201
201
  orionis/services/environment/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
+ orionis/services/environment/contracts/caster.py,sha256=f5OsgsUCu-cqjmfWF6fqyKmXocHZGIjZgXw7F7g05yw,1211
202
203
  orionis/services/environment/contracts/env.py,sha256=7lezGxABAG63pEEvzAmHXgr9izBI6TCp05Trx_SRvc4,2054
203
- orionis/services/environment/contracts/types.py,sha256=n0USxUblz0Ofbo1ef0hnGHGkuGjSiWk-SBWVPXv33mE,1994
204
204
  orionis/services/environment/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
- orionis/services/environment/core/dot_env.py,sha256=Dgkmy0juaFKZPEkv7nN7VvdYryX8fDs0JgRGOIHj7PM,10090
205
+ orionis/services/environment/core/dot_env.py,sha256=1371GV5mxkBH4iPFHccBz9V-6JoZZfy_hSukqJWQjdE,14278
206
206
  orionis/services/environment/dynamic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
- orionis/services/environment/dynamic/types.py,sha256=nf7HJjm-1S-BH2YnuBQNNWvb3Aqu-QYPUTfJRgVYZ1Y,18336
207
+ orionis/services/environment/dynamic/caster.py,sha256=8j1yVcOhdS3WTTgzc19CzmxZFWyY6vRVGT__76mU5JI,35040
208
208
  orionis/services/environment/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
- orionis/services/environment/enums/cast_type.py,sha256=hoZhljXHNn03VYbg6VTauGyppmcoRjaepylrOKSBvu8,1217
209
+ orionis/services/environment/enums/value_type.py,sha256=C-JQGGz1GtdoggKG-rBykUm9lUTS2JmU232D8lWTB2Q,1302
210
210
  orionis/services/environment/exceptions/__init__.py,sha256=YwLc8GsB0swlwu9T9Qt2vevaCoq5V2vmPUSlEUAqg2Q,199
211
211
  orionis/services/environment/exceptions/exception.py,sha256=NnxWmgoSca7LXi7GLDa95HSBPKotFfy8u729d1OAmCc,479
212
212
  orionis/services/environment/exceptions/value.py,sha256=Pe1qNHRrM9T0AzESN284CzA3GQYxzokfXPMOVqOTlyQ,475
213
213
  orionis/services/environment/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
214
  orionis/services/environment/helpers/functions.py,sha256=MtlDTA1W8KVJu0cohh4TsuPg8CPcnySf36cp9E9tpJI,595
215
215
  orionis/services/environment/key/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
- orionis/services/environment/key/key_generator.py,sha256=BHvcFiPOmJHQotstMNkUdoEwb0mNxQk5iyvQU3JlJ94,1134
217
- orionis/services/environment/serializer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
- orionis/services/environment/serializer/values.py,sha256=ERnQWgCAljhJ9pRSd-knnGD5i6ne5Ho-4bh93pgDtwY,364
216
+ orionis/services/environment/key/key_generator.py,sha256=uFHOPH0YtYU_vEG7Oc3a51O15QxZl1USD_KlYcS9SsQ,912
219
217
  orionis/services/environment/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
218
  orionis/services/environment/validators/key_name.py,sha256=heMQoMY4vF9sIYAlET7noTQz383daGPvJnJOb62nxFo,1577
221
- orionis/services/environment/validators/types.py,sha256=AQvIZzBWxZ6-iJhzRkroim5CKBvWq2lTttRyXzc-6GU,1922
219
+ orionis/services/environment/validators/types.py,sha256=t3G-JlJz1jDcYKrS7iljBL2q3m-KpmcCFBGoQIhRtK0,2000
222
220
  orionis/services/introspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
221
  orionis/services/introspection/reflection.py,sha256=_Wdy8Wtt3RKXAqg9o5rvYa_Hyu-Z4674LKnNVg7u7pU,11467
224
222
  orionis/services/introspection/abstract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -283,7 +281,7 @@ orionis/services/system/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
283
281
  orionis/services/system/runtime/imports.py,sha256=iIwIx8RjBHaiveCdj_WPiMMbWsKGbIs02qpAzL_L3Z0,3158
284
282
  orionis/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
285
283
  orionis/support/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
286
- orionis/support/entities/base.py,sha256=UKDEpScz7ZeckCqD9TNxAhk0ZN9UPgrRQOpUUHVtfqg,4845
284
+ orionis/support/entities/base.py,sha256=tmnNhacKUf-T5ghj4vczY93gg0TAU_gosr6kRJ6PrK4,5540
287
285
  orionis/support/facades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
288
286
  orionis/support/facades/console.py,sha256=YAVAdP0TjLjKoBVU18mVl1MtMGWjbKJoYxZRlm1ZwUI,792
289
287
  orionis/support/facades/dumper.py,sha256=Yxn_6sU3ijo8dXGZRDLi_S2lNJoeJtCeLX5GI4Jn0u4,803
@@ -357,7 +355,7 @@ orionis/test/validators/web_report.py,sha256=-h3Fe9jY93_kzUhd2NBIqEfCcBpu-8Ei9x3
357
355
  orionis/test/validators/workers.py,sha256=LGffDKtK6SKixFKzIYPQpI5aFeQPAGXpv_LUtmEu6g4,1102
358
356
  orionis/test/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
359
357
  orionis/test/view/render.py,sha256=3ICz68l-WF3BtnYqH5m-ktN9UD00MELMbmMnyJDV74A,4768
360
- orionis-0.420.0.dist-info/licenses/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
358
+ orionis-0.422.0.dist-info/licenses/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
361
359
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
362
360
  tests/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
363
361
  tests/container/test_container.py,sha256=asv8TkkupVoex6SWod74NBl4dSs7wb9mLmu_glNdNy8,14815
@@ -435,7 +433,7 @@ tests/foundation/config/queue/test_foundation_config_queue.py,sha256=1qeov00ibVD
435
433
  tests/foundation/config/queue/test_foundation_config_queue_brokers.py,sha256=FezIF7aRFNi_bVa45kfbxO2Cf0DomFNuoybM64S88aw,2592
436
434
  tests/foundation/config/queue/test_foundation_config_queue_database.py,sha256=qLYXjG8YVIp_NWYcZA9A2GmOdjFyt3snq9X1cdIok8M,4830
437
435
  tests/foundation/config/root/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
438
- tests/foundation/config/root/test_foundation_config_root_paths.py,sha256=rZkIsEik2crc0XUOHodT4QmmhIXhfpWGlWtn75akEI0,4096
436
+ tests/foundation/config/root/test_foundation_config_root_paths.py,sha256=SU3PGUIFiUFHFYBSyZBUSUmVDzDNyY3ixKK097i6kaA,4229
439
437
  tests/foundation/config/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
440
438
  tests/foundation/config/session/test_foundation_config_session.py,sha256=Zvjzzy8ApRTogRbr3RaIe4EhvWoLKsX9udb2DSokCMI,6392
441
439
  tests/foundation/config/startup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -500,8 +498,8 @@ tests/testing/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
500
498
  tests/testing/validators/test_testing_validators.py,sha256=QdcF0Vhnnl_kD-PzceHJbUYOqwPTB1Td7YaTv8LTr30,19612
501
499
  tests/testing/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
502
500
  tests/testing/view/test_render.py,sha256=-ghGG8rimyb2b2wtvMuSPPH7Zac5_NlVCiUcHRA5SNg,1172
503
- orionis-0.420.0.dist-info/METADATA,sha256=aJ9xqj-m8GhiJyhqnRHM3aqcFhONs0Xp-fzQQSt58P8,4772
504
- orionis-0.420.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
505
- orionis-0.420.0.dist-info/top_level.txt,sha256=0G1WIo0HbkZ6hNbKp6cdXLoKj1SfULEORhCuPIV_Dqw,26
506
- orionis-0.420.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
507
- orionis-0.420.0.dist-info/RECORD,,
501
+ orionis-0.422.0.dist-info/METADATA,sha256=uT4PtXxf3WCmccOyQhLgYtP9EsMs9gWS1dq_RQnZwts,4772
502
+ orionis-0.422.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
503
+ orionis-0.422.0.dist-info/top_level.txt,sha256=0G1WIo0HbkZ6hNbKp6cdXLoKj1SfULEORhCuPIV_Dqw,26
504
+ orionis-0.422.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
505
+ orionis-0.422.0.dist-info/RECORD,,
@@ -113,4 +113,7 @@ class TestFoundationConfigRootPaths(AsyncTestCase):
113
113
  self.assertIn('description', metadata)
114
114
  self.assertIn('default', metadata)
115
115
  self.assertIsInstance(metadata['description'], str)
116
- self.assertIsInstance(metadata['default'], str)
116
+ default_value = metadata['default']
117
+ if callable(default_value):
118
+ default_value = default_value()
119
+ self.assertIsInstance(default_value, str)