orionis 0.391.0__py3-none-any.whl → 0.393.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.
@@ -1,7 +1,18 @@
1
1
  from abc import abstractmethod
2
- from typing import List, Type
2
+ from typing import Any, List, Type
3
3
  from orionis.container.contracts.service_provider import IServiceProvider
4
4
  from orionis.container.contracts.container import IContainer
5
+ from orionis.foundation.config.app.entities.app import App
6
+ from orionis.foundation.config.auth.entities.auth import Auth
7
+ from orionis.foundation.config.cache.entities.cache import Cache
8
+ from orionis.foundation.config.cors.entities.cors import Cors
9
+ from orionis.foundation.config.database.entities.database import Database
10
+ from orionis.foundation.config.filesystems.entitites.filesystems import Filesystems
11
+ from orionis.foundation.config.logging.entities.logging import Logging
12
+ from orionis.foundation.config.mail.entities.mail import Mail
13
+ from orionis.foundation.config.queue.entities.queue import Queue
14
+ from orionis.foundation.config.session.entities.session import Session
15
+ from orionis.foundation.config.testing.entities.testing import Testing
5
16
 
6
17
  class IApplication(IContainer):
7
18
  """
@@ -44,6 +55,243 @@ class IApplication(IContainer):
44
55
  """
45
56
  pass
46
57
 
