orionis 0.308.0__py3-none-any.whl → 0.310.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 (26) hide show
  1. orionis/container/container.py +22 -0
  2. orionis/container/enums/lifetimes.py +8 -0
  3. orionis/container/exceptions/container_exception.py +17 -0
  4. orionis/container/exceptions/type_error_exception.py +17 -0
  5. orionis/container/exceptions/value_exception.py +17 -0
  6. orionis/foundation/config/testing/entities/testing.py +23 -2
  7. orionis/metadata/framework.py +1 -1
  8. orionis/services/introspection/abstract/reflection_abstract.py +19 -10
  9. orionis/test/logs/history.py +1 -1
  10. orionis/test/output/dumper.py +1 -1
  11. orionis/test/suite/test_unit.py +1 -1
  12. orionis/test/test_suite.py +22 -1
  13. {orionis-0.308.0.dist-info → orionis-0.310.0.dist-info}/METADATA +1 -1
  14. {orionis-0.308.0.dist-info → orionis-0.310.0.dist-info}/RECORD +24 -21
  15. orionis/test/output/contracts/__init__.py +0 -0
  16. orionis/test/suite/contracts/__init__.py +0 -0
  17. /orionis/foundation/{config/contracts → contracts}/__init__.py +0 -0
  18. /orionis/foundation/{config/contracts → contracts}/config.py +0 -0
  19. /orionis/test/{logs/contracts → contracts}/__init__.py +0 -0
  20. /orionis/test/{output/contracts → contracts}/dumper.py +0 -0
  21. /orionis/test/{logs/contracts → contracts}/history.py +0 -0
  22. /orionis/test/{suite/contracts → contracts}/test_unit.py +0 -0
  23. {orionis-0.308.0.dist-info → orionis-0.310.0.dist-info}/WHEEL +0 -0
  24. {orionis-0.308.0.dist-info → orionis-0.310.0.dist-info}/licenses/LICENCE +0 -0
  25. {orionis-0.308.0.dist-info → orionis-0.310.0.dist-info}/top_level.txt +0 -0
  26. {orionis-0.308.0.dist-info → orionis-0.310.0.dist-info}/zip-safe +0 -0
@@ -0,0 +1,22 @@
1
+ from typing import Any, Callable
2
+ from orionis.container.enums.lifetimes import Lifetime
3
+ from orionis.services.introspection.abstract.reflection_abstract import ReflectionAbstract
4
+
5
+
6
+ class Container:
7
+
8
+ def transient(self, abstract: Callable[..., Any], concrete: Callable[..., Any]) -> None:
9
+ """
10
+ Registers a service with a transient lifetime.
11
+
12
+ Parameters
13
+ ----------
14
+ abstract : Callable[..., Any]
15
+ The abstract base type or alias to be bound.
16
+ concrete : Callable[..., Any]
17
+ The concrete implementation to associate with the abstract type.
18
+ """
19
+
20
+ ReflectionAbstract.ensureIsAbstractClass(abstract)
21
+
22
+ # self.bind(abstract, concrete, Lifetime.TRANSIENT)
@@ -0,0 +1,8 @@
1
+ from enum import Enum, auto
2
+
3
+ class Lifetime(Enum):
4
+ """Defines the lifecycle types for dependency injection."""
5
+
6
+ TRANSIENT = auto()
7
+ SINGLETON = auto()
8
+ SCOPED = auto()
@@ -0,0 +1,17 @@
1
+ class OrionisContainerException(Exception):
2
+ """
3
+ Excepción personalizada para errores relacionados con el contenedor de inyección de dependencias Orionis.
4
+ """
5
+
6
+ def __init__(self, message: str) -> None:
7
+ """
8
+ Inicializa la excepción con un mensaje de error.
9
+
10
+ Args:
11
+ message (str): Mensaje descriptivo del error.
12
+ """
13
+ super().__init__(message)
14
+
15
+ def __str__(self) -> str:
16
+ """Retorna una representación en cadena de la excepción."""
17
+ return f"[OrionisContainerException] {self.args[0]}"
@@ -0,0 +1,17 @@
1
+ class OrionisContainerTypeError(TypeError):
2
+ """
3
+ Custom exception for TypeError related to the Orionis container.
4
+ """
5
+
6
+ def __init__(self, message: str) -> None:
7
+ """
8
+ Initializes the exception with an error message.
9
+
10
+ Args:
11
+ message (str): Descriptive error message.
12
+ """
13
+ super().__init__(message)
14
+
15
+ def __str__(self) -> str:
16
+ """Returns a string representation of the exception."""
17
+ return f"[OrionisContainerTypeError] {self.args[0]}"
@@ -0,0 +1,17 @@
1
+ class OrionisContainerValueError(ValueError):
2
+ """
3
+ Excepción personalizada para errores de tipo ValueError en el contenedor Orionis.
4
+ """
5
+
6
+ def __init__(self, message: str) -> None:
7
+ """
8
+ Inicializa la excepción con un mensaje de error.
9
+
10
+ Args:
11
+ message (str): Mensaje descriptivo del error.
12
+ """
13
+ super().__init__(message)
14
+
15
+ def __str__(self) -> str:
16
+ """Retorna una representación en cadena de la excepción."""
17
+ return f"[OrionisContainerValueError] {self.args[0]}"
@@ -1,4 +1,4 @@
1
- from dataclasses import asdict, dataclass, field
1
+ from dataclasses import asdict, dataclass, field, fields
2
2
  from typing import List
