orionis 0.496.0__py3-none-any.whl → 0.498.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.
@@ -85,10 +85,6 @@ class BaseExceptionHandler(IBaseExceptionHandler):
85
85
  # Convert the exception into a structured Throwable object
86
86
  throwable = self.destructureException(exception)
87
87
 
88
- # If the exception type is in the list of exceptions passed to the handler
89
- if hasattr(self, 'dont_cathc') and throwable.classtype in self.dont_cathc:
90
- return
91
-
92
88
  # Log the exception details
93
89
  log.error(f"[{throwable.classtype.__name__}] {throwable.message}")
94
90
 
@@ -115,10 +111,6 @@ class BaseExceptionHandler(IBaseExceptionHandler):
115
111
  # Convert the exception into a structured Throwable object
116
112
  throwable = self.destructureException(exception)
117
113
 
118
- # If the exception type is in the list of exceptions passed to the handler
119
- if hasattr(self, 'dont_cathc') and throwable.classtype in self.dont_cathc:
120
- return
121
-
122
114
  # Log the CLI error message with arguments
123
115
  log.error(f"CLI Error: {throwable.message} (Args: {args})")
124
116
 
orionis/failure/catch.py CHANGED
@@ -1,4 +1,4 @@
1
- from typing import Any, List
1
+ from typing import Any
2
2
  from orionis.console.kernel import KernelCLI
3
3
  from orionis.console.output.contracts.console import IConsole
4
4
  from orionis.failure.contracts.catch import ICatch
@@ -8,10 +8,6 @@ from orionis.services.log.contracts.log_service import ILogger
8
8
 
9
9
  class Catch(ICatch):
10
10
 
11
- # Exceptions that should not be caught by the handler
12
- dont_cathc: List[type[BaseException]] = [
13
- #...
14
- ]
15
11
 
16
12
  def __init__(self, app: IApplication) -> None:
17
13
  """
@@ -193,6 +193,7 @@ class Application(Container, IApplication):
193
193
  from orionis.foundation.providers.performance_counter_provider import PerformanceCounterProvider
194
194
  from orionis.foundation.providers.scheduler_provider import ScheduleProvider
195
195
  from orionis.foundation.providers.catch_provider import CathcProvider
196
+ from orionis.foundation.providers.directory_provider import DirectoryProvider
196
197
 
197
198
  # Core framework providers
198
199
  core_providers = [
@@ -207,7 +208,8 @@ class Application(Container, IApplication):
207
208
  ReactorProvider,
208
209
  PerformanceCounterProvider,
209
210
  ScheduleProvider,
210
- CathcProvider
211
+ CathcProvider,
212
+ DirectoryProvider
211
213
  ]
212
214
 
213
215
  # Register each core provider
@@ -1401,6 +1403,7 @@ class Application(Container, IApplication):
1401
1403
  sessions: str | Path = (Path.cwd() / 'storage' / 'framework' / 'sessions').resolve(),
1402
1404
  cache: str | Path = (Path.cwd() / 'storage' / 'framework' / 'cache').resolve(),
1403
1405
  testing: str | Path = (Path.cwd() / 'storage' / 'framework' / 'testing').resolve(),
1406
+ storage: str | Path = (Path.cwd() / 'storage').resolve()
1404
1407
  ) -> 'Application':
1405
1408
  """
1406
1409
  Set and resolve application directory paths using keyword arguments.
@@ -1505,7 +1508,8 @@ class Application(Container, IApplication):
1505
1508
  'logs' : str(logs),
1506
1509
  'sessions' : str(sessions),
1507
1510
  'cache' : str(cache),
1508
- 'testing' : str(testing)
1511
+ 'testing' : str(testing),
1512
+ 'storage' : str(storage)
1509
1513
  }
1510
1514
 
1511
1515
  # Return self instance for method chaining
@@ -230,6 +230,14 @@ class Paths(BaseEntity):
230
230
  }
231
231
  )
232
232
 