58
+ @abstractmethod
59
+ def withConfigurators(
60
+ self,
61
+ *,
62
+ app: App = None,
63
+ auth: Auth = None,
64
+ cache: Cache = None,
65
+ cors: Cors = None,
66
+ database: Database = None,
67
+ filesystems: Filesystems = None,
68
+ logging: Logging = None,
69
+ mail: Mail = None,
70
+ queue: Queue = None,
71
+ session: Session = None,
72
+ testing: Testing = None,
73
+ ) -> 'IApplication':
74
+ """
75
+ Configure the application with multiple configuration entities.
76
+
77
+ Parameters
78
+ ----------
79
+ app : App, optional
80
+ Application configuration
81
+ auth : Auth, optional
82
+ Authentication configuration
83
+ cache : Cache, optional
84
+ Cache configuration
85
+ cors : Cors, optional
86
+ CORS configuration
87
+ database : Database, optional
88
+ Database configuration
89
+ filesystems : Filesystems, optional
90
+ Filesystems configuration
91
+ logging : Logging, optional
92
+ Logging configuration
93
+ mail : Mail, optional
94
+ Mail configuration
95
+ queue : Queue, optional
96
+ Queue configuration
97
+ session : Session, optional
98
+ Session configuration
99
+ testing : Testing, optional
100
+ Testing configuration
101
+
102
+ Returns
103
+ -------
104
+ IApplication
105
+ The application instance for method chaining
106
+ """
107
+ pass
108
+
109
+ @abstractmethod
110
+ def loadConfigApp(self, app: App) -> 'IApplication':
111
+ """Load the application configuration from an App instance.
112
+
113
+ Parameters
114
+ ----------
115
+ app : App
116
+ The App instance containing application configuration
117
+
118
+ Returns
119
+ -------
120
+ IApplication
121
+ The application instance for method chaining
122
+ """
123
+ pass
124
+
125
+ @abstractmethod
126
+ def loadConfigAuth(self, auth: Auth) -> 'IApplication':
127
+ """
128
+ Load the authentication configuration from an Auth instance.
129
+
130
+ Parameters
131
+ ----------
132
+ auth : Auth
133
+ The Auth instance containing authentication configuration
134
+
135
+ Returns
136
+ -------
137
+ IApplication
138
+ The application instance for method chaining
139
+ """
140
+ pass
141
+
142
+ @abstractmethod
143
+ def loadConfigCache(self, cache: Cache) -> 'IApplication':
144
+ """
145
+ Load the cache configuration from a Cache instance.
146
+
147
+ Parameters
148
+ ----------
149
+ cache : Cache
150
+ The Cache instance containing cache configuration
151
+
152
+ Returns
153
+ -------
154
+ IApplication
155
+ The application instance for method chaining
156
+ """
157
+ pass
158
+
159
+ @abstractmethod
160
+ def loadConfigCors(self, cors: Cors) -> 'IApplication':
161
+ """
162
+ Load the CORS configuration from a Cors instance.
163
+
164
+ Parameters
165
+ ----------
166
+ cors : Cors
167
+ The Cors instance containing CORS configuration
168
+
169
+ Returns
170
+ -------
171
+ IApplication
172
+ The application instance for method chaining
173
+ """
174
+ pass
175
+
176
+ @abstractmethod
177
+ def loadConfigDatabase(self, database: Database) -> 'IApplication':
178
+ """
179
+ Load the database configuration from a Database instance.
180
+
181
+ Parameters
182
+ ----------
183
+ database : Database
184
+ The Database instance containing database configuration
185
+
186
+ Returns
187
+ -------
188
+ IApplication
189
+ The application instance for method chaining
190
+ """
191
+ pass
192
+
193
+ @abstractmethod
194
+ def loadConfigFilesystems(self, filesystems: Filesystems) -> 'IApplication':
195
+ """
196
+ Load the filesystems configuration from a Filesystems instance.
197
+
198
+ Parameters
199
+ ----------
200
+ filesystems : Filesystems
201
+ The Filesystems instance containing filesystems configuration
202
+
203
+ Returns
204
+ -------
205
+ IApplication
206
+ The application instance for method chaining
207
+ """
208
+ pass
209
+
210
+ @abstractmethod
211
+ def loadConfigLogging(self, logging: Logging) -> 'IApplication':
212
+ """
213
+ Load the logging configuration from a Logging instance.
214
+
215
+ Parameters
216
+ ----------
217
+ logging : Logging
218
+ The Logging instance containing logging configuration
219
+
220
+ Returns
221
+ -------
222
+ IApplication
223
+ The application instance for method chaining
224
+ """
225
+ pass
226
+
227
+ @abstractmethod
228
+ def loadConfigMail(self, mail: Mail) -> 'IApplication':
229
+ """
230
+ Load the mail configuration from a Mail instance.
231
+
232
+ Parameters
233
+ ----------
234
+ mail : Mail
235
+ The Mail instance containing mail configuration
236
+
237
+ Returns
238
+ -------
239
+ IApplication
240
+ The application instance for method chaining
241
+ """
242
+ pass
243
+
244
+ @abstractmethod
245
+ def loadConfigQueue(self, queue: Queue) -> 'IApplication':
246
+ """
247
+ Load the queue configuration from a Queue instance.
248
+
249
+ Parameters
250
+ ----------
251
+ queue : Queue
252
+ The Queue instance containing queue configuration
253
+
254
+ Returns
255
+ -------
256
+ IApplication
257
+ The application instance for method chaining
258
+ """
259
+ pass
260
+
261
+ @abstractmethod
262
+ def loadConfigSession(self, session: Session) -> 'IApplication':
263
+ """
264
+ Load the session configuration from a Session instance.
265
+
266
+ Parameters
267
+ ----------
268
+ session : Session
269
+ The Session instance containing session configuration
270
+
271
+ Returns
272
+ -------
273
+ IApplication
274
+ The application instance for method chaining
275
+ """
276
+ pass
277
+
278
+ @abstractmethod
279
+ def loadConfigTesting(self, testing: Testing) -> 'IApplication':
280
+ """
281
+ Load the testing configuration from a Testing instance.
282
+
283
+ Parameters
284
+ ----------
285
+ testing : Testing
286
+ The Testing instance containing testing configuration
287
+
288
+ Returns
289
+ -------
290
+ IApplication
291
+ The application instance for method chaining
292
+ """
293
+ pass
294
+
47
295
  @abstractmethod
48
296
  def addProvider(self, provider: Type[IServiceProvider]) -> 'IApplication':
49
297
  """
@@ -66,6 +314,227 @@ class IApplication(IContainer):
66
314
  """
67
315
  Bootstrap the application by loading providers and kernels.
68
316
 