3
3
  from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
4
4
  from orionis.services.system.workers import Workers
@@ -51,7 +51,7 @@ class Testing:
51
51
  metadata={
52
52
  "description": "The maximum number of worker threads/processes to use when running tests in parallel. Default is 4.",
53
53
  "required": True,
54
- "default": "Workers.calculate()"
54
+ "default": Workers().__class__
55
55
  }
56
56
  )
57
57
 
@@ -277,3 +277,24 @@ class Testing:
277
277
  """
278
278
  return asdict(self)
279
279
 
280
+ def getFields(self):
281
+ """
282
+ Retrieves a list of field information for the current dataclass instance.
283
+
284
+ Returns:
285
+ list: A list of dictionaries, each containing details about a field:
286
+ - name (str): The name of the field.
287
+ - type (type): The type of the field.
288
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
289
+ - metadata (mapping): The metadata associated with the field.
290
+ """
291
+ __fields = []
292
+ for field in fields(self):
293
+ __metadata = dict(field.metadata) or {}
294
+ __fields.append({
295
+ "name": field.name,
296
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
297
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
298
+ "metadata": __metadata
299
+ })
300
+ return __fields
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.308.0"
8
+ VERSION = "0.310.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -11,31 +11,40 @@ from orionis.services.introspection.exceptions.reflection_value_error import Ref
11
11
 
12
12
  class ReflectionAbstract(IReflectionAbstract):
13
13
 
14
- def __init__(self, abstract: Type) -> None:
14
+ @staticmethod
15
+ def ensureIsAbstractClass(abstract: Type):
15
16
  """
16
- Initializes the reflection class with the provided abstract base class (interface).
17
+ Ensures that the provided object is an abstract base class (interface).
17
18
 
18
19
  Parameters
19
20
  ----------
20
21
  abstract : Type
21
- The abstract base class (interface) to be reflected upon.
22
+ The class to check.
22
23
 
23
24
  Raises
24
25
  ------
25
26
  ReflectionTypeError