233
+ storage: str = field(
234
+ default_factory = lambda: str((Path.cwd() / 'storage').resolve()),
235
+ metadata = {
236
+ 'description': 'Directory for application storage files.',
237
+ 'default': lambda: str((Path.cwd() / 'storage').resolve())
238
+ }
239
+ )
240
+
233
241
  def __post_init__(self) -> None:
234
242
  """
235
243
  Post-initialization hook to validate path attributes.
@@ -0,0 +1,55 @@
1
+ from orionis.container.providers.service_provider import ServiceProvider
2
+ from orionis.services.file.contracts.directory import IDirectory
3
+ from orionis.services.file.directory import Directory
4
+
5
+ class DirectoryProvider(ServiceProvider):
6
+ """
7
+ Service provider for registering the directory service in the application container.
8
+
9
+ This provider binds the `IDirectory` interface to its concrete implementation (`Directory`)
10
+ as a singleton. This ensures that a single shared instance of the directory service is
11
+ available for dependency injection throughout the application.
12
+
13
+ Attributes
14
+ ----------
15
+ app : Application
16
+ The application container instance where services are registered.
17
+
18
+ Methods
19
+ -------
20
+ register()
21
+ Registers the directory service as a singleton in the application container.
22
+ boot()
23
+ Performs post-registration actions if necessary.
24
+ """
25
+
26
+ def register(self) -> None:
27
+ """
28
+ Register the directory service as a singleton in the application container.
29
+
30
+ This method binds the `IDirectory` interface to the `Directory` implementation with
31
+ a specific alias. Only one instance of `Directory` will be created and shared
32
+ throughout the application's lifecycle.
33
+
34
+ Returns
35
+ -------
36
+ None
37
+ This method does not return any value.
38
+ """
39
+ # Bind IDirectory to Directory as a singleton with a specific alias
40
+ self.app.singleton(IDirectory, Directory, alias="x-orionis.services.file.contracts.directory")
41
+
42
+ def boot(self) -> None:
43
+ """
44
+ Perform actions required after all providers have been registered.
45
+
46
+ This method is called after the `register` phase. It can be used for additional
47
+ initialization if needed. No additional boot logic is required for this provider.
48
+
49
+ Returns
50
+ -------
51
+ None
52
+ This method does not return any value.
53
+ """
54
+ # No additional boot logic required for this provider
55
+ pass
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.496.0"
8
+ VERSION = "0.498.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
File without changes
@@ -0,0 +1,329 @@
1
+ from abc import ABC, abstractmethod
2
+ from pathlib import Path
3
+ from orionis.foundation.contracts.application import IApplication
4
+
5
+ class IDirectory(ABC):
6
+
7
+ @abstractmethod
8
+ def root(self) -> Path:
9
+ """
10
+ Get the root directory path of the application.
11
+
12
+ Returns
13
+ -------
14
+ Path
15
+ The path to the application's root directory.
16
+ """
17
+ pass
18
+
19
+ @abstractmethod
20
+ def commands(self) -> Path:
21
+ """
22
+ Get the commands directory path.
23
+
24
+ Returns
25
+ -------
26
+ Path
27
+ The path to the commands directory.
28
+ """
29
+ pass
30
+
31
+ @abstractmethod
32
+ def controllers(self) -> Path:
33
+ """
34
+ Get the controllers directory path.
35
+
36
+ Returns
37
+ -------
38
+ Path
39
+ The path to the controllers directory.
40
+ """
41
+ pass
42
+
43
+ @abstractmethod
44
+ def middleware(self) -> Path:
45
+ """
46
+ Get the middleware directory path.
47
+
48
+ Returns
49
+ -------
50
+ Path
51
+ The path to the middleware directory.
52
+ """
53
+ pass
54
+
55
+ @abstractmethod
56
+ def requests(self) -> Path:
57
+ """
58
+ Get the requests directory path.
59
+
60
+ Returns
61
+ -------
62
+ Path
63
+ The path to the requests directory.
64
+ """
65
+ pass
66
+
67
+ @abstractmethod
68
+ def models(self) -> Path:
69
+ """
70
+ Get the models directory path.
71
+
72
+ Returns
73
+ -------
74
+ Path
75
+ The path to the models directory.
76
+ """
77
+ pass
78
+
79
+ @abstractmethod
80
+ def providers(self) -> Path:
81
+ """
82
+ Get the providers directory path.
83
+
84
+ Returns
85
+ -------
86
+ Path
87
+ The path to the providers directory.
88
+ """
89
+ pass
90
+
91
+ @abstractmethod
92
+ def events(self) -> Path:
93
+ """
94
+ Get the events directory path.
95
+
96
+ Returns
97
+ -------
98
+ Path
99
+ The path to the events directory.
100
+ """
101
+ pass
102
+
103
+ @abstractmethod
104
+ def listeners(self) -> Path:
105
+ """
106
+ Get the listeners directory path.
107
+
108
+ Returns
109
+ -------
110
+ Path
111
+ The path to the listeners directory.
112
+ """
113
+ pass
114
+
115
+ @abstractmethod
116
+ def notifications(self) -> Path:
117
+ """
118
+ Get the notifications directory path.
119
+
120
+ Returns
121
+ -------
122
+ Path
123
+ The path to the notifications directory.
124
+ """
125
+ pass
126
+
127
+ @abstractmethod
128
+ def jobs(self) -> Path:
129
+ """
130
+ Get the jobs directory path.
131
+
132
+ Returns
133
+ -------
134
+ Path
135
+ The path to the jobs directory.
136
+ """
137
+ pass
138
+
139
+ @abstractmethod
140
+ def policies(self) -> Path:
141
+ """
142
+ Get the policies directory path.
143
+
144
+ Returns
145
+ -------
146
+ Path
147
+ The path to the policies directory.
148
+ """
149
+ pass
150
+
151
+ @abstractmethod
152
+ def exceptions(self) -> Path:
153
+ """
154
+ Get the exceptions directory path.
155
+
156
+ Returns
157
+ -------
158
+ Path
159
+ The path to the exceptions directory.
160
+ """
161
+ pass
162
+
163
+ @abstractmethod
164
+ def services(self) -> Path:
165
+ """
166
+ Get the services directory path.
167
+
168
+ Returns
169
+ -------
170
+ Path
171
+ The path to the services directory.
172
+ """
173
+ pass
174
+
175
+ @abstractmethod
176
+ def views(self) -> Path:
177
+ """
178
+ Get the views directory path.
179
+
180
+ Returns
181
+ -------
182
+ Path
183
+ The path to the views directory.
184
+ """
185
+ pass
186
+
187
+ @abstractmethod
188
+ def lang(self) -> Path:
189
+ """
190
+ Get the language files directory path.
191
+
192
+ Returns
193
+ -------
194
+ Path
195
+ The path to the language files directory.
196
+ """
197
+ pass
198
+
199
+ @abstractmethod
200
+ def assets(self) -> Path:
201
+ """
202
+ Get the assets directory path.
203
+
204
+ Returns
205
+ -------
206
+ Path
207
+ The path to the assets directory.
208
+ """
209
+ pass
210
+
211
+ @abstractmethod
212
+ def routes(self) -> Path:
213
+ """
214
+ Get the routes directory path.
215
+
216
+ Returns
217
+ -------
218
+ Path
219
+ The path to the routes directory.
220
+ """
221
+ pass
222
+
223
+ @abstractmethod
224
+ def config(self) -> Path:
225
+ """
226
+ Get the configuration directory path.
227
+
228
+ Returns
229
+ -------
230
+ Path
231
+ The path to the configuration directory.
232
+ """
233
+ pass
234
+
235
+ @abstractmethod
236
+ def migrations(self) -> Path:
237
+ """
238
+ Get the migrations directory path.
239
+
240
+ Returns
241
+ -------
242
+ Path
243
+ The path to the migrations directory.
244
+ """
245
+ pass
246
+
247
+ @abstractmethod
248
+ def seeders(self) -> Path:
249
+ """
250
+ Get the seeders directory path.
251
+
252
+ Returns
253
+ -------
254
+ Path
255
+ The path to the seeders directory.
256
+ """
257
+ pass
258
+
259
+ @abstractmethod
260
+ def factories(self) -> Path:
261
+ """
262
+ Get the factories directory path.
263
+
264
+ Returns
265
+ -------
266
+ Path
267
+ The path to the factories directory.
268
+ """
269
+ pass
270
+
271
+ @abstractmethod
272
+ def logs(self) -> Path:
273
+ """
274
+ Get the logs directory path.
275
+
276
+ Returns
277
+ -------
278
+ Path
279
+ The path to the logs directory.
280
+ """
281
+ pass
282
+
283
+ @abstractmethod
284
+ def sessions(self) -> Path:
285
+ """
286
+ Get the sessions directory path.
287
+
288
+ Returns
289
+ -------
290
+ Path
291
+ The path to the sessions directory.
292
+ """
293
+ pass
294
+
295
+ @abstractmethod
296
+ def cache(self) -> Path:
297
+ """
298
+ Get the cache directory path.
299
+
300
+ Returns
301
+ -------
302
+ Path
303
+ The path to the cache directory.
304
+ """
305
+ pass
306
+
307
+ @abstractmethod
308
+ def testing(self) -> Path:
309
+ """
310
+ Get the testing directory path.
311
+
312
+ Returns
313
+ -------
314
+ Path
315
+ The path to the testing directory.
316
+ """
317
+ pass
318
+
319
+ @abstractmethod
320
+ def storage(self) -> Path:
321
+ """
322
+ Get the storage directory path.
323
+
324
+ Returns
325
+ -------
326
+ Path
327
+ The path to the storage directory.
328
+ """
329
+ pass
@@ -1,7 +1,8 @@
1
1
  from pathlib import Path
2
2
  from orionis.foundation.contracts.application import IApplication
3
+ from orionis.services.file.contracts.directory import IDirectory
3
4
 
4
- class Directory:
5
+ class Directory(IDirectory):
5
6
  """