317
+ Returns
318
+ -------
319
+ IApplication
320
+ The application instance for method chaining
321
+ """
322
+ pass
323
+
324
+ @abstractmethod
325
+ def config(
326
+ self,
327
+ key: str,
328
+ default: Any = None
329
+ ) -> Any:
330
+ """
331
+ Retrieve a configuration value by key.
332
+
333
+ Parameters
334
+ ----------
335
+ key : str
336
+ The configuration key to retrieve using dot notation (e.g. "app.name") (default is None)
337
+ default : Any, optional
338
+ Default value to return if key is not found
339
+
340
+ Returns
341
+ -------
342
+ Any
343
+ The configuration value or the entire configuration if key is None
344
+ """
345
+ pass
346
+
347
+ @abstractmethod
348
+ def configApp(self, **app_config) -> 'IApplication':
349
+ """
350
+ Configure the application with various settings.
351
+
352
+ Parameters
353
+ ----------
354
+ **app_config : dict
355
+ Configuration parameters for the application. Must match the fields
356
+ expected by the App dataclass (orionis.foundation.config.app.entities.app.App).
357
+
358
+ Returns
359
+ -------
360
+ IApplication
361
+ The application instance for method chaining
362
+ """
363
+ pass
364
+
365
+ @abstractmethod
366
+ def configAuth(self, **auth_config) -> 'IApplication':
367
+ """
368
+ Configure the authentication with various settings.
369
+
370
+ Parameters
371
+ ----------
372
+ **auth_config : dict
373
+ Configuration parameters for authentication. Must match the fields
374
+ expected by the Auth dataclass (orionis.foundation.config.auth.entities.auth.Auth).
375
+
376
+ Returns
377
+ -------
378
+ IApplication
379
+ The application instance for method chaining
380
+ """
381
+ pass
382
+
383
+ @abstractmethod
384
+ def configCache(self, **cache_config) -> 'IApplication':
385
+ """
386
+ Configure the cache with various settings.
387
+
388
+ Parameters
389
+ ----------
390
+ **cache_config : dict
391
+ Configuration parameters for cache. Must match the fields
392
+ expected by the Cache dataclass (orionis.foundation.config.cache.entities.cache.Cache).
393
+
394
+ Returns
395
+ -------
396
+ IApplication
397
+ The application instance for method chaining
398
+ """
399
+ pass
400
+
401
+ @abstractmethod
402
+ def configCors(self, **cors_config) -> 'IApplication':
403
+ """
404
+ Configure the CORS with various settings.
405
+
406
+ Parameters
407
+ ----------
408
+ **cors_config : dict
409
+ Configuration parameters for CORS. Must match the fields
410
+ expected by the Cors dataclass (orionis.foundation.config.cors.entities.cors.Cors).
411
+
412
+ Returns
413
+ -------
414
+ IApplication
415
+ The application instance for method chaining
416
+ """
417
+ pass
418
+
419
+ @abstractmethod
420
+ def configDatabase(self, **database_config) -> 'IApplication':
421
+ """
422
+ Configure the database with various settings.
423
+
424
+ Parameters
425
+ ----------
426
+ **database_config : dict
427
+ Configuration parameters for database. Must match the fields
428
+ expected by the Database dataclass (orionis.foundation.config.database.entities.database.Database).
429
+
430
+ Returns
431
+ -------
432
+ IApplication
433
+ The application instance for method chaining
434
+ """
435
+ pass
436
+
437
+ @abstractmethod
438
+ def configFilesystems(self, **filesystems_config) -> 'IApplication':
439
+ """
440
+ Configure the filesystems with various settings.
441
+
442
+ Parameters
443
+ ----------
444
+ **filesystems_config : dict
445
+ Configuration parameters for filesystems. Must match the fields
446
+ expected by the Filesystems dataclass (orionis.foundation.config.filesystems.entitites.filesystems.Filesystems).
447
+
448
+ Returns
449
+ -------
450
+ IApplication
451
+ The application instance for method chaining
452
+ """
453
+ pass
454
+
455
+ @abstractmethod
456
+ def configLogging(self, **logging_config) -> 'IApplication':
457
+ """
458
+ Configure the logging system with various channel settings.
459
+
460
+ Parameters
461
+ ----------
462
+ **logging_config : dict
463
+ Configuration parameters for logging. Must match the fields
464
+ expected by the Logging dataclass (orionis.foundation.config.logging.entities.logging.Logging).
465
+
466
+ Returns
467
+ -------
468
+ IApplication
469
+ The application instance for method chaining
470
+ """
471
+ pass
472
+
473
+ @abstractmethod
474
+ def configMail(self, **mail_config) -> 'IApplication':
475
+ """
476
+ Configure the mail system with various settings.
477
+
478
+ Parameters
479
+ ----------
480
+ **mail_config : dict
481
+ Configuration parameters for mail. Must match the fields
482
+ expected by the Mail dataclass (orionis.foundation.config.mail.entities.mail.Mail).
483
+
484
+ Returns
485
+ -------
486
+ IApplication
487
+ The application instance for method chaining
488
+ """
489
+ pass
490
+
491
+ @abstractmethod
492
+ def configQueue(self, **queue_config) -> 'IApplication':
493
+ """
494
+ Configure the queue system with various settings.
495
+
496
+ Parameters
497
+ ----------
498
+ **queue_config : dict
499
+ Configuration parameters for queue. Must match the fields
500
+ expected by the Queue dataclass (orionis.foundation.config.queue.entities.queue.Queue).
501
+
502
+ Returns
503
+ -------
504
+ IApplication
505
+ The application instance for method chaining
506
+ """
507
+ pass
508
+
509
+ @abstractmethod
510
+ def configSession(self, **session_config) -> 'IApplication':
511
+ """
512
+ Configure the session with various settings.
513
+
514
+ Parameters
515
+ ----------
516
+ **session_config : dict
517
+ Configuration parameters for session. Must match the fields
518
+ expected by the Session dataclass (orionis.foundation.config.session.entities.session.Session).
519
+
520
+ Returns
521
+ -------
522
+ IApplication
523
+ The application instance for method chaining
524
+ """
525
+ pass
526
+
527
+ @abstractmethod
528
+ def configTesting(self, **testing_config) -> 'IApplication':
529
+ """
530
+ Configure the testing with various settings.
531
+
532
+ Parameters
533
+ ----------
534
+ **testing_config : dict
535
+ Configuration parameters for testing. Must match the fields
536
+ expected by the Testing dataclass (orionis.foundation.config.testing.entities.testing.Testing).
537
+
69
538
  Returns
