orionis 0.389.0__tar.gz → 0.391.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.389.0/orionis.egg-info → orionis-0.391.0}/PKG-INFO +1 -1
- orionis-0.391.0/orionis/foundation/application.py +212 -0
- orionis-0.391.0/orionis/foundation/contracts/application.py +74 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.389.0 → orionis-0.391.0/orionis.egg-info}/PKG-INFO +1 -1
- orionis-0.389.0/orionis/foundation/application.py +0 -276
- orionis-0.389.0/orionis/foundation/contracts/application.py +0 -46
- {orionis-0.389.0 → orionis-0.391.0}/LICENCE +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/MANIFEST.in +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/README.md +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/base/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/base/command.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/command_filter.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/commands/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/commands/cache_clear.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/commands/help.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/commands/schedule_work.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/commands/version.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/dumper/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/dumper/dump_die.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/exceptions/cli-orionis-value-error.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/exceptions/cli_exception.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/exceptions/cli_runtime_error.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/exceptions/cli_schedule_exception.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/kernel.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/output/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/output/console.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/output/executor.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/output/progress_bar.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_console/parser.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/application.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/config/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/config/config.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/base/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/base/command.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/command_filter.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/kernel.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/output/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/output/console.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/output/executor.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/parser.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/console/task_manager.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/commands/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/commands/commands_facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/commands/scheduler_facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/config/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/config/config_facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/environment/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/environment/environment_facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/files/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/files/path_facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/log/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/log/log_facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/tests/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/facades/tests/tests_facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/bootstraper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/config/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/config/config_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/console/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/console/command_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/environment/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/environment/environment_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/providers/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/foundation/providers/service_providers_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/providers/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/providers/service_provider.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/commands/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/commands/reactor_commands_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/commands/schedule_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/config/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/config/config_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/environment/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/environment/environment_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/files/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/files/path_resolver_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/log/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/services/log/log_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/support/exception_parse.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_contracts/support/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/console/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/console/command_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/environment/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/environment/environment_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/exceptions/exception_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/exceptions/exception_providers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/foundation/config/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/foundation/config/config_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/providers/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_foundation/providers/service_providers_bootstrapper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_services/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_services/commands/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_services/commands/reactor_commands_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_services/commands/scheduler_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_services/config/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/_services/config/config_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/base/command.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/dumper/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/dumper/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/dumper/contracts/dump.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/dumper/dump.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/dynamic/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/dynamic/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/dynamic/progress_bar.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/output/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/output/console.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/output/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/output/contracts/console.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/output/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/console/output/enums/styles.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/container.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/context/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/contracts/resolver.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/exceptions/attribute.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/exceptions/exception.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/exceptions/type.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/exceptions/value.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/facades/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/providers/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/resolver/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/resolver/resolver.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/app/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/auth/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cache/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cors/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/mail/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/queue/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/roots/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/session/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/testing/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/config/testing/enums/test_mode.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/contracts/config.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/exceptions/integrity.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/exceptions/value.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/providers/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/providers/console_provider.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/providers/dumper_provider.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/providers/path_resolver_provider.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/foundation/providers/workers_provider.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/metadata/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/metadata/package.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/asynchrony/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/contracts/types.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/core/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/core/dot_env.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/dynamic/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/dynamic/types.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/exceptions/exception.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/exceptions/value.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/helpers/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/environment/helpers/functions.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/abstract/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/abstract/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/callables/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/callables/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/concretes/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/concretes/contracts/concrete.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/concretes/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/entities/callable_dependencies.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/entities/class_dependencies.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/entities/known_dependencies.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/entities/method_dependencies.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/exceptions/type.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/exceptions/value.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/instances/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/instances/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/modules/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/modules/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/objects/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/objects/types.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/log/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/paths/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/paths/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/paths/contracts/resolver.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/paths/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/paths/exceptions/exception.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/paths/exceptions/file.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/paths/resolver.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/system/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/system/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/system/runtime/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/system/runtime/imports.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/facades/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/facades/console.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/facades/dumper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/facades/path_resolver.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/facades/progress_bar.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/facades/workers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/formatter/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/formatter/exceptions/parser.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/formatter/serializer.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/patterns/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/patterns/singleton/meta.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/standard/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/standard/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/standard/exceptions/value.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/support/wrapper/dot_dict.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/arguments/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/arguments/parser.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/cases/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/cases/asynchronous.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/cases/synchronous.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/contracts/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/contracts/kernel.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/contracts/logs.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/contracts/parser.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/contracts/render.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/contracts/unit_test.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/core/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/core/unit_test.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/entities/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/entities/arguments.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/entities/result.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/enums/execution_mode.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/enums/status.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/exceptions/config.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/exceptions/failure.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/exceptions/persistence.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/exceptions/runtime.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/exceptions/value.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/kernel.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/output/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/records/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/records/logs.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/view/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis/test/view/render.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis.egg-info/SOURCES.txt +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/orionis.egg-info/zip-safe +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/setup.cfg +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/setup.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/example/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/example/test_example.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/app/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/auth/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/cache/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/cors/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/database/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/mail/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/queue/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/root/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/session/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/startup/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/testing/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/exceptions/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/foundation/exceptions/test_foundation_config_exceptions.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/metadata/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/metadata/test_metadata_framework.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/metadata/test_metadata_package.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/asynchrony/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/environment/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/environment/test_services_environment.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/dependencies/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/dependencies/mocks/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/dependencies/mocks/mock_user.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/dependencies/mocks/mock_user_controller.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/dependencies/mocks/mock_users_permissions.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/dependencies/test_reflect_dependencies.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/reflection/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/reflection/mock/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/reflection/mock/fake_reflect_instance.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/reflection/test_reflection_abstract.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/reflection/test_reflection_callable.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/reflection/test_reflection_concrete.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/reflection/test_reflection_instance.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/reflection/test_reflection_module.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/inspection/test_reflection.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/path/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/path/test_services_resolver.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/system/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/system/test_services_system_imports.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/services/system/test_services_system_workers.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/parsers/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/parsers/mocks/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/parsers/mocks/mock_custom_error.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/parsers/test_services_parser_exceptions.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/patterns/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/standard/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/standard/test_services_std.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/wrapper/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/testing/__init__.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/testing/test_testing_result.py +0 -0
- {orionis-0.389.0 → orionis-0.391.0}/tests/testing/test_testing_unit.py +0 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
from typing import Type, List
|
|
2
|
+
from orionis.container.container import Container
|
|
3
|
+
from orionis.container.contracts.service_provider import IServiceProvider
|
|
4
|
+
from orionis.foundation.config.roots.paths import Paths
|
|
5
|
+
from orionis.foundation.contracts.application import IApplication
|
|
6
|
+
|
|
7
|
+
class Application(Container, IApplication):
|
|
8
|
+
"""
|
|
9
|
+
Application container that manages service providers and application lifecycle.
|
|
10
|
+
|
|
11
|
+
This class extends Container to provide application-level functionality including
|
|
12
|
+
service provider management, kernel loading, and application bootstrapping.
|
|
13
|
+
It implements a fluent interface pattern allowing method chaining.
|
|
14
|
+
|
|
15
|
+
Attributes
|
|
16
|
+
----------
|
|
17
|
+
isBooted : bool
|
|
18
|
+
Read-only property indicating if the application has been booted
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
@property
|
|
22
|
+
def isBooted(
|
|
23
|
+
self
|
|
24
|
+
) -> bool:
|
|
25
|
+
"""
|
|
26
|
+
Check if the application providers have been booted.
|
|
27
|
+
|
|
28
|
+
Returns
|
|
29
|
+
-------
|
|
30
|
+
bool
|
|
31
|
+
True if providers are booted, False otherwise
|
|
32
|
+
"""
|
|
33
|
+
return self.__booted
|
|
34
|
+
|
|
35
|
+
def __init__(
|
|
36
|
+
self
|
|
37
|
+
) -> None:
|
|
38
|
+
"""
|
|
39
|
+
Initialize the Application container.
|
|
40
|
+
|
|
41
|
+
Sets up initial state including empty providers list and booted flag.
|
|
42
|
+
Uses singleton pattern to prevent multiple initializations.
|
|
43
|
+
"""
|
|
44
|
+
# Initialize base container with application paths
|
|
45
|
+
super().__init__()
|
|
46
|
+
|
|
47
|
+
# Singleton pattern - prevent multiple initializations
|
|
48
|
+
if not hasattr(self, '_Application__initialized'):
|
|
49
|
+
self.__providers: List[IServiceProvider] = []
|
|
50
|
+
self.__booted: bool = False
|
|
51
|
+
self.__initialized = True
|
|
52
|
+
|
|
53
|
+
def __loadFrameworkProviders(
|
|
54
|
+
self
|
|
55
|
+
) -> None:
|
|
56
|
+
"""
|
|
57
|
+
Load core framework service providers.
|
|
58
|
+
|
|
59
|
+
Registers essential providers required for framework operation:
|
|
60
|
+
- ConsoleProvider: Console output management
|
|
61
|
+
- DumperProvider: Data dumping utilities
|
|
62
|
+
- PathResolverProvider: Path resolution services
|
|
63
|
+
- ProgressBarProvider: Progress bar functionality
|
|
64
|
+
- WorkersProvider: Worker management
|
|
65
|
+
"""
|
|
66
|
+
# Import core framework providers
|
|
67
|
+
from orionis.foundation.providers.console_provider import ConsoleProvider
|
|
68
|
+
from orionis.foundation.providers.dumper_provider import DumperProvider
|
|
69
|
+
from orionis.foundation.providers.path_resolver_provider import PathResolverProvider
|
|
70
|
+
from orionis.foundation.providers.progress_bar_provider import ProgressBarProvider
|
|
71
|
+
from orionis.foundation.providers.workers_provider import WorkersProvider
|
|
72
|
+
|
|
73
|
+
# Core framework providers
|
|
74
|
+
core_providers = [
|
|
75
|
+
ConsoleProvider,
|
|
76
|
+
DumperProvider,
|
|
77
|
+
PathResolverProvider,
|
|
78
|
+
ProgressBarProvider,
|
|
79
|
+
WorkersProvider
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
# Register each core provider
|
|
83
|
+
for provider_cls in core_providers:
|
|
84
|
+
self.addProvider(provider_cls)
|
|
85
|
+
|
|
86
|
+
def __loadFrameworksKernel(
|
|
87
|
+
self
|
|
88
|
+
) -> None:
|
|
89
|
+
"""
|
|
90
|
+
Load and register core framework kernels.
|
|
91
|
+
|
|
92
|
+
Instantiates and registers kernel components:
|
|
93
|
+
- TestKernel: Testing framework kernel
|
|
94
|
+
"""
|
|
95
|
+
# Import core framework kernels
|
|
96
|
+
from orionis.test.kernel import TestKernel, ITestKernel
|
|
97
|
+
|
|
98
|
+
# Core framework kernels
|
|
99
|
+
core_kernels = {
|
|
100
|
+
ITestKernel: TestKernel
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
# Register each kernel instance
|
|
104
|
+
for kernel_name, kernel_cls in core_kernels.items():
|
|
105
|
+
self.instance(kernel_name, kernel_cls(self))
|
|
106
|
+
|
|
107
|
+
def __registerProviders(
|
|
108
|
+
self
|
|
109
|
+
) -> None:
|
|
110
|
+
"""
|
|
111
|
+
Register all added service providers.
|
|
112
|
+
|
|
113
|
+
Calls the register method on each provider to bind services
|
|
114
|
+
into the container.
|
|
115
|
+
"""
|
|
116
|
+
for provider in self.__providers:
|
|
117
|
+
provider.register()
|
|
118
|
+
|
|
119
|
+
def __bootProviders(
|
|
120
|
+
self
|
|
121
|
+
) -> None:
|
|
122
|
+
"""
|
|
123
|
+
Boot all registered service providers.
|
|
124
|
+
|
|
125
|
+
Calls the boot method on each provider to initialize services
|
|
126
|
+
after all providers have been registered.
|
|
127
|
+
"""
|
|
128
|
+
for provider in self.__providers:
|
|
129
|
+
provider.boot()
|
|
130
|
+
|
|
131
|
+
def withProviders(
|
|
132
|
+
self,
|
|
133
|
+
providers: List[Type[IServiceProvider]] = []
|
|
134
|
+
) -> 'Application':
|
|
135
|
+
"""
|
|
136
|
+
Add multiple service providers to the application.
|
|
137
|
+
|
|
138
|
+
Parameters
|
|
139
|
+
----------
|
|
140
|
+
providers : List[Type[IServiceProvider]], optional
|
|
141
|
+
List of provider classes to add to the application
|
|
142
|
+
|
|
143
|
+
Returns
|
|
144
|
+
-------
|
|
145
|
+
Application
|
|
146
|
+
The application instance for method chaining
|
|
147
|
+
|
|
148
|
+
Examples
|
|
149
|
+
--------
|
|
150
|
+
>>> app.withProviders([CustomProvider, AnotherProvider])
|
|
151
|
+
"""
|
|
152
|
+
# Add each provider class
|
|
153
|
+
for provider_cls in providers:
|
|
154
|
+
self.addProvider(provider_cls)
|
|
155
|
+
return self
|
|
156
|
+
|
|
157
|
+
def addProvider(
|
|
158
|
+
self,
|
|
159
|
+
provider: Type[IServiceProvider]
|
|
160
|
+
) -> 'Application':
|
|
161
|
+
"""
|
|
162
|
+
Add a single service provider to the application.
|
|
163
|
+
|
|
164
|
+
Parameters
|
|
165
|
+
----------
|
|
166
|
+
provider : Type[IServiceProvider]
|
|
167
|
+
The provider class to add to the application
|
|
168
|
+
|
|
169
|
+
Returns
|
|
170
|
+
-------
|
|
171
|
+
Application
|
|
172
|
+
The application instance for method chaining
|
|
173
|
+
|
|
174
|
+
Raises
|
|
175
|
+
------
|
|
176
|
+
TypeError
|
|
177
|
+
If provider is not a subclass of IServiceProvider
|
|
178
|
+
"""
|
|
179
|
+
# Validate provider type
|
|
180
|
+
if not isinstance(provider, type) or not issubclass(provider, IServiceProvider):
|
|
181
|
+
raise TypeError(f"Expected IServiceProvider class, got {type(provider).__name__}")
|
|
182
|
+
|
|
183
|
+
# Instantiate and add provider
|
|
184
|
+
self.__providers.append(provider(self))
|
|
185
|
+
return self
|
|
186
|
+
|
|
187
|
+
def create(
|
|
188
|
+
self
|
|
189
|
+
) -> 'Application':
|
|
190
|
+
"""
|
|
191
|
+
Bootstrap the application by loading providers and kernels.
|
|
192
|
+
|
|
193
|
+
Returns
|
|
194
|
+
-------
|
|
195
|
+
Application
|
|
196
|
+
The application instance for method chaining
|
|
197
|
+
"""
|
|
198
|
+
# Check if already booted
|
|
199
|
+
if not self.__booted:
|
|
200
|
+
|
|
201
|
+
# Load core framework components
|
|
202
|
+
self.__loadFrameworkProviders()
|
|
203
|
+
self.__loadFrameworksKernel()
|
|
204
|
+
|
|
205
|
+
# Register and boot all providers
|
|
206
|
+
self.__registerProviders()
|
|
207
|
+
self.__bootProviders()
|
|
208
|
+
|
|
209
|
+
# Mark as booted
|
|
210
|
+
self.__booted = True
|
|
211
|
+
|
|
212
|
+
return self
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
from abc import abstractmethod
|
|
2
|
+
from typing import List, Type
|
|
3
|
+
from orionis.container.contracts.service_provider import IServiceProvider
|
|
4
|
+
from orionis.container.contracts.container import IContainer
|
|
5
|
+
|
|
6
|
+
class IApplication(IContainer):
|
|
7
|
+
"""
|
|
8
|
+
Abstract interface for application containers that manage service providers.
|
|
9
|
+
|
|
10
|
+
This interface extends IContainer to provide application-level functionality
|
|
11
|
+
including service provider management and application lifecycle operations.
|
|
12
|
+
|
|
13
|
+
By inheriting from IContainer, this interface provides access to all container
|
|
14
|
+
methods while adding application-specific functionality.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
@property
|
|
18
|
+
@abstractmethod
|
|
19
|
+
def isBooted(self) -> bool:
|
|
20
|
+
"""
|
|
21
|
+
Check if the application providers have been booted.
|
|
22
|
+
|
|
23
|
+
Returns
|
|
24
|
+
-------
|
|
25
|
+
bool
|
|
26
|
+
True if providers are booted, False otherwise
|
|
27
|
+
"""
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
@abstractmethod
|
|
31
|
+
def withProviders(self, providers: List[Type[IServiceProvider]] = []) -> 'IApplication':
|
|
32
|
+
"""
|
|
33
|
+
Add multiple service providers to the application.
|
|
34
|
+
|
|
35
|
+
Parameters
|
|
36
|
+
----------
|
|
37
|
+
providers : List[Type[IServiceProvider]], optional
|
|
38
|
+
List of provider classes to add to the application
|
|
39
|
+
|
|
40
|
+
Returns
|
|
41
|
+
-------
|
|
42
|
+
IApplication
|
|
43
|
+
The application instance for method chaining
|
|
44
|
+
"""
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
@abstractmethod
|
|
48
|
+
def addProvider(self, provider: Type[IServiceProvider]) -> 'IApplication':
|
|
49
|
+
"""
|
|
50
|
+
Add a single service provider to the application.
|
|
51
|
+
|
|
52
|
+
Parameters
|
|
53
|
+
----------
|
|
54
|
+
provider : Type[IServiceProvider]
|
|
55
|
+
The provider class to add to the application
|
|
56
|
+
|
|
57
|
+
Returns
|
|
58
|
+
-------
|
|
59
|
+
IApplication
|
|
60
|
+
The application instance for method chaining
|
|
61
|
+
"""
|
|
62
|
+
pass
|
|
63
|
+
|
|
64
|
+
@abstractmethod
|
|
65
|
+
def create(self) -> 'IApplication':
|
|
66
|
+
"""
|
|
67
|
+
Bootstrap the application by loading providers and kernels.
|
|
68
|
+
|
|
69
|
+
Returns
|
|
70
|
+
-------
|
|
71
|
+
IApplication
|
|
72
|
+
The application instance for method chaining
|
|
73
|
+
"""
|
|
74
|
+
pass
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
from typing import Type, List
|
|
2
|
-
from orionis.container.container import Container
|
|
3
|
-
from orionis.container.contracts.service_provider import IServiceProvider
|
|
4
|
-
from orionis.foundation.config.roots.paths import Paths
|
|
5
|
-
from orionis.foundation.contracts.application import IApplication
|
|
6
|
-
|
|
7
|
-
class Application(Container, IApplication):
|
|
8
|
-
"""
|
|
9
|
-
Application container that manages service providers.
|
|
10
|
-
|
|
11
|
-
This class extends the base Container functionality by adding
|
|
12
|
-
a service provider registration and boot system.
|
|
13
|
-
|
|
14
|
-
Attributes
|
|
15
|
-
----------
|
|
16
|
-
__providers : List[IServiceProvider]
|
|
17
|
-
List of registered service providers
|
|
18
|
-
__booted : bool
|
|
19
|
-
Flag indicating whether providers have been booted
|
|
20
|
-
"""
|
|
21
|
-
@property
|
|
22
|
-
def isBooted(
|
|
23
|
-
self
|
|
24
|
-
) -> bool:
|
|
25
|
-
"""
|
|
26
|
-
Check if the application providers have been booted.
|
|
27
|
-
|
|
28
|
-
Returns
|
|
29
|
-
-------
|
|
30
|
-
bool
|
|
31
|
-
True if providers are booted, False otherwise
|
|
32
|
-
"""
|
|
33
|
-
return self.__booted
|
|
34
|
-
|
|
35
|
-
@property
|
|
36
|
-
def path(
|
|
37
|
-
self,
|
|
38
|
-
name: str = None
|
|
39
|
-
) -> Paths:
|
|
40
|
-
|
|
41
|
-
if name is None:
|
|
42
|
-
return self.__paths
|
|
43
|
-
|
|
44
|
-
if hasattr(self.__paths, name):
|
|
45
|
-
return getattr(self.__paths, name)
|
|
46
|
-
|
|
47
|
-
raise AttributeError(f"Path '{name}' not found in application paths")
|
|
48
|
-
|
|
49
|
-
def __init__(
|
|
50
|
-
self
|
|
51
|
-
) -> None:
|
|
52
|
-
"""
|
|
53
|
-
Initialize a new App instance.
|
|
54
|
-
|
|
55
|
-
Sets up the container and initializes the provider tracking system.
|
|
56
|
-
This method ensures that initialization only happens once per instance,
|
|
57
|
-
even in a singleton context.
|
|
58
|
-
"""
|
|
59
|
-
|
|
60
|
-
# Call parent constructor first
|
|
61
|
-
super().__init__()
|
|
62
|
-
|
|
63
|
-
# Check if this specific instance has already been initialized
|
|
64
|
-
if not hasattr(self, '_Application__initialized'):
|
|
65
|
-
|
|
66
|
-
# Initialize provider-specific attributes
|
|
67
|
-
self.__providers: List[IServiceProvider] = []
|
|
68
|
-
self.__booted: bool = False
|
|
69
|
-
|
|
70
|
-
# List of paths for the application
|
|
71
|
-
self.__paths: Paths = None
|
|
72
|
-
|
|
73
|
-
# Mark this instance as initialized
|
|
74
|
-
self.__initialized = True
|
|
75
|
-
|
|
76
|
-
# Bootstrap core services
|
|
77
|
-
self.__bootFramework()
|
|
78
|
-
|
|
79
|
-
def __bootFramework(
|
|
80
|
-
self
|
|
81
|
-
) -> None:
|
|
82
|
-
"""
|
|
83
|
-
Bootstrap the application by loading internal framework providers.
|
|
84
|
-
|
|
85
|
-
This method should be called once to ensure that core services
|
|
86
|
-
required by the framework are registered before user-defined
|
|
87
|
-
providers are loaded.
|
|
88
|
-
"""
|
|
89
|
-
if not self.__booted:
|
|
90
|
-
self.__loadFrameworkProviders()
|
|
91
|
-
self.__loadFrameworksKernel()
|
|
92
|
-
|
|
93
|
-
def __loadFrameworkProviders(
|
|
94
|
-
self
|
|
95
|
-
) -> None:
|
|
96
|
-
"""
|
|
97
|
-
Load internal framework service providers.
|
|
98
|
-
|
|
99
|
-
This method should register core services required by the framework
|
|
100
|
-
before user-defined providers are loaded.
|
|
101
|
-
"""
|
|
102
|
-
|
|
103
|
-
# Import core provider classes
|
|
104
|
-
from orionis.foundation.providers.console_provider import ConsoleProvider
|
|
105
|
-
from orionis.foundation.providers.dumper_provider import DumperProvider
|
|
106
|
-
from orionis.foundation.providers.path_resolver_provider import PathResolverProvider
|
|
107
|
-
from orionis.foundation.providers.progress_bar_provider import ProgressBarProvider
|
|
108
|
-
from orionis.foundation.providers.workers_provider import WorkersProvider
|
|
109
|
-
|
|
110
|
-
# List of core providers to register
|
|
111
|
-
core_providers = [
|
|
112
|
-
ConsoleProvider,
|
|
113
|
-
DumperProvider,
|
|
114
|
-
PathResolverProvider,
|
|
115
|
-
ProgressBarProvider,
|
|
116
|
-
WorkersProvider
|
|
117
|
-
]
|
|
118
|
-
|
|
119
|
-
# Register each core provider with the application
|
|
120
|
-
for provider_cls in core_providers:
|
|
121
|
-
self.__registerProvider(provider_cls)
|
|
122
|
-
|
|
123
|
-
def __loadFrameworksKernel(
|
|
124
|
-
self
|
|
125
|
-
) -> None:
|
|
126
|
-
"""
|
|
127
|
-
Load the core framework kernel.
|
|
128
|
-
|
|
129
|
-
This method is responsible for loading the core kernel of the framework,
|
|
130
|
-
which is essential for the application to function correctly.
|
|
131
|
-
"""
|
|
132
|
-
|
|
133
|
-
# Import Kernel classes
|
|
134
|
-
from orionis.test.kernel import TestKernel, ITestKernel
|
|
135
|
-
|
|
136
|
-
# List of core kernels to register
|
|
137
|
-
core_kernels = {
|
|
138
|
-
ITestKernel: TestKernel
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
# Register each core kernel with the application
|
|
142
|
-
for kernel_name, kernel_cls in core_kernels.items():
|
|
143
|
-
self.instance(kernel_name, kernel_cls(self))
|
|
144
|
-
|
|
145
|
-
def __registerProvider(
|
|
146
|
-
self,
|
|
147
|
-
provider_cls: Type[IServiceProvider]
|
|
148
|
-
) -> IServiceProvider:
|
|
149
|
-
"""
|
|
150
|
-
Register a service provider with the application.
|
|
151
|
-
|
|
152
|
-
Parameters
|
|
153
|
-
----------
|
|
154
|
-
provider_cls : Type[IServiceProvider]
|
|
155
|
-
The service provider class to register
|
|
156
|
-
|
|
157
|
-
Returns
|
|
158
|
-
-------
|
|
159
|
-
IServiceProvider
|
|
160
|
-
The instantiated provider
|
|
161
|
-
|
|
162
|
-
Raises
|
|
163
|
-
------
|
|
164
|
-
TypeError
|
|
165
|
-
If the provided class doesn't implement IServiceProvider
|
|
166
|
-
"""
|
|
167
|
-
if not issubclass(provider_cls, IServiceProvider):
|
|
168
|
-
raise TypeError(f"Provider must implement IServiceProvider interface: {provider_cls.__name__}")
|
|
169
|
-
|
|
170
|
-
provider = provider_cls(self)
|
|
171
|
-
provider.register()
|
|
172
|
-
self.__providers.append(provider)
|
|
173
|
-
return provider
|
|
174
|
-
|
|
175
|
-
def __bootProviders(
|
|
176
|
-
self
|
|
177
|
-
) -> None:
|
|
178
|
-
"""
|
|
179
|
-
Boot all registered service providers.
|
|
180
|
-
|
|
181
|
-
This method is idempotent - calling it multiple times will only
|
|
182
|
-
boot the providers once.
|
|
183
|
-
|
|
184
|
-
Raises
|
|
185
|
-
------
|
|
186
|
-
TypeError
|
|
187
|
-
If any registered provider is not an instance of IServiceProvider
|
|
188
|
-
"""
|
|
189
|
-
if self.__booted:
|
|
190
|
-
return
|
|
191
|
-
|
|
192
|
-
for provider in self.__providers:
|
|
193
|
-
if not isinstance(provider, IServiceProvider):
|
|
194
|
-
raise TypeError(f"Expected IServiceProvider, got {type(provider).__name__}")
|
|
195
|
-
provider.boot()
|
|
196
|
-
|
|
197
|
-
self.__booted = True
|
|
198
|
-
|
|
199
|
-
def load(
|
|
200
|
-
self,
|
|
201
|
-
providers: List[Type[IServiceProvider]] = []
|
|
202
|
-
) -> None:
|
|
203
|
-
"""
|
|
204
|
-
Load and boot a list of service providers.
|
|
205
|
-
|
|
206
|
-
This method registers each provider and then boots all providers.
|
|
207
|
-
|
|
208
|
-
Parameters
|
|
209
|
-
----------
|
|
210
|
-
providers : List[Type[IServiceProvider]]
|
|
211
|
-
List of service provider classes to register and boot
|
|
212
|
-
|
|
213
|
-
Returns
|
|
214
|
-
-------
|
|
215
|
-
None
|
|
216
|
-
"""
|
|
217
|
-
|
|
218
|
-
# Register and boot each provided service provider
|
|
219
|
-
for provider_cls in providers:
|
|
220
|
-
self.__registerProvider(provider_cls)
|
|
221
|
-
|
|
222
|
-
# Boot all registered providers
|
|
223
|
-
self.__bootProviders()
|
|
224
|
-
|
|
225
|
-
def paths(
|
|
226
|
-
self,
|
|
227
|
-
paths: dict|Paths = None,
|
|
228
|
-
**kwargs
|
|
229
|
-
) -> Paths:
|
|
230
|
-
"""
|
|
231
|
-
Configure or retrieve the application paths.
|
|
232
|
-
|
|
233
|
-
This method configures the application's path settings using
|
|
234
|
-
the provided parameters or returns the current paths if no
|
|
235
|
-
parameters are provided.
|
|
236
|
-
|
|
237
|
-
Parameters
|
|
238
|
-
----------
|
|
239
|
-
paths : dict or Paths, optional
|
|
240
|
-
Dictionary of paths or a Paths instance to use as the
|
|
241
|
-
application's path configuration
|
|
242
|
-
**kwargs
|
|
243
|
-
Key-value pairs to create a Paths instance if a dict
|
|
244
|
-
or Paths object is not provided
|
|
245
|
-
|
|
246
|
-
Returns
|
|
247
|
-
-------
|
|
248
|
-
Paths
|
|
249
|
-
The current application Paths instance
|
|
250
|
-
|
|
251
|
-
Raises
|
|
252
|
-
------
|
|
253
|
-
ValueError
|
|
254
|
-
If the provided parameters cannot be used to create a valid Paths instance
|
|
255
|
-
"""
|
|
256
|
-
# Return existing paths if no arguments provided
|
|
257
|
-
if paths is None and not kwargs:
|
|
258
|
-
if self.__paths is None:
|
|
259
|
-
self.__paths = Paths()
|
|
260
|
-
return self.__paths
|
|
261
|
-
|
|
262
|
-
# Configure paths based on input type
|
|
263
|
-
try:
|
|
264
|
-
if isinstance(paths, Paths):
|
|
265
|
-
self.__paths = paths
|
|
266
|
-
elif isinstance(paths, dict):
|
|
267
|
-
self.__paths = Paths(**paths)
|
|
268
|
-
elif kwargs:
|
|
269
|
-
self.__paths = Paths(**kwargs)
|
|
270
|
-
else:
|
|
271
|
-
raise ValueError("Invalid paths configuration: must provide a Paths object, dictionary, or keyword arguments")
|
|
272
|
-
except Exception as e:
|
|
273
|
-
raise ValueError(f"Failed to configure application paths: {str(e)}")
|
|
274
|
-
|
|
275
|
-
# Return the configured paths
|
|
276
|
-
return self.__paths
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
from abc import abstractmethod
|
|
2
|
-
from typing import List, Type
|
|
3
|
-
from orionis.container.contracts.service_provider import IServiceProvider
|
|
4
|
-
from orionis.container.contracts.container import IContainer
|
|
5
|
-
|
|
6
|
-
class IApplication(IContainer):
|
|
7
|
-
"""
|
|
8
|
-
Abstract interface for application containers that manage service providers.
|
|
9
|
-
|
|
10
|
-
This interface extends IContainer to provide application-level functionality
|
|
11
|
-
including service provider management and application lifecycle operations.
|
|
12
|
-
|
|
13
|
-
By inheriting from IContainer, this interface provides access to all container
|
|
14
|
-
methods while adding application-specific functionality.
|
|
15
|
-
"""
|
|
16
|
-
|
|
17
|
-
@property
|
|
18
|
-
@abstractmethod
|
|
19
|
-
def isBooted(self) -> bool:
|
|
20
|
-
"""
|
|
21
|
-
Check if the application providers have been booted.
|
|
22
|
-
|
|
23
|
-
Returns
|
|
24
|
-
-------
|
|
25
|
-
bool
|
|
26
|
-
True if providers are booted, False otherwise
|
|
27
|
-
"""
|
|
28
|
-
pass
|
|
29
|
-
|
|
30
|
-
@abstractmethod
|
|
31
|
-
def load(self, providers: List[Type[IServiceProvider]] = []) -> None:
|
|
32
|
-
"""
|
|
33
|
-
Load and boot a list of service providers.
|
|
34
|
-
|
|
35
|
-
This method registers each provider and then boots all providers.
|
|
36
|
-
|
|
37
|
-
Parameters
|
|
38
|
-
----------
|
|
39
|
-
providers : List[Type[IServiceProvider]]
|
|
40
|
-
List of service provider classes to register and boot
|
|
41
|
-
|
|
42
|
-
Returns
|
|
43
|
-
-------
|
|
44
|
-
None
|
|
45
|
-
"""
|
|
46
|
-
pass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|