orionis 0.399.0__tar.gz → 0.401.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {orionis-0.399.0/orionis.egg-info → orionis-0.401.0}/PKG-INFO +1 -1
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/output/console.py +26 -26
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/application.py +118 -81
- orionis-0.401.0/orionis/foundation/exceptions/__init__.py +11 -0
- orionis-0.401.0/orionis/foundation/exceptions/runtime.py +19 -0
- orionis-0.401.0/orionis/foundation/exceptions/type.py +19 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.399.0 → orionis-0.401.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.399.0 → orionis-0.401.0}/orionis.egg-info/SOURCES.txt +2 -0
- orionis-0.399.0/orionis/foundation/exceptions/__init__.py +0 -7
- {orionis-0.399.0 → orionis-0.401.0}/LICENCE +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/MANIFEST.in +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/README.md +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/base/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/base/command.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/command_filter.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/commands/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/commands/cache_clear.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/commands/help.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/commands/schedule_work.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/commands/version.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/dumper/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/dumper/dump_die.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/exceptions/cli-orionis-value-error.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/exceptions/cli_exception.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/exceptions/cli_runtime_error.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/exceptions/cli_schedule_exception.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/kernel.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/output/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/output/console.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/output/executor.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/output/progress_bar.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_console/parser.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/application.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/config/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/config/config.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/base/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/base/command.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/command_filter.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/kernel.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/output/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/output/console.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/output/executor.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/parser.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/console/task_manager.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/commands/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/commands/commands_facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/commands/scheduler_facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/config/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/config/config_facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/environment/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/environment/environment_facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/files/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/files/path_facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/log/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/log/log_facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/tests/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/facades/tests/tests_facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/bootstraper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/config/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/config/config_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/console/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/console/command_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/environment/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/environment/environment_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/providers/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/foundation/providers/service_providers_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/providers/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/providers/service_provider.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/commands/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/commands/reactor_commands_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/commands/schedule_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/config/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/config/config_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/environment/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/environment/environment_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/files/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/files/path_resolver_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/log/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/services/log/log_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/support/exception_parse.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_contracts/support/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/console/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/console/command_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/environment/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/environment/environment_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/exceptions/exception_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/exceptions/exception_providers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/foundation/config/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/foundation/config/config_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/providers/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_foundation/providers/service_providers_bootstrapper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_services/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_services/commands/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_services/commands/reactor_commands_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_services/commands/scheduler_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_services/config/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/_services/config/config_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/base/command.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/dumper/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/dumper/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/dumper/contracts/dump.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/dumper/dump.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/dynamic/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/dynamic/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/dynamic/progress_bar.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/output/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/output/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/output/contracts/console.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/output/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/console/output/enums/styles.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/container.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/context/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/contracts/resolver.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/exceptions/attribute.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/exceptions/exception.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/exceptions/type.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/exceptions/value.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/facades/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/providers/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/resolver/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/resolver/resolver.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/app/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/auth/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cache/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cors/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/mail/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/queue/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/roots/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/session/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/testing/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/config/testing/enums/test_mode.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/contracts/application.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/contracts/config.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/exceptions/integrity.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/exceptions/value.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/providers/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/providers/console_provider.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/providers/dumper_provider.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/providers/path_resolver_provider.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/foundation/providers/workers_provider.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/metadata/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/metadata/package.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/asynchrony/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/contracts/types.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/core/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/core/dot_env.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/dynamic/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/dynamic/types.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/exceptions/exception.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/exceptions/value.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/helpers/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/environment/helpers/functions.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/abstract/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/abstract/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/callables/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/callables/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/concretes/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/concretes/contracts/concrete.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/concretes/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/entities/callable_dependencies.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/entities/class_dependencies.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/entities/known_dependencies.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/entities/method_dependencies.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/exceptions/type.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/exceptions/value.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/instances/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/instances/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/modules/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/modules/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/objects/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/objects/types.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/log/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/paths/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/paths/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/paths/contracts/resolver.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/paths/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/paths/exceptions/exception.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/paths/exceptions/file.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/paths/resolver.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/system/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/system/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/system/runtime/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/system/runtime/imports.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/facades/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/facades/console.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/facades/dumper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/facades/path_resolver.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/facades/progress_bar.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/facades/workers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/formatter/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/formatter/exceptions/parser.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/formatter/serializer.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/patterns/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/patterns/singleton/meta.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/standard/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/standard/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/standard/exceptions/value.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/support/wrapper/dot_dict.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/arguments/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/arguments/parser.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/cases/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/cases/asynchronous.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/cases/synchronous.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/contracts/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/contracts/kernel.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/contracts/logs.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/contracts/parser.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/contracts/render.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/contracts/unit_test.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/core/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/core/unit_test.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/entities/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/entities/arguments.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/entities/result.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/enums/execution_mode.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/enums/status.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/exceptions/config.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/exceptions/failure.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/exceptions/persistence.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/exceptions/runtime.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/exceptions/value.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/kernel.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/output/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/records/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/records/logs.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/view/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis/test/view/render.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/orionis.egg-info/zip-safe +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/setup.cfg +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/setup.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/example/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/example/test_example.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/app/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/auth/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/cache/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/cors/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/database/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/mail/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/queue/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/root/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/session/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/startup/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/testing/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/exceptions/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/foundation/exceptions/test_foundation_config_exceptions.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/metadata/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/metadata/test_metadata_framework.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/metadata/test_metadata_package.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/asynchrony/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/environment/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/environment/test_services_environment.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/dependencies/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/dependencies/mocks/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/dependencies/mocks/mock_user.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/dependencies/mocks/mock_user_controller.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/dependencies/mocks/mock_users_permissions.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/dependencies/test_reflect_dependencies.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/reflection/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/reflection/mock/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/reflection/mock/fake_reflect_instance.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/reflection/test_reflection_abstract.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/reflection/test_reflection_callable.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/reflection/test_reflection_concrete.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/reflection/test_reflection_instance.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/reflection/test_reflection_module.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/inspection/test_reflection.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/path/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/path/test_services_resolver.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/system/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/system/test_services_system_imports.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/services/system/test_services_system_workers.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/parsers/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/parsers/mocks/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/parsers/mocks/mock_custom_error.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/parsers/test_services_parser_exceptions.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/patterns/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/standard/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/standard/test_services_std.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/wrapper/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/testing/__init__.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/testing/test_testing_result.py +0 -0
- {orionis-0.399.0 → orionis-0.401.0}/tests/testing/test_testing_unit.py +0 -0
|
@@ -25,7 +25,7 @@ class Console(IConsole):
|
|
|
25
25
|
"""
|
|
26
26
|
return f"{ANSIColors.TEXT_MUTED.value}{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}{ANSIColors.DEFAULT.value}"
|
|
27
27
|
|
|
28
|
-
def __printWithBackground(self, label: str, bg_color: ANSIColors, message: str, timestamp: bool):
|
|
28
|
+
def __printWithBackground(self, label: str, bg_color: ANSIColors, message: str, timestamp: bool) -> None:
|
|
29
29
|
"""
|
|
30
30
|
Prints a formatted message with a background color.
|
|
31
31
|
|
|
@@ -43,7 +43,7 @@ class Console(IConsole):
|
|
|
43
43
|
str_time = self.__getTimestamp() if timestamp else ''
|
|
44
44
|
print(f"{bg_color.value}{ANSIColors.TEXT_WHITE.value} {label} {ANSIColors.DEFAULT.value} {str_time} {message}{ANSIColors.DEFAULT.value}")
|
|
45
45
|
|
|
46
|
-
def __printColored(self, message: str, text_color: ANSIColors):
|
|
46
|
+
def __printColored(self, message: str, text_color: ANSIColors) -> None:
|
|
47
47
|
"""
|
|
48
48
|
Prints a message with a specified text color.
|
|
49
49
|
|
|
@@ -56,7 +56,7 @@ class Console(IConsole):
|
|
|
56
56
|
"""
|
|
57
57
|
print(f"{text_color.value}{message}{ANSIColors.DEFAULT.value}")
|
|
58
58
|
|
|
59
|
-
def success(self, message: str, timestamp: bool = True):
|
|
59
|
+
def success(self, message: str, timestamp: bool = True) -> None:
|
|
60
60
|
"""
|
|
61
61
|
Prints a success message with a green background.
|
|
62
62
|
|
|
@@ -69,7 +69,7 @@ class Console(IConsole):
|
|
|
69
69
|
"""
|
|
70
70
|
self.__printWithBackground("SUCCESS", ANSIColors.BG_SUCCESS, message, timestamp)
|
|
71
71
|
|
|
72
|
-
def textSuccess(self, message: str):
|
|
72
|
+
def textSuccess(self, message: str) -> None:
|
|
73
73
|
"""
|
|
74
74
|
Prints a success message in green.
|
|
75
75
|
|
|
@@ -80,7 +80,7 @@ class Console(IConsole):
|
|
|
80
80
|
"""
|
|
81
81
|
self.__printColored(message, ANSIColors.TEXT_SUCCESS)
|
|
82
82
|
|
|
83
|
-
def textSuccessBold(self, message: str):
|
|
83
|
+
def textSuccessBold(self, message: str) -> None:
|
|
84
84
|
"""
|
|
85
85
|
Prints a bold success message in green.
|
|
86
86
|
|
|
@@ -91,7 +91,7 @@ class Console(IConsole):
|
|
|
91
91
|
"""
|
|
92
92
|
self.__printColored(message, ANSIColors.TEXT_BOLD_SUCCESS)
|
|
93
93
|
|
|
94
|
-
def info(self, message: str, timestamp: bool = True):
|
|
94
|
+
def info(self, message: str, timestamp: bool = True) -> None:
|
|
95
95
|
"""
|
|
96
96
|
Prints an informational message with a blue background.
|
|
97
97
|
|
|
@@ -104,7 +104,7 @@ class Console(IConsole):
|
|
|
104
104
|
"""
|
|
105
105
|
self.__printWithBackground("INFO", ANSIColors.BG_INFO, message, timestamp)
|
|
106
106
|
|
|
107
|
-
def textInfo(self, message: str):
|
|
107
|
+
def textInfo(self, message: str) -> None:
|
|
108
108
|
"""
|
|
109
109
|
Prints an informational message in blue.
|
|
110
110
|
|
|
@@ -115,7 +115,7 @@ class Console(IConsole):
|
|
|
115
115
|
"""
|
|
116
116
|
self.__printColored(message, ANSIColors.TEXT_INFO)
|
|
117
117
|
|
|
118
|
-
def textInfoBold(self, message: str):
|
|
118
|
+
def textInfoBold(self, message: str) -> None:
|
|
119
119
|
"""
|
|
120
120
|
Prints a bold informational message in blue.
|
|
121
121
|
|
|
@@ -126,7 +126,7 @@ class Console(IConsole):
|
|
|
126
126
|
"""
|
|
127
127
|
self.__printColored(message, ANSIColors.TEXT_BOLD_INFO)
|
|
128
128
|
|
|
129
|
-
def warning(self, message: str, timestamp: bool = True):
|
|
129
|
+
def warning(self, message: str, timestamp: bool = True) -> None:
|
|
130
130
|
"""
|
|
131
131
|
Prints a warning message with a yellow background.
|
|
132
132
|
|
|
@@ -139,7 +139,7 @@ class Console(IConsole):
|
|
|
139
139
|
"""
|
|
140
140
|
self.__printWithBackground("WARNING", ANSIColors.BG_WARNING, message, timestamp)
|
|
141
141
|
|
|
142
|
-
def textWarning(self, message: str):
|
|
142
|
+
def textWarning(self, message: str) -> None:
|
|
143
143
|
"""
|
|
144
144
|
Prints a warning message in yellow.
|
|
145
145
|
|
|
@@ -150,7 +150,7 @@ class Console(IConsole):
|
|
|
150
150
|
"""
|
|
151
151
|
self.__printColored(message, ANSIColors.TEXT_WARNING)
|
|
152
152
|
|
|
153
|
-
def textWarningBold(self, message: str):
|
|
153
|
+
def textWarningBold(self, message: str) -> None:
|
|
154
154
|
"""
|
|
155
155
|
Prints a bold warning message in yellow.
|
|
156
156
|
|
|
@@ -161,7 +161,7 @@ class Console(IConsole):
|
|
|
161
161
|
"""
|
|
162
162
|
self.__printColored(message, ANSIColors.TEXT_BOLD_WARNING)
|
|
163
163
|
|
|
164
|
-
def fail(self, message: str, timestamp: bool = True):
|
|
164
|
+
def fail(self, message: str, timestamp: bool = True) -> None:
|
|
165
165
|
"""
|
|
166
166
|
Prints a failure message with a red background.
|
|
167
167
|
|
|
@@ -174,7 +174,7 @@ class Console(IConsole):
|
|
|
174
174
|
"""
|
|
175
175
|
self.__printWithBackground("FAIL", ANSIColors.BG_FAIL, message, timestamp)
|
|
176
176
|
|
|
177
|
-
def error(self, message: str, timestamp: bool = True):
|
|
177
|
+
def error(self, message: str, timestamp: bool = True) -> None:
|
|
178
178
|
"""
|
|
179
179
|
Prints an error message with a red background.
|
|
180
180
|
|
|
@@ -187,7 +187,7 @@ class Console(IConsole):
|
|
|
187
187
|
"""
|
|
188
188
|
self.__printWithBackground("ERROR", ANSIColors.BG_ERROR, message, timestamp)
|
|
189
189
|
|
|
190
|
-
def textError(self, message: str):
|
|
190
|
+
def textError(self, message: str) -> None:
|
|
191
191
|
"""
|
|
192
192
|
Prints an error message in red.
|
|
193
193
|
|
|
@@ -198,7 +198,7 @@ class Console(IConsole):
|
|
|
198
198
|
"""
|
|
199
199
|
self.__printColored(message, ANSIColors.TEXT_ERROR)
|
|
200
200
|
|
|
201
|
-
def textErrorBold(self, message: str):
|
|
201
|
+
def textErrorBold(self, message: str) -> None:
|
|
202
202
|
"""
|
|
203
203
|
Prints a bold error message in red.
|
|
204
204
|
|
|
@@ -209,7 +209,7 @@ class Console(IConsole):
|
|
|
209
209
|
"""
|
|
210
210
|
self.__printColored(message, ANSIColors.TEXT_BOLD_ERROR)
|
|
211
211
|
|
|
212
|
-
def textMuted(self, message: str):
|
|
212
|
+
def textMuted(self, message: str) -> None:
|
|
213
213
|
"""
|
|
214
214
|
Prints a muted (gray) message.
|
|
215
215
|
|
|
@@ -220,7 +220,7 @@ class Console(IConsole):
|
|
|
220
220
|
"""
|
|
221
221
|
self.__printColored(message, ANSIColors.TEXT_MUTED)
|
|
222
222
|
|
|
223
|
-
def textMutedBold(self, message: str):
|
|
223
|
+
def textMutedBold(self, message: str) -> None:
|
|
224
224
|
"""
|
|
225
225
|
Prints a bold muted (gray) message.
|
|
226
226
|
|
|
@@ -231,7 +231,7 @@ class Console(IConsole):
|
|
|
231
231
|
"""
|
|
232
232
|
self.__printColored(message, ANSIColors.TEXT_BOLD_MUTED)
|
|
233
233
|
|
|
234
|
-
def textUnderline(self, message: str):
|
|
234
|
+
def textUnderline(self, message: str) -> None:
|
|
235
235
|
"""
|
|
236
236
|
Prints an underlined message.
|
|
237
237
|
|
|
@@ -242,26 +242,26 @@ class Console(IConsole):
|
|
|
242
242
|
"""
|
|
243
243
|
print(f"{ANSIColors.TEXT_STYLE_UNDERLINE.value}{message}{ANSIColors.DEFAULT.value}")
|
|
244
244
|
|
|
245
|
-
def clear(self):
|
|
245
|
+
def clear(self) -> None:
|
|
246
246
|
"""
|
|
247
247
|
Clears the console screen.
|
|
248
248
|
"""
|
|
249
249
|
os.system('cls' if os.name == 'nt' else 'clear')
|
|
250
250
|
|
|
251
|
-
def clearLine(self):
|
|
251
|
+
def clearLine(self) -> None:
|
|
252
252
|
"""
|
|
253
253
|
Clears the current line in the console.
|
|
254
254
|
"""
|
|
255
255
|
sys.stdout.write("\r \r")
|
|
256
256
|
sys.stdout.flush()
|
|
257
257
|
|
|
258
|
-
def line(self):
|
|
258
|
+
def line(self) -> None:
|
|
259
259
|
"""
|
|
260
260
|
Prints a horizontal line in the console.
|
|
261
261
|
"""
|
|
262
262
|
print("\n", end="")
|
|
263
263
|
|
|
264
|
-
def newLine(self, count: int = 1):
|
|
264
|
+
def newLine(self, count: int = 1) -> None:
|
|
265
265
|
"""
|
|
266
266
|
Prints multiple new lines.
|
|
267
267
|
|
|
@@ -279,7 +279,7 @@ class Console(IConsole):
|
|
|
279
279
|
raise ValueError(f"Unsupported Value '{count}'")
|
|
280
280
|
print("\n" * count, end="")
|
|
281
281
|
|
|
282
|
-
def write(self, message: str):
|
|
282
|
+
def write(self, message: str) -> None:
|
|
283
283
|
"""
|
|
284
284
|
Prints a message without moving to the next line.
|
|
285
285
|
|
|
@@ -291,7 +291,7 @@ class Console(IConsole):
|
|
|
291
291
|
sys.stdout.write(f"{message}")
|
|
292
292
|
sys.stdout.flush()
|
|
293
293
|
|
|
294
|
-
def writeLine(self, message: str):
|
|
294
|
+
def writeLine(self, message: str) -> None:
|
|
295
295
|
"""
|
|
296
296
|
Prints a message and moves to the next line.
|
|
297
297
|
|
|
@@ -355,7 +355,7 @@ class Console(IConsole):
|
|
|
355
355
|
"""
|
|
356
356
|
return getpass.getpass(f"{ANSIColors.TEXT_INFO.value}{str(question).strip()}{ANSIColors.DEFAULT.value} ")
|
|
357
357
|
|
|
358
|
-
def table(self, headers: list, rows: list):
|
|
358
|
+
def table(self, headers: list, rows: list) -> None:
|
|
359
359
|
"""
|
|
360
360
|
Prints a table in the console with the given headers and rows, with bold headers.
|
|
361
361
|
|
|
@@ -402,7 +402,7 @@ class Console(IConsole):
|
|
|
402
402
|
|
|
403
403
|
print(bottom_border)
|
|
404
404
|
|
|
405
|
-
def anticipate(self, question: str, options: list, default=None):
|
|
405
|
+
def anticipate(self, question: str, options: list, default=None) -> str:
|
|
406
406
|
"""
|
|
407
407
|
Provides autocomplete suggestions based on user input.
|
|
408
408
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import time
|
|
1
2
|
from pathlib import Path
|
|
2
3
|
from typing import Any, List, Type
|
|
3
4
|
from orionis.container.container import Container
|
|
@@ -16,6 +17,7 @@ from orionis.foundation.config.startup import Configuration
|
|
|
16
17
|
from orionis.foundation.config.testing.entities.testing import Testing
|
|
17
18
|
from orionis.foundation.contracts.application import IApplication
|
|
18
19
|
from orionis.foundation.contracts.config import IConfig
|
|
20
|
+
from orionis.foundation.exceptions import OrionisTypeError, OrionisRuntimeError
|
|
19
21
|
|
|
20
22
|
class Application(Container, IApplication):
|
|
21
23
|
"""
|
|
@@ -59,24 +61,47 @@ class Application(Container, IApplication):
|
|
|
59
61
|
|
|
60
62
|
# Singleton pattern - prevent multiple initializations
|
|
61
63
|
if not hasattr(self, '_Application__initialized'):
|
|
62
|
-
self.__providers: List[IServiceProvider] = []
|
|
64
|
+
self.__providers: List[IServiceProvider, Any] = []
|
|
63
65
|
self.__configurators : dict = {}
|
|
64
66
|
self.__config: dict = {}
|
|
65
67
|
self.__booted: bool = False
|
|
68
|
+
self.__startAt = time.time_ns()
|
|
69
|
+
|
|
70
|
+
# Flag to prevent re-initialization
|
|
66
71
|
self.__initialized = True
|
|
67
72
|
|
|
73
|
+
# << Frameworks Kernel >>
|
|
74
|
+
|
|
75
|
+
def __loadFrameworksKernel(
|
|
76
|
+
self
|
|
77
|
+
) -> None:
|
|
78
|
+
"""
|
|
79
|
+
Load and register core framework kernels.
|
|
80
|
+
|
|
81
|
+
Instantiates and registers kernel components:
|
|
82
|
+
- TestKernel: Testing framework kernel
|
|
83
|
+
"""
|
|
84
|
+
# Import core framework kernels
|
|
85
|
+
from orionis.test.kernel import TestKernel, ITestKernel
|
|
86
|
+
|
|
87
|
+
# Core framework kernels
|
|
88
|
+
core_kernels = {
|
|
89
|
+
ITestKernel: TestKernel
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
# Register each kernel instance
|
|
93
|
+
for kernel_name, kernel_cls in core_kernels.items():
|
|
94
|
+
self.instance(kernel_name, kernel_cls(self))
|
|
95
|
+
|
|
96
|
+
# << Service Providers >>
|
|
97
|
+
|
|
68
98
|
def __loadFrameworkProviders(
|
|
69
99
|
self
|
|
70
100
|
) -> None:
|
|
71
101
|
"""
|
|
72
102
|
Load core framework service providers.
|
|
73
103
|
|
|
74
|
-
Registers essential providers required for framework operation
|
|
75
|
-
- ConsoleProvider: Console output management
|
|
76
|
-
- DumperProvider: Data dumping utilities
|
|
77
|
-
- PathResolverProvider: Path resolution services
|
|
78
|
-
- ProgressBarProvider: Progress bar functionality
|
|
79
|
-
- WorkersProvider: Worker management
|
|
104
|
+
Registers essential providers required for framework operation
|
|
80
105
|
"""
|
|
81
106
|
# Import core framework providers
|
|
82
107
|
from orionis.foundation.providers.console_provider import ConsoleProvider
|
|
@@ -98,27 +123,6 @@ class Application(Container, IApplication):
|
|
|
98
123
|
for provider_cls in core_providers:
|
|
99
124
|
self.addProvider(provider_cls)
|
|
100
125
|
|
|
101
|
-
def __loadFrameworksKernel(
|
|
102
|
-
self
|
|
103
|
-
) -> None:
|
|
104
|
-
"""
|
|
105
|
-
Load and register core framework kernels.
|
|
106
|
-
|
|
107
|
-
Instantiates and registers kernel components:
|
|
108
|
-
- TestKernel: Testing framework kernel
|
|
109
|
-
"""
|
|
110
|
-
# Import core framework kernels
|
|
111
|
-
from orionis.test.kernel import TestKernel, ITestKernel
|
|
112
|
-
|
|
113
|
-
# Core framework kernels
|
|
114
|
-
core_kernels = {
|
|
115
|
-
ITestKernel: TestKernel
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
# Register each kernel instance
|
|
119
|
-
for kernel_name, kernel_cls in core_kernels.items():
|
|
120
|
-
self.instance(kernel_name, kernel_cls(self))
|
|
121
|
-
|
|
122
126
|
def __registerProviders(
|
|
123
127
|
self
|
|
124
128
|
) -> None:
|
|
@@ -128,8 +132,24 @@ class Application(Container, IApplication):
|
|
|
128
132
|
Calls the register method on each provider to bind services
|
|
129
133
|
into the container.
|
|
130
134
|
"""
|
|
135
|
+
|
|
136
|
+
# Ensure providers list is empty before registration
|
|
137
|
+
initialized_providers = []
|
|
138
|
+
|
|
139
|
+
# Iterate over each provider and register it
|
|
131
140
|
for provider in self.__providers:
|
|
132
|
-
|
|
141
|
+
|
|
142
|
+
# Initialize the provider
|
|
143
|
+
class_provider: IServiceProvider = provider(self)
|
|
144
|
+
|
|
145
|
+
# Register the provider in the container
|
|
146
|
+
class_provider.register()
|
|
147
|
+
|
|
148
|
+
# Add the initialized provider to the list
|
|
149
|
+
initialized_providers.append(class_provider)
|
|
150
|
+
|
|
151
|
+
# Update the providers list with initialized providers
|
|
152
|
+
self.__providers = initialized_providers
|
|
133
153
|
|
|
134
154
|
def __bootProviders(
|
|
135
155
|
self
|
|
@@ -140,8 +160,12 @@ class Application(Container, IApplication):
|
|
|
140
160
|
Calls the boot method on each provider to initialize services
|
|
141
161
|
after all providers have been registered.
|
|
142
162
|
"""
|
|
163
|
+
# Iterate over each provider and boot it
|
|
143
164
|
for provider in self.__providers:
|
|
144
|
-
|
|
165
|
+
|
|
166
|
+
# Ensure provider is initialized before calling boot
|
|
167
|
+
if hasattr(provider, 'boot') and callable(getattr(provider, 'boot')):
|
|
168
|
+
provider.boot()
|
|
145
169
|
|
|
146
170
|
def withProviders(
|
|
147
171
|
self,
|
|
@@ -187,20 +211,58 @@ class Application(Container, IApplication):
|
|
|
187
211
|
|
|
188
212
|
Raises
|
|
189
213
|
------
|
|
190
|
-
|
|
214
|
+
OrionisTypeError
|
|
191
215
|
If provider is not a subclass of IServiceProvider
|
|
192
216
|
"""
|
|
193
217
|
|
|
194
218
|
# Validate provider type
|
|
195
219
|
if not isinstance(provider, type) or not issubclass(provider, IServiceProvider):
|
|
196
|
-
raise
|
|
220
|
+
raise OrionisTypeError(f"Expected IServiceProvider class, got {type(provider).__name__}")
|
|
221
|
+
|
|
222
|
+
# Add the provider to the list
|
|
223
|
+
if provider not in self.__providers:
|
|
224
|
+
self.__providers.append(provider)
|
|
197
225
|
|
|
198
|
-
#
|
|
199
|
-
|
|
226
|
+
# If already added, raise an error
|
|
227
|
+
else:
|
|
228
|
+
raise OrionisTypeError(f"Provider {provider.__name__} is already registered.")
|
|
200
229
|
|
|
201
230
|
# Return self instance.
|
|
202
231
|
return self
|
|
203
232
|
|
|
233
|
+
# << Configuration >>
|
|
234
|
+
|
|
235
|
+
def __loadConfig(
|
|
236
|
+
self,
|
|
237
|
+
) -> None:
|
|
238
|
+
"""
|
|
239
|
+
Retrieve a configuration value by key.
|
|
240
|
+
|
|
241
|
+
Returns
|
|
242
|
+
-------
|
|
243
|
+
None
|
|
244
|
+
Initializes the application configuration if not already set.
|
|
245
|
+
"""
|
|
246
|
+
|
|
247
|
+
# Try to load the configuration
|
|
248
|
+
try:
|
|
249
|
+
|
|
250
|
+
# Check if configuration is a dictionary
|
|
251
|
+
if not self.__config:
|
|
252
|
+
|
|
253
|
+
# Initialize with default configuration
|
|
254
|
+
if not self.__configurators:
|
|
255
|
+
self.__config = Configuration().toDict()
|
|
256
|
+
|
|
257
|
+
# If configurators are provided, use them to create the configuration
|
|
258
|
+
else:
|
|
259
|
+
self.__config = Configuration(**self.__configurators).toDict()
|
|
260
|
+
|
|
261
|
+
except Exception as e:
|
|
262
|
+
|
|
263
|
+
# Handle any exceptions during configuration loading
|
|
264
|
+
raise OrionisRuntimeError(f"Failed to load application configuration: {str(e)}")
|
|
265
|
+
|
|
204
266
|
def withConfigurators(
|
|
205
267
|
self,
|
|
206
268
|
*,
|
|
@@ -354,7 +416,7 @@ class Application(Container, IApplication):
|
|
|
354
416
|
|
|
355
417
|
# Validate config type
|
|
356
418
|
if not isinstance(app, App):
|
|
357
|
-
raise
|
|
419
|
+
raise OrionisTypeError(f"Expected App instance, got {type(app).__name__}")
|
|
358
420
|
|
|
359
421
|
# Store the configuration
|
|
360
422
|
self.__configurators['app'] = app
|
|
@@ -407,7 +469,7 @@ class Application(Container, IApplication):
|
|
|
407
469
|
|
|
408
470
|
# Validate auth type
|
|
409
471
|
if not isinstance(auth, Auth):
|
|
410
|
-
raise
|
|
472
|
+
raise OrionisTypeError(f"Expected Auth instance, got {type(auth).__name__}")
|
|
411
473
|
|
|
412
474
|
# Store the configuration
|
|
413
475
|
self.__configurators['auth'] = auth
|
|
@@ -460,7 +522,7 @@ class Application(Container, IApplication):
|
|
|
460
522
|
|
|
461
523
|
# Validate cache type
|
|
462
524
|
if not isinstance(cache, Cache):
|
|
463
|
-
raise
|
|
525
|
+
raise OrionisTypeError(f"Expected Cache instance, got {type(cache).__name__}")
|
|
464
526
|
|
|
465
527
|
# Store the configuration
|
|
466
528
|
self.__configurators['cache'] = cache
|
|
@@ -513,7 +575,7 @@ class Application(Container, IApplication):
|
|
|
513
575
|
|
|
514
576
|
# Validate cors type
|
|
515
577
|
if not isinstance(cors, Cors):
|
|
516
|
-
raise
|
|
578
|
+
raise OrionisTypeError(f"Expected Cors instance, got {type(cors).__name__}")
|
|
517
579
|
|
|
518
580
|
# Store the configuration
|
|
519
581
|
self.__configurators['cors'] = cors
|
|
@@ -569,7 +631,7 @@ class Application(Container, IApplication):
|
|
|
569
631
|
|
|
570
632
|
# Validate database type
|
|
571
633
|
if not isinstance(database, Database):
|
|
572
|
-
raise
|
|
634
|
+
raise OrionisTypeError(f"Expected Database instance, got {type(database).__name__}")
|
|
573
635
|
|
|
574
636
|
# Store the configuration
|
|
575
637
|
self.__configurators['database'] = database
|
|
@@ -625,7 +687,7 @@ class Application(Container, IApplication):
|
|
|
625
687
|
|
|
626
688
|
# Validate filesystems type
|
|
627
689
|
if not isinstance(filesystems, Filesystems):
|
|
628
|
-
raise
|
|
690
|
+
raise OrionisTypeError(f"Expected Filesystems instance, got {type(filesystems).__name__}")
|
|
629
691
|
|
|
630
692
|
# Store the configuration
|
|
631
693
|
self.__configurators['filesystems'] = filesystems
|
|
@@ -681,7 +743,7 @@ class Application(Container, IApplication):
|
|
|
681
743
|
|
|
682
744
|
# Validate logging type
|
|
683
745
|
if not isinstance(logging, Logging):
|
|
684
|
-
raise
|
|
746
|
+
raise OrionisTypeError(f"Expected Logging instance, got {type(logging).__name__}")
|
|
685
747
|
|
|
686
748
|
# Store the configuration
|
|
687
749
|
self.__configurators['logging'] = logging
|
|
@@ -737,7 +799,7 @@ class Application(Container, IApplication):
|
|
|
737
799
|
|
|
738
800
|
# Validate mail type
|
|
739
801
|
if not isinstance(mail, Mail):
|
|
740
|
-
raise
|
|
802
|
+
raise OrionisTypeError(f"Expected Mail instance, got {type(mail).__name__}")
|
|
741
803
|
|
|
742
804
|
# Store the configuration
|
|
743
805
|
self.__configurators['mail'] = mail
|
|
@@ -793,7 +855,7 @@ class Application(Container, IApplication):
|
|
|
793
855
|
|
|
794
856
|
# Validate queue type
|
|
795
857
|
if not isinstance(queue, Queue):
|
|
796
|
-
raise
|
|
858
|
+
raise OrionisTypeError(f"Expected Queue instance, got {type(queue).__name__}")
|
|
797
859
|
|
|
798
860
|
# Store the configuration
|
|
799
861
|
self.__configurators['queue'] = queue
|
|
@@ -849,7 +911,7 @@ class Application(Container, IApplication):
|
|
|
849
911
|
|
|
850
912
|
# Validate session type
|
|
851
913
|
if not isinstance(session, Session):
|
|
852
|
-
raise
|
|
914
|
+
raise OrionisTypeError(f"Expected Session instance, got {type(session).__name__}")
|
|
853
915
|
|
|
854
916
|
# Store the configuration
|
|
855
917
|
self.__configurators['session'] = session
|
|
@@ -905,7 +967,7 @@ class Application(Container, IApplication):
|
|
|
905
967
|
|
|
906
968
|
# Validate testing type
|
|
907
969
|
if not isinstance(testing, Testing):
|
|
908
|
-
raise
|
|
970
|
+
raise OrionisTypeError(f"Expected Testing instance, got {type(testing).__name__}")
|
|
909
971
|
|
|
910
972
|
# Store the configuration
|
|
911
973
|
self.__configurators['testing'] = testing
|
|
@@ -913,36 +975,7 @@ class Application(Container, IApplication):
|
|
|
913
975
|
# Return the application instance for method chaining
|
|
914
976
|
return self
|
|
915
977
|
|
|
916
|
-
|
|
917
|
-
self,
|
|
918
|
-
) -> None:
|
|
919
|
-
"""
|
|
920
|
-
Retrieve a configuration value by key.
|
|
921
|
-
|
|
922
|
-
Returns
|
|
923
|
-
-------
|
|
924
|
-
None
|
|
925
|
-
Initializes the application configuration if not already set.
|
|
926
|
-
"""
|
|
927
|
-
|
|
928
|
-
# Try to load the configuration
|
|
929
|
-
try:
|
|
930
|
-
|
|
931
|
-
# Check if configuration is a dictionary
|
|
932
|
-
if not self.__config:
|
|
933
|
-
|
|
934
|
-
# Initialize with default configuration
|
|
935
|
-
if not self.__configurators:
|
|
936
|
-
self.__config = Configuration().toDict()
|
|
937
|
-
|
|
938
|
-
# If configurators are provided, use them to create the configuration
|
|
939
|
-
else:
|
|
940
|
-
self.__config = Configuration(**self.__configurators).toDict()
|
|
941
|
-
|
|
942
|
-
except Exception as e:
|
|
943
|
-
|
|
944
|
-
# Handle any exceptions during configuration loading
|
|
945
|
-
raise RuntimeError(f"Failed to load application configuration: {str(e)}")
|
|
978
|
+
# << Application Lifecycle >>
|
|
946
979
|
|
|
947
980
|
def create(
|
|
948
981
|
self
|
|
@@ -958,22 +991,24 @@ class Application(Container, IApplication):
|
|
|
958
991
|
# Check if already booted
|
|
959
992
|
if not self.__booted:
|
|
960
993
|
|
|
961
|
-
# Load
|
|
962
|
-
self.
|
|
963
|
-
self.__loadFrameworksKernel()
|
|
994
|
+
# Load configuration if not already set
|
|
995
|
+
self.__loadConfig()
|
|
964
996
|
|
|
965
|
-
#
|
|
997
|
+
# Load framework providers and register them
|
|
998
|
+
self.__loadFrameworkProviders()
|
|
966
999
|
self.__registerProviders()
|
|
967
1000
|
self.__bootProviders()
|
|
968
1001
|
|
|
969
|
-
# Load
|
|
970
|
-
self.
|
|
1002
|
+
# Load core framework kernels
|
|
1003
|
+
self.__loadFrameworksKernel()
|
|
971
1004
|
|
|
972
1005
|
# Mark as booted
|
|
973
1006
|
self.__booted = True
|
|
974
1007
|
|
|
975
1008
|
return self
|
|
976
1009
|
|
|
1010
|
+
# << Configuration Access >>
|
|
1011
|
+
|
|
977
1012
|
def config(
|
|
978
1013
|
self,
|
|
979
1014
|
key: str,
|
|
@@ -1023,6 +1058,8 @@ class Application(Container, IApplication):
|
|
|
1023
1058
|
# Return the final configuration value
|
|
1024
1059
|
return config_value
|
|
1025
1060
|
|
|
1061
|
+
# << Path Configuration Access >>
|
|
1062
|
+
|
|
1026
1063
|
def path(
|
|
1027
1064
|
self,
|
|
1028
1065
|
key: str,
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from .integrity import OrionisIntegrityException
|
|
2
|
+
from .value import OrionisValueError
|
|
3
|
+
from .type import OrionisTypeError
|
|
4
|
+
from .runtime import OrionisRuntimeError
|
|
5
|
+
|
|
6
|
+
__all__ = [
|
|
7
|
+
"OrionisIntegrityException",
|
|
8
|
+
"OrionisValueError",
|
|
9
|
+
"OrionisTypeError",
|
|
10
|
+
"OrionisRuntimeError"
|
|
11
|
+
]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
class OrionisRuntimeError(RuntimeError):
|
|
2
|
+
|
|
3
|
+
def __init__(self, msg: str):
|
|
4
|
+
"""
|
|
5
|
+
Parameters
|
|
6
|
+
----------
|
|
7
|
+
msg : str
|
|
8
|
+
Descriptive error message explaining the cause of the exception.
|
|
9
|
+
"""
|
|
10
|
+
super().__init__(msg)
|
|
11
|
+
|
|
12
|
+
def __str__(self) -> str:
|
|
13
|
+
"""
|
|
14
|
+
Returns
|
|
15
|
+
-------
|
|
16
|
+
str
|
|
17
|
+
Formatted string describing the exception.
|
|
18
|
+
"""
|
|
19
|
+
return str(self.args[0])
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
class OrionisTypeError(TypeError):
|
|
2
|
+
|
|
3
|
+
def __init__(self, msg: str):
|
|
4
|
+
"""
|
|
5
|
+
Parameters
|
|
6
|
+
----------
|
|
7
|
+
msg : str
|
|
8
|
+
Descriptive error message explaining the cause of the exception.
|
|
9
|
+
"""
|
|
10
|
+
super().__init__(msg)
|
|
11
|
+
|
|
12
|
+
def __str__(self) -> str:
|
|
13
|
+
"""
|
|
14
|
+
Returns
|
|
15
|
+
-------
|
|
16
|
+
str
|
|
17
|
+
Formatted string describing the exception.
|
|
18
|
+
"""
|
|
19
|
+
return str(self.args[0])
|
|
@@ -249,6 +249,8 @@ orionis/foundation/contracts/application.py
|
|
|
249
249
|
orionis/foundation/contracts/config.py
|
|
250
250
|
orionis/foundation/exceptions/__init__.py
|
|
251
251
|
orionis/foundation/exceptions/integrity.py
|
|
252
|
+
orionis/foundation/exceptions/runtime.py
|
|
253
|
+
orionis/foundation/exceptions/type.py
|
|
252
254
|
orionis/foundation/exceptions/value.py
|
|
253
255
|
orionis/foundation/providers/__init__.py
|
|
254
256
|
orionis/foundation/providers/console_provider.py
|