70
539
  -------
71
540
  IApplication
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.391.0"
8
+ VERSION = "0.393.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.391.0
3
+ Version: 0.393.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,4 +1,6 @@
1
- orionis/__init__.py,sha256=-rB8tR3G95nmZEsp57IfPQL5fNV08HrP0CWuLTOzxEw,156
1
+ config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ config/app.py,sha256=MJOS_SXC8-xGqGzhxPXI1e8cbCS-rEkq5IPCMY4osWY,3724
3
+ orionis/__init__.py,sha256=4AGBG1xD3NjsqkmQ-fD3pde7tiO26iwOpdvJoNvP0kI,201
2
4
  orionis/_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
5
  orionis/_console/command_filter.py,sha256=bn0fcWfQg13DrQBaV4NopNxdP-6up0G54Qmhg7r_BKA,1211
4
6
  orionis/_console/kernel.py,sha256=M4Zc9x-1hrQP7Dq6Ons5UnGoq73XV1Fwa9cwY7zqWbw,883
@@ -146,7 +148,7 @@ orionis/container/validators/is_subclass.py,sha256=4sBaGLoRs8nUhuWjlP0VJqyTwVHYq
146
148
  orionis/container/validators/is_valid_alias.py,sha256=4uAYcq8xov7jZbXnpKpjNkxcZtlTNnL5RRctVPMwJes,1424
147
149
  orionis/container/validators/lifetime.py,sha256=IQ43fDNrxYHMlZH2zlYDJnlkLO_eS4U7Fs3UJgQBidI,1844
148
150
  orionis/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
- orionis/foundation/application.py,sha256=HicY1ZiFLLPVSD21Pd3PofrvO_3tmRldQGuaMvlAZuA,6620
151
+ orionis/foundation/application.py,sha256=fypQKKry0ACF1SlN4ml6FpMQGguRcpOkYzARBjCix7w,30451
150
152
  orionis/foundation/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
153
  orionis/foundation/config/startup.py,sha256=zutF-34DkW68bpiTxH9xrmIe1iJdXCF9Y6wueXS6qys,8265
152
154
  orionis/foundation/config/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -235,7 +237,7 @@ orionis/foundation/config/testing/entities/testing.py,sha256=keU7dSuRv0rgaG-T4Vo
235
237
  orionis/foundation/config/testing/enums/__init__.py,sha256=tCHed6wBzqHx8o3kWBGm8tZYkYOKdSAx8TvgC-Eauv0,75
236
238
  orionis/foundation/config/testing/enums/test_mode.py,sha256=IbFpauu7J-iSAfmC8jDbmTEYl8eZr-AexL-lyOh8_74,337