26
- If 'abstract' is not a class type.
27
- ReflectionTypeError
28
- If 'abstract' is not an abstract base class (interface).
27
+ If 'abstract' is not a class type or not an abstract base class.
29
28
  """
30
-
31
- # Check if the provided abstract is a class type
32
29
  if not isinstance(abstract, type):
33
30
  raise ReflectionTypeError(f"Expected a class type for 'abstract', got {type(abstract).__name__!r}")
34
-
35
- # Check if it's an abstract base class (interface)
36
31
  if not bool(getattr(abstract, '__abstractmethods__', False)):
37
32
  raise ReflectionTypeError(f"Provided class '{abstract.__name__}' is not an interface (abstract base class)")
33
+ return True
34
+
35
+ def __init__(self, abstract: Type) -> None:
36
+ """
37
+ Initializes the ReflectionAbstract instance with the given abstract class.
38
+ Args:
39
+ abstract (Type): The abstract base class (interface) to be reflected.
40
+ Raises:
41
+ TypeError: If the provided abstract is not an abstract base class.
42
+ """
43
+
44
+ # Ensure the provided abstract is an abstract base class (interface)
45
+ ReflectionAbstract.ensureIsAbstractClass(abstract)
38
46
 
47
+ # Set the abstract class as a private attribute
39
48
  self.__abstract = abstract
40
49
 
41
50
  def getClass(self) -> Type:
@@ -6,7 +6,7 @@ from typing import Dict, List, Optional, Tuple
6
6
  from orionis.services.environment.env import Env
7
7
  from orionis.test.exceptions.test_persistence_error import OrionisTestPersistenceError
8
8
  from orionis.test.exceptions.test_value_error import OrionisTestValueError
9
- from orionis.test.logs.contracts.history import ITestHistory
9
+ from orionis.test.contracts.history import ITestHistory
10
10
 
11
11
  class TestHistory(ITestHistory):
12
12
 
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import sys
3
3
  from orionis.test.exceptions.test_runtime_error import OrionisTestRuntimeError
4
- from orionis.test.output.contracts.dumper import ITestDumper
4
+ from orionis.test.contracts.dumper import ITestDumper
5
5
 
6
6
  class TestDumper(ITestDumper):
7
7
  """
@@ -25,7 +25,7 @@ from orionis.test.exceptions.test_failure_exception import OrionisTestFailureExc
25
25
  from orionis.test.exceptions.test_persistence_error import OrionisTestPersistenceError
26
26
  from orionis.test.exceptions.test_value_error import OrionisTestValueError
27
27
  from orionis.test.logs.history import TestHistory
28
- from orionis.test.suite.contracts.test_unit import IUnitTest
28
+ from orionis.test.contracts.test_unit import IUnitTest
29
29
  from orionis.test.view.render import TestingResultRender
30
30
 
31
31
  class UnitTest(IUnitTest):
@@ -1,5 +1,6 @@
1
1
  import re
2
2
  from os import walk
3
+ from dataclasses import fields
3
4
  from orionis.foundation.config.testing.entities.testing import Testing as Configuration
4
5
  from orionis.test.exceptions.test_config_exception import OrionisTestConfigException
5
6
  from orionis.test.suite.test_unit import UnitTest
@@ -28,7 +29,7 @@ class TestSuite:
28
29
  Returns the results of the executed test suite.
29
30
  """
30
31
 
31
- def __init__(self, config:Configuration = None):
32
+ def __init__(self, config:Configuration = None, **kwargs):
32
33
  """
33
34
  Initializes the TestSuite with the provided configuration.
34
35
 
@@ -37,6 +38,26 @@ class TestSuite:
37
38
  config : Configuration, optional
38
39
  Configuration object specifying parameters for test suite execution. If not provided, a new Configuration instance is created.