6
7
  Provides convenient access to various application directories.
7
8
 
@@ -309,4 +310,15 @@ class Directory:
309
310
  Path
310
311
  The path to the testing directory.
311
312
  """
312
- return Path(self.__app.path('testing'))
313
+ return Path(self.__app.path('testing'))
314
+
315
+ def storage(self) -> Path:
316
+ """
317
+ Get the storage directory path.
318
+
319
+ Returns
320
+ -------
321
+ Path
322
+ The path to the storage directory.
323
+ """
324
+ return Path(self.__app.path('storage'))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.496.0
3
+ Version: 0.498.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
@@ -93,16 +93,16 @@ orionis/container/validators/is_subclass.py,sha256=4sBaGLoRs8nUhuWjlP0VJqyTwVHYq
93
93
  orionis/container/validators/is_valid_alias.py,sha256=4uAYcq8xov7jZbXnpKpjNkxcZtlTNnL5RRctVPMwJes,1424
94
94
  orionis/container/validators/lifetime.py,sha256=IQ43fDNrxYHMlZH2zlYDJnlkLO_eS4U7Fs3UJgQBidI,1844
95
95
  orionis/failure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
- orionis/failure/catch.py,sha256=1-G1U4Udzkd6QSmQ9oKQeUaFjosA9hNfzwmOWVIbUZU,3760
96
+ orionis/failure/catch.py,sha256=LCr2Fy7mMwhAILx9VVb0KUZTRPg7UyE_8Ai_hJP0NMQ,3627
97
97
  orionis/failure/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
- orionis/failure/base/handler.py,sha256=1LDcJO4-tgam225jWT0lbh4VzqRSu5iOtcH5JSkMugk,4845
98
+ orionis/failure/base/handler.py,sha256=c_OymSrlR83rwHrZUuMcoyA_q9hhguNNxY_phaguMPg,4465
99
99
  orionis/failure/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  orionis/failure/contracts/catch.py,sha256=e2wM1p6VxbvAjgWm-MwoM9p2ystSsyBu8Qnt6Ehr6Vc,1179
101
101
  orionis/failure/contracts/handler.py,sha256=1WyFx7D9h5chNnOXDQhg6o-RqNfhTHblm_xWzCDu4SM,2161
102
102
  orionis/failure/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
103
  orionis/failure/entities/throwable.py,sha256=ogys062uhim5QMYU62ezlnumRAnYQlUf_vZvQY47S3U,1227
104
104
  orionis/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- orionis/foundation/application.py,sha256=wiaVt7Y7iDmeZkqs6jK1lgD9C46aqDohmzIMxoFjKZo,81976
105
+ orionis/foundation/application.py,sha256=tcOqqw49TNIKh7CJGWT2wghPeRPmYcY20KtOSMX89LU,82200
106
106
  orionis/foundation/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  orionis/foundation/config/startup.py,sha256=vbzduprRCNyYeR2nnMaqc1uKXw6PTzAY2jVfXNQKN8I,9691
108
108
  orionis/foundation/config/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -180,7 +180,7 @@ orionis/foundation/config/queue/entities/queue.py,sha256=YiWPeEg5e0fd_DJM2ogska6
180
180
  orionis/foundation/config/queue/enums/__init__.py,sha256=oWY8GWwr5mex7szs_bLVqAS1jbyuIAvKl7XFGSlU9A0,64
181
181
  orionis/foundation/config/queue/enums/strategy.py,sha256=S_kw7KZtoCk5FTOkbuXepdy_fOl9Eav4uT2K0OyzBa0,602
182
182
  orionis/foundation/config/roots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
- orionis/foundation/config/roots/paths.py,sha256=etI-rnXARmH_75BqLQGnmjFVpdHZQfEDz2-Qfx6BbsY,10284
183
+ orionis/foundation/config/roots/paths.py,sha256=qQpghBFyF6hdtrt88sLX-4uqrq0frvaQrcDl0fmsTGU,10565
184
184
  orionis/foundation/config/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
185
  orionis/foundation/config/session/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
186
  orionis/foundation/config/session/entities/session.py,sha256=sJoD-_CiwUR88tva-rO22bagG3RTcHXrQGWbq4B5joM,5998
@@ -206,6 +206,7 @@ orionis/foundation/exceptions/value.py,sha256=hQhXybXEnaa59ba7JxG65jceHt3mnql9My
206
206
  orionis/foundation/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
207
  orionis/foundation/providers/catch_provider.py,sha256=jLEFyHeyqCWgIJfqSfXrbRm9h6M6M5IkW8M_9o_NvCQ,1701
208
208
  orionis/foundation/providers/console_provider.py,sha256=9oDHOGm79O8OtwTFPCYl4hNQgxAskqGdG1mIYyEg6qQ,2970
209
+ orionis/foundation/providers/directory_provider.py,sha256=17Euot2Eahe8DjK0zK2uC3c8gPua4eux3q-MKcomDYU,2091
209
210
  orionis/foundation/providers/dumper_provider.py,sha256=nKHjLDClCo-KnPloh6EYVySjgzf6SYSvoxVD6IwJt8M,3355
210
211
  orionis/foundation/providers/executor_provider.py,sha256=kwkH8YWEXoEoP51akJXQJ0U25rhlOLxnfE0s9fALr0I,3478
211
212
  orionis/foundation/providers/inspirational_provider.py,sha256=uq2o0uLd5p6PR99uH4cJAcc6NnU6nIOwe0ZIdzZcF4Q,3726
@@ -217,7 +218,7 @@ orionis/foundation/providers/scheduler_provider.py,sha256=72SoixFog9IOE9Ve9Xcfw6
217
218
  orionis/foundation/providers/testing_provider.py,sha256=SrJRpdvcblx9WvX7x9Y3zc7OQfiTf7la0HAJrm2ESlE,3725
218
219
  orionis/foundation/providers/workers_provider.py,sha256=oa_2NIDH6UxZrtuGkkoo_zEoNIMGgJ46vg5CCgAm7wI,3926
219
220
  orionis/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
- orionis/metadata/framework.py,sha256=ymo6xlqD8TuqV3zzHZF9_52cfFqvq_4VuOGpLt1ZfCs,4109
221
+ orionis/metadata/framework.py,sha256=zavyi4jnsHED86jRJAMLplrPNWnvLqPLhQLrZFS0ZLA,4109
221
222
  orionis/metadata/package.py,sha256=k7Yriyp5aUcR-iR8SK2ec_lf0_Cyc-C7JczgXa-I67w,16039
222
223
  orionis/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
224
  orionis/services/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -248,7 +249,9 @@ orionis/services/environment/validators/__init__.py,sha256=S0Us4_BtKPuOMQZf4uFFq
248
249
  orionis/services/environment/validators/key_name.py,sha256=TSwVhQCbBYPZ_4zZ-o16yT_2pOe3WRWl9d8KzfDzWyg,1660
249
250
  orionis/services/environment/validators/types.py,sha256=hiTszo7hS_1zQLclUIDOFUTGy2Kg2n3dZe7jU8Pmf1I,2839
250
251
  orionis/services/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
251
- orionis/services/file/directory.py,sha256=MdIc3hQXAcUaMFYujexScJ6-UIFgHCRN-TbGNr651Hg,7326
252
+ orionis/services/file/directory.py,sha256=mEwuY3uAK3rAR9RutSBSey_rhNSaiO6cDo6Og3VzHK0,7652
253
+ orionis/services/file/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
+ orionis/services/file/contracts/directory.py,sha256=Y6UlsldY2aUhcyeEsp-3L21z7VY2STl7WKH95lcTA4c,6566
252
255
  orionis/services/inspirational/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
256
  orionis/services/inspirational/inspire.py,sha256=dUxwkNLjKC4jdi06cVB1gfyB2zHjfgdhYhwKtsOTf0Q,4090
254
257
  orionis/services/inspirational/quotes.py,sha256=9hCIEFE0DdfXLaGq_SzFpXlC2AbGSnuFLzyec4Rd1H0,53455
@@ -391,7 +394,7 @@ orionis/test/validators/web_report.py,sha256=n9BfzOZz6aEiNTypXcwuWbFRG0OdHNSmCNu
391
394
  orionis/test/validators/workers.py,sha256=rWcdRexINNEmGaO7mnc1MKUxkHKxrTsVuHgbnIfJYgc,1206
392
395
  orionis/test/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
393
396
  orionis/test/view/render.py,sha256=f-zNhtKSg9R5Njqujbg2l2amAs2-mRVESneLIkWOZjU,4082
394
- orionis-0.496.0.dist-info/licenses/LICENCE,sha256=JhC-z_9mbpUrCfPjcl3DhDA8trNDMzb57cvRSam1avc,1463
397
+ orionis-0.498.0.dist-info/licenses/LICENCE,sha256=JhC-z_9mbpUrCfPjcl3DhDA8trNDMzb57cvRSam1avc,1463
395
398
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
396
399
  tests/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
397
400
  tests/container/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -538,8 +541,8 @@ tests/testing/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
538
541
  tests/testing/validators/test_testing_validators.py,sha256=WPo5GxTP6xE-Dw3X1vZoqOMpb6HhokjNSbgDsDRDvy4,16588
539
542
  tests/testing/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
540
543
  tests/testing/view/test_render.py,sha256=tnnMBwS0iKUIbogLvu-7Rii50G6Koddp3XT4wgdFEYM,1050
541
- orionis-0.496.0.dist-info/METADATA,sha256=215XhMSuTZjmImFjTNGtDoH9Bffix61OaOhLnymmCE4,4801
542
- orionis-0.496.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
543
- orionis-0.496.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
544
- orionis-0.496.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
545
- orionis-0.496.0.dist-info/RECORD,,
544
+ orionis-0.498.0.dist-info/METADATA,sha256=HgS8lALjhbLJMEXjRKWd6E8uB1wJq4NZFTm-aogbDA8,4801
545
+ orionis-0.498.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
546
+ orionis-0.498.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
547
+ orionis-0.498.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
548
+ orionis-0.498.0.dist-info/RECORD,,