237
239
  orionis/foundation/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
238
- orionis/foundation/contracts/application.py,sha256=5DLGJz-GYDN_783RGE4eSQjnPJRMWVVJaDR900YghUI,2177
240
+ orionis/foundation/contracts/application.py,sha256=1LSLjGnMfFQ5-hM9a-4FGD5ltP_ghlFKItX05judDAY,15974
239
241
  orionis/foundation/contracts/config.py,sha256=Rpz6U6t8OXHO9JJKSTnCimytXE-tfCB-1ithP2nG8MQ,628
240
242
  orionis/foundation/exceptions/__init__.py,sha256=XtG3MJ_MFNY_dU5mmTyz_N_4QG1jYrcv5RegBso7wuY,163
241
243
  orionis/foundation/exceptions/integrity.py,sha256=mc4pL1UMoYRHEmphnpW2oGk5URhu7DJRREyzHaV-cs8,472
@@ -247,7 +249,7 @@ orionis/foundation/providers/path_resolver_provider.py,sha256=rXvaVc5sSqmDgRzWJo
247
249
  orionis/foundation/providers/progress_bar_provider.py,sha256=75Jr4iEgUOUGl8Di1DioeP5_HRQlR-1lVzPmS96sWjA,737
248
250
  orionis/foundation/providers/workers_provider.py,sha256=WWlji3C69_-Y0c42aZDbR_bmcE_qZEh2SaA_cNkCivI,702
249
251
  orionis/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
- orionis/metadata/framework.py,sha256=Zwg93UIb-nm1cBAyknsYuR1dSWXvk-WUzs3AqvvRizo,4960
252
+ orionis/metadata/framework.py,sha256=oMJGx_QLNfhPfNONg9EIH78BcGlZQkATZn3v8w3wH8o,4960
251
253
  orionis/metadata/package.py,sha256=tqLfBRo-w1j_GN4xvzUNFyweWYFS-qhSgAEc-AmCH1M,5452
252
254
  orionis/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
255
  orionis/services/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -384,7 +386,7 @@ orionis/test/records/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
384
386
  orionis/test/records/logs.py,sha256=EOQcloMVdhlNl2lU9igQz8H4b-OtKtiwh2pgr_QZWOI,13186
385
387
  orionis/test/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
386
388
  orionis/test/view/render.py,sha256=zd7xDvVfmQ2HxZamDTzL2-z2PpyL99EaolbbM7wTah4,5014
387
- orionis-0.391.0.dist-info/licenses/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
389
+ orionis-0.393.0.dist-info/licenses/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
388
390
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
389
391
  tests/example/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
390
392
  tests/example/test_example.py,sha256=8G7kp74PZZ0Tdnw8WkheZ7lvZVFpdx_9ShOZBN9GEF0,25582
@@ -485,8 +487,8 @@ tests/support/wrapper/test_services_wrapper_docdict.py,sha256=nTNrvJkMSPx_aopEQ9
485
487
  tests/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
486
488
  tests/testing/test_testing_result.py,sha256=fnH7hjumNSErAFGITJgq2LHxSzvPF2tdtmHL9kyAv-Y,4409
487
489
  tests/testing/test_testing_unit.py,sha256=d3CRGo6608fMzYcZKIKapjx_af2aigqWiKSiuK9euIY,7600
488
- orionis-0.391.0.dist-info/METADATA,sha256=P3d7C9DNqWzJPnse288BN52RyyFKBxdB_DjQ1rVc4sQ,4772
489
- orionis-0.391.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
490
- orionis-0.391.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
491
- orionis-0.391.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
492
- orionis-0.391.0.dist-info/RECORD,,
490
+ orionis-0.393.0.dist-info/METADATA,sha256=R7BQV5c2mY6G8r391hjzqDdBLPmsmiHcdigk-9yj3Rc,4772
491
+ orionis-0.393.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
492
+ orionis-0.393.0.dist-info/top_level.txt,sha256=udNmZ4TdfoC-7CBFJO7HLpWggpCM71okNNgNVzgpjt4,21
493
+ orionis-0.393.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
494
+ orionis-0.393.0.dist-info/RECORD,,
@@ -1,2 +1,3 @@
1
+ config
1
2
  orionis
2
3
  tests