39
40
  """
41
+
42
+ # Check if config is None and kwargs are provided
43
+ if config is None:
44
+
45
+ try:
46
+
47
+ # Attempt to create a Configuration instance with provided keyword arguments
48
+ config = Configuration(**kwargs)
49
+
50
+ except TypeError:
51
+
52
+ # If a TypeError occurs, it indicates that the provided arguments do not match the Configuration class
53
+ required_fields = []
54
+ for field in Configuration().getFields():
55
+ required_fields.append(f"{field.get('name')} = (Type: {field.get('type')}, Default: {field.get('default')})")
56
+
57
+ # Raise an exception with a detailed message about the required fields
58
+ raise OrionisTestConfigException(f"The provided configuration is not valid. Please ensure it is an instance of the Configuration class or provide valid keyword arguments. \n{str("\n").join(required_fields)}]")
59
+
60
+ # Assign the configuration to the instance variable
40
61
  self.__config = config or Configuration()
41
62
 
42
63
  def run(self) -> 'UnitTest':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.308.0
3
+ Version: 0.310.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
@@ -135,6 +135,11 @@ orionis/console/output/console.py,sha256=TE_Hl720ADd82dbERFSWhkoQRukDQZmETSw4nkw
135
135
  orionis/console/output/executor.py,sha256=bdvkzW2-buy0BPpy2r5qUGrRFW2Ay6k-5rSeHb0gQ3o,3352
136
136
  orionis/console/output/progress_bar.py,sha256=vFy582z6VJS46LV6tuyrmr9qvdVeTEtw3hyNcEHezeg,3088
137
137
  orionis/console/output/styles.py,sha256=6a4oQCOBOKMh2ARdeq5GlIskJ3wjiylYmh66tUKKmpQ,4053
138
+ orionis/container/container.py,sha256=gFWufyr7b_91mpmteEihpOL2thL0RjDba7Bcn4aqUiY,761
139
+ orionis/container/enums/lifetimes.py,sha256=RqQmugMIB1Ev_j_vFLcWorndm-to7xg4stQ7yKFDdDw,190
140
+ orionis/container/exceptions/container_exception.py,sha256=cmoiDR2LvQ4AnxxZL-F3JdeI18ux7CzKmsCki98DAEk,585
141
+ orionis/container/exceptions/type_error_exception.py,sha256=T1x0vNY_i6pj3dyQ8atFKGY-Cs20Ep7EHq0RWvxpNMM,531
142
+ orionis/container/exceptions/value_exception.py,sha256=FSFsoG_piErEs-OOCtDrdDY02bPIOdNy4-rbJ8qPNHg,565
138
143
  orionis/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
144
  orionis/foundation/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
145
  orionis/foundation/config/startup.py,sha256=UHeTHPNG8h1Cbg_kT9ZiungOmU2gkrod4nhW8xgddQY,7209
@@ -154,8 +159,6 @@ orionis/foundation/config/cache/entities/file.py,sha256=9PCVsQNfFgOd6MylpvVS_sle
154
159
  orionis/foundation/config/cache/entities/stores.py,sha256=CyDEudFLQuCKrlylOyk5MmlEqv0h2e7uiX7H0a4bz0g,1831
155
160
  orionis/foundation/config/cache/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
161
  orionis/foundation/config/cache/enums/drivers.py,sha256=saAPBQofa-_BocXNcNiju0XLaOApfPICZa7ZP23qIJs,277
157
- orionis/foundation/config/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
- orionis/foundation/config/contracts/config.py,sha256=Rpz6U6t8OXHO9JJKSTnCimytXE-tfCB-1ithP2nG8MQ,628
159
162
  orionis/foundation/config/cors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
163
  orionis/foundation/config/cors/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
164
  orionis/foundation/config/cors/entities/cors.py,sha256=3jjP-I1DV5SnxZSjH_Ryp9aS6B94iToFN-yUnNYvpmw,5196
@@ -222,11 +225,13 @@ orionis/foundation/config/session/enums/same_site_policy.py,sha256=Oo05CJ-5keJWz
222
225
  orionis/foundation/config/session/helpers/secret_key.py,sha256=yafjzQ9KVQdXzCQCMthpgizlNCo5F5UTLtAnInipUMk,447
223
226
  orionis/foundation/config/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
227
  orionis/foundation/config/testing/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
- orionis/foundation/config/testing/entities/testing.py,sha256=AuhPU9O15Aeqs8jQVHWJwamgrrcvmC4ThsJ31jyrWic,11849
228
+ orionis/foundation/config/testing/entities/testing.py,sha256=2eln07Jlrfo8XPeVKUGgX6NZJkYJx4fxTat3b1WzAJU,12916
226
229
  orionis/foundation/config/testing/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
230
  orionis/foundation/config/testing/enums/test_mode.py,sha256=IbFpauu7J-iSAfmC8jDbmTEYl8eZr-AexL-lyOh8_74,337
231
+ orionis/foundation/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
+ orionis/foundation/contracts/config.py,sha256=Rpz6U6t8OXHO9JJKSTnCimytXE-tfCB-1ithP2nG8MQ,628
228
233
  orionis/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
- orionis/metadata/framework.py,sha256=g6dQA5q6iAt9Iw3yXQosgdjsOGgIIaLR1KHNKm_HSvU,4960
234
+ orionis/metadata/framework.py,sha256=DivzhWwEMU-eP536LW7YhRVNUZY1LsNVI9u24eMHSMU,4960
230
235
  orionis/metadata/package.py,sha256=tqLfBRo-w1j_GN4xvzUNFyweWYFS-qhSgAEc-AmCH1M,5452
231
236
  orionis/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
237
  orionis/patterns/singleton/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -251,7 +256,7 @@ orionis/services/environment/exceptions/environment_value_exception.py,sha256=zl
251
256
  orionis/services/introspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
257
  orionis/services/introspection/reflection.py,sha256=AI5ZMv9kHCLOQe9lL_G7wAeY3cPLKZ1FMYqIhU0yS-M,2972
253
258
  orionis/services/introspection/abstract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
- orionis/services/introspection/abstract/reflection_abstract.py,sha256=Mglhry_0sd7NyjV2tp7W9SBhBaLsdzULHskkRM0QlY0,42736
259
+ orionis/services/introspection/abstract/reflection_abstract.py,sha256=CyINJAMU9rHitnAYow7NsNnjobeQNMzxlcfXEp1kmQ4,43087
255
260
  orionis/services/introspection/abstract/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
261
  orionis/services/introspection/abstract/contracts/reflection_abstract.py,sha256=-ugpFcAkGTlk0Md5ft8NrvupnlfVji8QZjGYqWBxqeY,22370
257
262
  orionis/services/introspection/concretes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -309,11 +314,15 @@ orionis/support/wrapper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
309
314
  orionis/support/wrapper/dicts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
310
315
  orionis/support/wrapper/dicts/dot_dict.py,sha256=VdAUH-DO6y86pl_9N6v-vU9mdLraWh5HjVzI5iC1dMs,5295
311
316
  orionis/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
312
- orionis/test/test_suite.py,sha256=Aqjfh_HcuudckUbM5aK7hjH_kE-Rwr_8NyGaioWuQZw,4941
317
+ orionis/test/test_suite.py,sha256=qeQQ_OvgNAmJDuAHRTZntbbCujGl2NtR08bMXZOv-EQ,6001
313
318
  orionis/test/cases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
314
319
  orionis/test/cases/test_async.py,sha256=YwycimGfUx9-kd_FFO8BZXyVayYwOBOzxbu3WZU_l5s,1927
315
320
  orionis/test/cases/test_case.py,sha256=GVN3cxYuE47uPOEqFUiMreLdXjTyqzHjjxfyEM5_D4w,1446
316
321
  orionis/test/cases/test_sync.py,sha256=FekXNQDq5pOQB2YpvP7E9jAqIJH9uZhTMoPz-qx8FO0,742
322
+ orionis/test/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
323
+ orionis/test/contracts/dumper.py,sha256=5OqGc4GEXCXX76sCX185giQMyKwwZvlOv3I7tTwV2fQ,1324
324
+ orionis/test/contracts/history.py,sha256=v3vjWmvn73DF_C8Ur-aWdHUMrztX584mXKwYgsYQgCE,1435
325
+ orionis/test/contracts/test_unit.py,sha256=YWpzXhjD-f-IGncKkGyE9C7tYCFbt9mxZPw1O_d5HOE,7532
317
326
  orionis/test/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
327
  orionis/test/entities/test_result.py,sha256=hz_0NXX5lSVSf4OWhHktrn1kFD43WiL5HugNuHvYRtg,3035
319
328
  orionis/test/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -326,20 +335,14 @@ orionis/test/exceptions/test_persistence_error.py,sha256=QJ2hdVAl6ngZEko0mSavU7n
326
335
  orionis/test/exceptions/test_runtime_error.py,sha256=QahR7qHhvzR1I8CS-qWsxL_c0lSzWWE1rCiwf47YRQc,523
327
336
  orionis/test/exceptions/test_value_error.py,sha256=XZmxiZmmMoYoh8O4V97GLB-Ooh-IRVagKW9bWPvtoeo,533
328
337
  orionis/test/logs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
- orionis/test/logs/history.py,sha256=YqoAQSYyEo9PQSbB7TsHZy3SLKrwLsgyiKu7t2M7ztc,13149
330
- orionis/test/logs/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
- orionis/test/logs/contracts/history.py,sha256=v3vjWmvn73DF_C8Ur-aWdHUMrztX584mXKwYgsYQgCE,1435
338
+ orionis/test/logs/history.py,sha256=eAEPWpubs1fFzL-0o8K82hd2lC0S98VOu1AEblCmjYI,13144
332
339
  orionis/test/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
333
- orionis/test/output/dumper.py,sha256=y-6du3n1IU2Cd2MFbMuEiLcpMqEOqENkuAXwMMhcsEI,4287
334
- orionis/test/output/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
- orionis/test/output/contracts/dumper.py,sha256=5OqGc4GEXCXX76sCX185giQMyKwwZvlOv3I7tTwV2fQ,1324
340
+ orionis/test/output/dumper.py,sha256=q1_S5AYMce01ukPkEJ73gQT7gyLBK5XA1NyOeVINQMI,4280
336
341
  orionis/test/suite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
- orionis/test/suite/test_unit.py,sha256=q6cEHnuCM8VlGP45_kiEWDmGn4RHSkBo7DbFpS1fKRI,57055
338
- orionis/test/suite/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
- orionis/test/suite/contracts/test_unit.py,sha256=YWpzXhjD-f-IGncKkGyE9C7tYCFbt9mxZPw1O_d5HOE,7532
342
+ orionis/test/suite/test_unit.py,sha256=5UTdCYmD_Yz8asaBF54RHOx0kjwjLjEhkyPDoDIxk-k,57049
340
343
  orionis/test/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
344
  orionis/test/view/render.py,sha256=jXZkbITBknbUwm_mD8bcTiwLDvsFkrO9qrf0ZgPwqxc,4903
342
- orionis-0.308.0.dist-info/licenses/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
345
+ orionis-0.310.0.dist-info/licenses/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
343
346
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
344
347
  tests/example/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
345
348
  tests/example/test_example.py,sha256=kvWgiW3ADEZf718dGsMPtDh_rmOSx1ypEInKm7_6ZPQ,601
@@ -438,8 +441,8 @@ tests/support/wrapper/test_services_wrapper_docdict.py,sha256=yeVwl-VcwkWSQYyxZu
438
441
  tests/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
442
  tests/testing/test_testing_result.py,sha256=MrGK3ZimedL0b5Ydu69Dg8Iul017AzLTm7VPxpXlpfU,4315
440
443
  tests/testing/test_testing_unit.py,sha256=A6QkiOkP7GPC1Szh_GqsrV7GxjWjK8cIwFez6YfrzmM,7683
441
- orionis-0.308.0.dist-info/METADATA,sha256=gwytoyc5-ORBLo_IrQPgeUD01n8o8DbSKsy2FMFvEgo,4772
442
- orionis-0.308.0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
443
- orionis-0.308.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
444
- orionis-0.308.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
445
- orionis-0.308.0.dist-info/RECORD,,
444
+ orionis-0.310.0.dist-info/METADATA,sha256=j_tLGkYMJ7muy6ayifaGYlSYh63t1miFcCh4kF87aGU,4772
445
+ orionis-0.310.0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
446
+ orionis-0.310.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
447
+ orionis-0.310.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
448
+ orionis-0.310.0.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes
File without changes