orionis 0.329.0__tar.gz → 0.330.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.329.0/orionis.egg-info → orionis-0.330.0}/PKG-INFO +1 -1
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/implements.py +1 -2
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/is_valid_alias.py +5 -0
- orionis-0.330.0/orionis/foundation/application.py +145 -0
- orionis-0.330.0/orionis/foundation/exceptions/value_error.py +19 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/concretes/reflection_concrete.py +5 -1
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/test_suite.py +0 -1
- {orionis-0.329.0 → orionis-0.330.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.329.0 → orionis-0.330.0}/orionis.egg-info/SOURCES.txt +4 -6
- orionis-0.329.0/orionis/_application.py +0 -232
- orionis-0.329.0/orionis/_contracts/container/container.py +0 -346
- orionis-0.329.0/orionis/_contracts/container/container_integrity.py +0 -168
- orionis-0.329.0/orionis/application.py +0 -10
- {orionis-0.329.0 → orionis-0.330.0}/LICENCE +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/MANIFEST.in +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/README.md +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/application.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/config/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/config/config.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/base/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/base/command.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/command_filter.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/kernel.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/output/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/output/console.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/output/executor.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/output/progress_bar.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/parser.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/console/task_manager.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/commands/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/commands/commands_facade.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/commands/scheduler_facade.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/config/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/config/config_facade.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/environment/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/environment/environment_facade.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/facade.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/files/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/files/path_facade.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/log/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/log/log_facade.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/tests/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/facades/tests/tests_facade.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/bootstraper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/config/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/config/config_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/console/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/console/command_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/environment/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/environment/environment_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/providers/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/foundation/providers/service_providers_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/providers/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/providers/service_provider.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/commands/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/commands/reactor_commands_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/commands/schedule_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/config/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/config/config_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/environment/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/environment/environment_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/files/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/files/path_resolver_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/log/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/services/log/log_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/support/exception_parse.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_contracts/support/reflection.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/console/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/console/command_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/environment/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/environment/environment_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/exceptions/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/exceptions/exception_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/exceptions/exception_providers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/foundation/config/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/foundation/config/config_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/providers/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_foundation/providers/service_providers_bootstrapper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_services/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_services/commands/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_services/commands/reactor_commands_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_services/commands/scheduler_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_services/config/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/_services/config/config_service.py +0 -0
- {orionis-0.329.0/orionis/_services/log → orionis-0.330.0/orionis/console}/__init__.py +0 -0
- {orionis-0.329.0/orionis/console → orionis-0.330.0/orionis/console/base}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/base/command.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/command_filter.py +0 -0
- {orionis-0.329.0/orionis/console/base → orionis-0.330.0/orionis/console/commands}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/commands/cache_clear.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/commands/help.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/commands/schedule_work.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/commands/version.py +0 -0
- {orionis-0.329.0/orionis/console/commands → orionis-0.330.0/orionis/console/dumper}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/dumper/dump_die.py +0 -0
- {orionis-0.329.0/orionis/console/dumper → orionis-0.330.0/orionis/console/exceptions}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/exceptions/cli-orionis-value-error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/exceptions/cli_exception.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/kernel.py +0 -0
- {orionis-0.329.0/orionis/console/exceptions → orionis-0.330.0/orionis/console/output}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/output/console.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/output/executor.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/output/progress_bar.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/output/styles.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/console/parser.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/container.py +0 -0
- {orionis-0.329.0/orionis/console/output → orionis-0.330.0/orionis/container/context}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/exceptions/attribute_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/exceptions/container_exception.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/exceptions/type_error_exception.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/exceptions/value_exception.py +0 -0
- {orionis-0.329.0/orionis/container/context → orionis-0.330.0/orionis/container/facades}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.329.0/orionis/container/facades → orionis-0.330.0/orionis/container/providers}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/resolver.py +0 -0
- {orionis-0.329.0/orionis/container/providers → orionis-0.330.0/orionis/container/validators}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.329.0/orionis/container/validators → orionis-0.330.0/orionis/foundation}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation → orionis-0.330.0/orionis/foundation/config}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config → orionis-0.330.0/orionis/foundation/config/app}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/app → orionis-0.330.0/orionis/foundation/config/app/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/app/entities → orionis-0.330.0/orionis/foundation/config/app/enums}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/app/enums → orionis-0.330.0/orionis/foundation/config/auth}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/auth → orionis-0.330.0/orionis/foundation/config/auth/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/auth/entities → orionis-0.330.0/orionis/foundation/config/cache}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/cache → orionis-0.330.0/orionis/foundation/config/cache/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/cache/entities → orionis-0.330.0/orionis/foundation/config/cache/enums}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/cache/enums → orionis-0.330.0/orionis/foundation/config/cors}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/cors → orionis-0.330.0/orionis/foundation/config/cors/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/cors/entities → orionis-0.330.0/orionis/foundation/config/database}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/database → orionis-0.330.0/orionis/foundation/config/database/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/database/entities → orionis-0.330.0/orionis/foundation/config/database/enums}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/database/enums → orionis-0.330.0/orionis/foundation/config/filesystems}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/filesystems → orionis-0.330.0/orionis/foundation/config/filesystems/entitites}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/filesystems/entitites → orionis-0.330.0/orionis/foundation/config/logging}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/logging → orionis-0.330.0/orionis/foundation/config/logging/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/logging/entities → orionis-0.330.0/orionis/foundation/config/logging/enums}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/logging/enums → orionis-0.330.0/orionis/foundation/config/mail}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/mail → orionis-0.330.0/orionis/foundation/config/mail/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/mail/entities → orionis-0.330.0/orionis/foundation/config/queue}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/queue → orionis-0.330.0/orionis/foundation/config/queue/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/queue/entities → orionis-0.330.0/orionis/foundation/config/roots}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/roots → orionis-0.330.0/orionis/foundation/config/session}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/session → orionis-0.330.0/orionis/foundation/config/session/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/session/entities → orionis-0.330.0/orionis/foundation/config/session/enums}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/session/enums → orionis-0.330.0/orionis/foundation/config/testing}/__init__.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/testing → orionis-0.330.0/orionis/foundation/config/testing/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/testing/entities → orionis-0.330.0/orionis/foundation/config/testing/enums}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/config/testing/enums/test_mode.py +0 -0
- {orionis-0.329.0/orionis/foundation/config/testing/enums → orionis-0.330.0/orionis/foundation/contracts}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/contracts/config.py +0 -0
- {orionis-0.329.0/orionis/foundation/contracts → orionis-0.330.0/orionis/foundation/exceptions}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/foundation/exceptions/integrity.py +0 -0
- {orionis-0.329.0/orionis/foundation/exceptions → orionis-0.330.0/orionis/metadata}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/metadata/package.py +0 -0
- {orionis-0.329.0/orionis/metadata → orionis-0.330.0/orionis/patterns}/__init__.py +0 -0
- {orionis-0.329.0/orionis/patterns → orionis-0.330.0/orionis/patterns/singleton}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/patterns/singleton/meta_class.py +0 -0
- {orionis-0.329.0/orionis/patterns/singleton → orionis-0.330.0/orionis/services}/__init__.py +0 -0
- {orionis-0.329.0/orionis/services → orionis-0.330.0/orionis/services/asynchrony}/__init__.py +0 -0
- {orionis-0.329.0/orionis/services/asynchrony → orionis-0.330.0/orionis/services/asynchrony/contracts}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.329.0/orionis/services/asynchrony/contracts → orionis-0.330.0/orionis/services/asynchrony/exceptions}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/asynchrony/exceptions/coroutine_exception.py +0 -0
- {orionis-0.329.0/orionis/services/asynchrony/exceptions → orionis-0.330.0/orionis/services/environment}/__init__.py +0 -0
- {orionis-0.329.0/orionis/services/environment → orionis-0.330.0/orionis/services/environment/contracts}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/environment/contracts/types.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/environment/dot_env.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.329.0/orionis/services/environment/contracts → orionis-0.330.0/orionis/services/environment/exceptions}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/environment/exceptions/environment_value_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/environment/exceptions/environment_value_exception.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/environment/types.py +0 -0
- {orionis-0.329.0/orionis/services/environment/exceptions → orionis-0.330.0/orionis/services/introspection}/__init__.py +0 -0
- {orionis-0.329.0/orionis/services/introspection → orionis-0.330.0/orionis/services/introspection/abstract}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/abstract/reflection_abstract.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/abstract → orionis-0.330.0/orionis/services/introspection/callables}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/callables/reflection_callable.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/callables → orionis-0.330.0/orionis/services/introspection/concretes}/__init__.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/concretes → orionis-0.330.0/orionis/services/introspection/contracts}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/contracts/reflect_dependencies.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/contracts/reflection_abstract.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/contracts/reflection_concrete.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/contracts/reflection_instance.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/contracts/reflection_module.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/contracts → orionis-0.330.0/orionis/services/introspection/dependencies}/__init__.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/dependencies → orionis-0.330.0/orionis/services/introspection/dependencies/entities}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/dependencies/entities/callable_dependencies.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/dependencies/entities/class_dependencies.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/dependencies/entities/method_dependencies.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/dependencies/entities/resolved_dependencies.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/dependencies/reflect_dependencies.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/dependencies/entities → orionis-0.330.0/orionis/services/introspection/exceptions}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/exceptions/reflection_attribute_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/exceptions/reflection_type_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/exceptions/reflection_value_error.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/exceptions → orionis-0.330.0/orionis/services/introspection/instances}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/instances/reflection_instance.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/instances → orionis-0.330.0/orionis/services/introspection/modules}/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/modules/reflection_module.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.329.0/orionis/services/introspection/modules → orionis-0.330.0/orionis/services/log}/__init__.py +0 -0
- {orionis-0.329.0/orionis/_services → orionis-0.330.0/orionis/services}/log/log_service.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/parsers/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/parsers/contracts/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/parsers/contracts/exception_parser.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/parsers/exceptions/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/parsers/exceptions/exception_parser.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/parsers/serializer.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/paths/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/paths/contracts/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/paths/contracts/resolver.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/paths/exceptions/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/paths/exceptions/not_found_exceptions.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/paths/exceptions/path_value_exceptions.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/paths/resolver.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/system/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/system/contracts/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/system/runtime_imports.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/standard/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/standard/contracts/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/standard/exceptions/std_value_exception.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/wrapper/dicts/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/support/wrapper/dicts/dot_dict.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/cases/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/cases/test_async.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/cases/test_case.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/cases/test_sync.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/contracts/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/contracts/history.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/contracts/test_unit.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/entities/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/entities/test_result.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/enums/test_mode.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/enums/test_status.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/exceptions/test_config_exception.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/exceptions/test_failure_exception.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/exceptions/test_persistence_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/exceptions/test_runtime_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/exceptions/test_value_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/logs/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/logs/history.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/output/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/suite/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/suite/test_unit.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/view/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/test/view/render.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis/unittesting.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/orionis.egg-info/zip-safe +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/setup.cfg +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/setup.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/example/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/example/test_example.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/app/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/auth/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/cache/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/cors/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/database/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/mail/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/queue/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/root/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/session/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/startup/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/testing/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/exceptions/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/foundation/exceptions/test_foundation_config_exceptions.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/metadata/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/metadata/test_metadata_framework.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/metadata/test_metadata_package.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/patterns/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/patterns/singleton/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/patterns/singleton/test_patterns_singleton.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/asynchrony/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/environment/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/environment/test_services_environment.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/dependencies/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/dependencies/mocks/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/dependencies/mocks/mock_user.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/dependencies/mocks/mock_user_controller.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/dependencies/mocks/mock_users_permissions.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/dependencies/test_reflect_dependencies.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/reflection/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/reflection/mock/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/reflection/mock/fake_reflect_instance.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/reflection/test_reflection_abstract.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/reflection/test_reflection_callable.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/reflection/test_reflection_concrete.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/reflection/test_reflection_instance.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/reflection/test_reflection_module.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/inspection/test_reflection.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/parsers/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/parsers/mocks/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/parsers/mocks/mock_custom_error.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/parsers/test_services_parser_exceptions.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/path/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/path/test_services_resolver.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/system/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/system/test_services_system_imports.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/services/system/test_services_system_workers.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/support/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/support/standard/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/support/standard/test_services_std.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/support/wrapper/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/testing/__init__.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/testing/test_testing_result.py +0 -0
- {orionis-0.329.0 → orionis-0.330.0}/tests/testing/test_testing_unit.py +0 -0
@@ -51,9 +51,8 @@ class _ImplementsAbstractMethods:
|
|
51
51
|
|
52
52
|
not_implemented = []
|
53
53
|
for method in abstract_methods:
|
54
|
-
# Considera métodos renombrados en clases concretas (_Abstract.m → _Concrete.m)
|
55
54
|
expected_method = str(method).replace(f"_{abstract_name}", f"_{target_name}")
|
56
|
-
if not
|
55
|
+
if not expected_method in target_class.__dict__:
|
57
56
|
not_implemented.append(method)
|
58
57
|
|
59
58
|
if not_implemented:
|
@@ -22,6 +22,11 @@ class _IsValidAlias:
|
|
22
22
|
OrionisContainerTypeError
|
23
23
|
If the value is not of type str or contains invalid characters.
|
24
24
|
"""
|
25
|
+
if value is None or value == "" or str(value).isspace():
|
26
|
+
raise OrionisContainerTypeError(
|
27
|
+
"Alias cannot be None, empty, or whitespace only."
|
28
|
+
)
|
29
|
+
|
25
30
|
if not isinstance(value, str):
|
26
31
|
raise OrionisContainerTypeError(
|
27
32
|
f"Expected a string type for alias, but got {type(value).__name__} instead."
|
@@ -0,0 +1,145 @@
|
|
1
|
+
from typing import Type, List
|
2
|
+
from orionis.container.container import Container
|
3
|
+
from orionis.container.contracts.service_provider import IServiceProvider
|
4
|
+
|
5
|
+
class App(Container):
|
6
|
+
"""
|
7
|
+
Application container that manages service providers.
|
8
|
+
|
9
|
+
This class extends the base Container functionality by adding
|
10
|
+
a service provider registration and boot system.
|
11
|
+
|
12
|
+
Attributes
|
13
|
+
----------
|
14
|
+
__providers : List[IServiceProvider]
|
15
|
+
List of registered service providers
|
16
|
+
__booted : bool
|
17
|
+
Flag indicating whether providers have been booted
|
18
|
+
"""
|
19
|
+
@property
|
20
|
+
def isBooted(self) -> bool:
|
21
|
+
"""
|
22
|
+
Check if the application providers have been booted.
|
23
|
+
|
24
|
+
Returns
|
25
|
+
-------
|
26
|
+
bool
|
27
|
+
True if providers are booted, False otherwise
|
28
|
+
"""
|
29
|
+
return self.__booted
|
30
|
+
|
31
|
+
def __init__(self) -> None:
|
32
|
+
"""
|
33
|
+
Initialize a new App instance.
|
34
|
+
|
35
|
+
Sets up the container and initializes the provider tracking system.
|
36
|
+
"""
|
37
|
+
super().__init__()
|
38
|
+
self.__providers: List[IServiceProvider] = []
|
39
|
+
self.__booted: bool = False
|
40
|
+
|
41
|
+
def __registerProvider(
|
42
|
+
self,
|
43
|
+
provider_cls: Type[IServiceProvider]
|
44
|
+
) -> IServiceProvider:
|
45
|
+
"""
|
46
|
+
Register a service provider with the application.
|
47
|
+
|
48
|
+
Parameters
|
49
|
+
----------
|
50
|
+
provider_cls : Type[IServiceProvider]
|
51
|
+
The service provider class to register
|
52
|
+
|
53
|
+
Returns
|
54
|
+
-------
|
55
|
+
IServiceProvider
|
56
|
+
The instantiated provider
|
57
|
+
|
58
|
+
Raises
|
59
|
+
------
|
60
|
+
TypeError
|
61
|
+
If the provided class doesn't implement IServiceProvider
|
62
|
+
"""
|
63
|
+
if not issubclass(provider_cls, IServiceProvider):
|
64
|
+
raise TypeError(f"Provider must implement IServiceProvider interface: {provider_cls.__name__}")
|
65
|
+
|
66
|
+
provider = provider_cls(self)
|
67
|
+
provider.register()
|
68
|
+
self.__providers.append(provider)
|
69
|
+
return provider
|
70
|
+
|
71
|
+
def __bootProviders(self) -> None:
|
72
|
+
"""
|
73
|
+
Boot all registered service providers.
|
74
|
+
|
75
|
+
This method is idempotent - calling it multiple times will only
|
76
|
+
boot the providers once.
|
77
|
+
|
78
|
+
Raises
|
79
|
+
------
|
80
|
+
TypeError
|
81
|
+
If any registered provider is not an instance of IServiceProvider
|
82
|
+
"""
|
83
|
+
if self.__booted:
|
84
|
+
return
|
85
|
+
|
86
|
+
for provider in self.__providers:
|
87
|
+
if not isinstance(provider, IServiceProvider):
|
88
|
+
raise TypeError(f"Expected IServiceProvider, got {type(provider).__name__}")
|
89
|
+
provider.boot()
|
90
|
+
|
91
|
+
self.__booted = True
|
92
|
+
|
93
|
+
def __loadFrameworkProviders(self) -> None:
|
94
|
+
"""
|
95
|
+
Load internal framework service providers.
|
96
|
+
|
97
|
+
This method should register core services required by the framework
|
98
|
+
before user-defined providers are loaded.
|
99
|
+
"""
|
100
|
+
core_providers = [
|
101
|
+
#...
|
102
|
+
]
|
103
|
+
|
104
|
+
for provider_cls in core_providers:
|
105
|
+
self.__registerProvider(provider_cls)
|
106
|
+
|
107
|
+
|
108
|
+
def load(self, providers: List[Type[IServiceProvider]]) -> None:
|
109
|
+
"""
|
110
|
+
Load and boot a list of service providers.
|
111
|
+
|
112
|
+
This method registers each provider and then boots all providers.
|
113
|
+
|
114
|
+
Parameters
|
115
|
+
----------
|
116
|
+
providers : List[Type[IServiceProvider]]
|
117
|
+
List of service provider classes to register and boot
|
118
|
+
|
119
|
+
Returns
|
120
|
+
-------
|
121
|
+
None
|
122
|
+
"""
|
123
|
+
|
124
|
+
# Load internal framework providers first
|
125
|
+
self.__loadFrameworkProviders()
|
126
|
+
|
127
|
+
# Register and boot each provided service provider
|
128
|
+
for provider_cls in providers:
|
129
|
+
self.__registerProvider(provider_cls)
|
130
|
+
|
131
|
+
# Boot all registered providers
|
132
|
+
self.__bootProviders()
|
133
|
+
|
134
|
+
def getProviders(self) -> List[IServiceProvider]:
|
135
|
+
"""
|
136
|
+
Get the list of registered providers.
|
137
|
+
|
138
|
+
Returns
|
139
|
+
-------
|
140
|
+
List[IServiceProvider]
|
141
|
+
The list of registered service providers
|
142
|
+
"""
|
143
|
+
|
144
|
+
# Return a copy to prevent external modification
|
145
|
+
return self.__providers.copy()
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class OrionisValueError(ValueError):
|
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])
|
{orionis-0.329.0 → orionis-0.330.0}/orionis/services/introspection/concretes/reflection_concrete.py
RENAMED
@@ -69,10 +69,14 @@ class ReflectionConcrete(IReflectionConcrete):
|
|
69
69
|
if not isinstance(concrete, type):
|
70
70
|
raise ReflectionTypeError(f"Expected a class type, got instance of '{type(concrete).__name__}'.")
|
71
71
|
|
72
|
-
#
|
72
|
+
# Check for ABC inheritance to catch interfaces
|
73
73
|
if abc.ABC in concrete.__bases__:
|
74
74
|
raise ReflectionValueError(f"Class '{concrete.__name__}' is an interface and cannot be used.")
|
75
75
|
|
76
|
+
# Check if the class has any abstract methods
|
77
|
+
if inspect.isabstract(concrete):
|
78
|
+
raise ReflectionValueError(f"Class '{concrete.__name__}' is an abstract class and cannot be used.")
|
79
|
+
|
76
80
|
return True
|
77
81
|
|
78
82
|
def __init__(self, concrete: Type) -> None:
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import re
|
2
2
|
from os import walk
|
3
|
-
from dataclasses import fields
|
4
3
|
from orionis.foundation.config.testing.entities.testing import Testing as Configuration
|
5
4
|
from orionis.test.exceptions.test_config_exception import OrionisTestConfigException
|
6
5
|
from orionis.test.suite.test_unit import UnitTest
|
@@ -3,8 +3,6 @@ MANIFEST.in
|
|
3
3
|
README.md
|
4
4
|
setup.py
|
5
5
|
orionis/__init__.py
|
6
|
-
orionis/_application.py
|
7
|
-
orionis/application.py
|
8
6
|
orionis/unittesting.py
|
9
7
|
orionis.egg-info/PKG-INFO
|
10
8
|
orionis.egg-info/SOURCES.txt
|
@@ -27,8 +25,6 @@ orionis/_contracts/console/output/__init__.py
|
|
27
25
|
orionis/_contracts/console/output/console.py
|
28
26
|
orionis/_contracts/console/output/executor.py
|
29
27
|
orionis/_contracts/console/output/progress_bar.py
|
30
|
-
orionis/_contracts/container/container.py
|
31
|
-
orionis/_contracts/container/container_integrity.py
|
32
28
|
orionis/_contracts/facades/__init__.py
|
33
29
|
orionis/_contracts/facades/facade.py
|
34
30
|
orionis/_contracts/facades/commands/__init__.py
|
@@ -88,8 +84,6 @@ orionis/_services/commands/reactor_commands_service.py
|
|
88
84
|
orionis/_services/commands/scheduler_service.py
|
89
85
|
orionis/_services/config/__init__.py
|
90
86
|
orionis/_services/config/config_service.py
|
91
|
-
orionis/_services/log/__init__.py
|
92
|
-
orionis/_services/log/log_service.py
|
93
87
|
orionis/console/__init__.py
|
94
88
|
orionis/console/command_filter.py
|
95
89
|
orionis/console/kernel.py
|
@@ -141,6 +135,7 @@ orionis/container/validators/is_subclass.py
|
|
141
135
|
orionis/container/validators/is_valid_alias.py
|
142
136
|
orionis/container/validators/lifetime.py
|
143
137
|
orionis/foundation/__init__.py
|
138
|
+
orionis/foundation/application.py
|
144
139
|
orionis/foundation/config/__init__.py
|
145
140
|
orionis/foundation/config/startup.py
|
146
141
|
orionis/foundation/config/app/__init__.py
|
@@ -230,6 +225,7 @@ orionis/foundation/contracts/__init__.py
|
|
230
225
|
orionis/foundation/contracts/config.py
|
231
226
|
orionis/foundation/exceptions/__init__.py
|
232
227
|
orionis/foundation/exceptions/integrity.py
|
228
|
+
orionis/foundation/exceptions/value_error.py
|
233
229
|
orionis/metadata/__init__.py
|
234
230
|
orionis/metadata/framework.py
|
235
231
|
orionis/metadata/package.py
|
@@ -282,6 +278,8 @@ orionis/services/introspection/instances/__init__.py
|
|
282
278
|
orionis/services/introspection/instances/reflection_instance.py
|
283
279
|
orionis/services/introspection/modules/__init__.py
|
284
280
|
orionis/services/introspection/modules/reflection_module.py
|
281
|
+
orionis/services/log/__init__.py
|
282
|
+
orionis/services/log/log_service.py
|
285
283
|
orionis/services/parsers/__init__.py
|
286
284
|
orionis/services/parsers/serializer.py
|
287
285
|
orionis/services/parsers/contracts/__init__.py
|
@@ -1,232 +0,0 @@
|
|
1
|
-
from typing import Dict, List, Type
|
2
|
-
from orionis._contracts.application import IApplication
|
3
|
-
from orionis._contracts.container.container import IContainer
|
4
|
-
from orionis._contracts.foundation.bootstraper import IBootstrapper
|
5
|
-
from orionis._contracts.providers.service_provider import IServiceProvider
|
6
|
-
from orionis._container.container import Container
|
7
|
-
# from orionis._foundation.config.config_bootstrapper import ConfigBootstrapper
|
8
|
-
from orionis._foundation.console.command_bootstrapper import CommandsBootstrapper
|
9
|
-
from orionis._foundation.environment.environment_bootstrapper import EnvironmentBootstrapper
|
10
|
-
from orionis._foundation.exceptions.exception_bootstrapper import BootstrapRuntimeError
|
11
|
-
from orionis._foundation.providers.service_providers_bootstrapper import ServiceProvidersBootstrapper
|
12
|
-
# from orionis.support.patterns.singleton import SingletonMeta
|
13
|
-
|
14
|
-
class Application:
|
15
|
-
"""
|
16
|
-
Main application class that follows the Singleton pattern.
|
17
|
-
|
18
|
-
This class manages service providers, environment variables, configurations,
|
19
|
-
and commands for the application lifecycle.
|
20
|
-
|
21
|
-
Attributes
|
22
|
-
----------
|
23
|
-
_booted : bool
|
24
|
-
Indicates whether the application has been booted.
|
25
|
-
_custom_providers : List[Type[IServiceProvider]]
|
26
|
-
Custom service providers defined by the developer.
|
27
|
-
_service_providers : List[Type[IServiceProvider]]
|
28
|
-
Core application service providers.
|
29
|
-
_config : Dict
|
30
|
-
Configuration settings of the application.
|
31
|
-
_commands : Dict
|
32
|
-
Registered console commands.
|
33
|
-
_env : Dict
|
34
|
-
Environment variables.
|
35
|
-
_container : IContainer
|
36
|
-
The service container instance.
|
37
|
-
"""
|
38
|
-
|
39
|
-
_booted: bool = False
|
40
|
-
|
41
|
-
def __init__(self):
|
42
|
-
"""
|
43
|
-
Initializes the application by setting up the service container and preparing
|
44
|
-
lists for custom service providers, service providers, configuration, commands,
|
45
|
-
and environment variables.
|
46
|
-
Attributes:
|
47
|
-
_custom_providers (List[Type[IServiceProvider]]): List to store custom service providers.
|
48
|
-
_service_providers (List[Type[IServiceProvider]]): List to store service providers.
|
49
|
-
_config (Dict): Dictionary to store configuration settings.
|
50
|
-
_commands (Dict): Dictionary to store commands.
|
51
|
-
_env (Dict): Dictionary to store environment variables.
|
52
|
-
_container (IContainer): The service container instance.
|
53
|
-
Registers the application instance in the service container.
|
54
|
-
"""
|
55
|
-
self._custom_providers: List[Type[IServiceProvider]] = []
|
56
|
-
self._service_providers: List[Type[IServiceProvider]] = []
|
57
|
-
self._config: Dict = {}
|
58
|
-
self._commands: Dict = {}
|
59
|
-
self._env: Dict = {}
|
60
|
-
self._container: IContainer = Container()
|
61
|
-
|
62
|
-
# Register the application instance in the service container
|
63
|
-
self._container.instance(IApplication, self)
|
64
|
-
|
65
|
-
@classmethod
|
66
|
-
def boot(cls) -> None:
|
67
|
-
"""
|
68
|
-
Marks the application as booted by setting the _booted class attribute to True.
|
69
|
-
"""
|
70
|
-
cls._booted = True
|
71
|
-
|
72
|
-
@classmethod
|
73
|
-
def isRunning(cls) -> bool:
|
74
|
-
"""
|
75
|
-
Checks if the application has been booted.
|
76
|
-
|
77
|
-
Returns
|
78
|
-
-------
|
79
|
-
bool
|
80
|
-
True if the application has been booted, otherwise False.
|
81
|
-
"""
|
82
|
-
return cls._booted
|
83
|
-
|
84
|
-
@classmethod
|
85
|
-
def getInstance(cls) -> "Application":
|
86
|
-
"""
|
87
|
-
Retrieves the singleton instance of the Application.
|
88
|
-
|
89
|
-
Returns
|
90
|
-
-------
|
91
|
-
Application
|
92
|
-
The current application instance.
|
93
|
-
|
94
|
-
Raises
|
95
|
-
------
|
96
|
-
RuntimeError
|
97
|
-
If the application instance does not exist.
|
98
|
-
"""
|
99
|
-
pass
|
100
|
-
# if cls not in SingletonMeta._instances:
|
101
|
-
# raise RuntimeError("Application instance does not exist. Please create an instance first.")
|
102
|
-
# return SingletonMeta._instances[cls]
|
103
|
-
|
104
|
-
@classmethod
|
105
|
-
def destroy(cls) -> None:
|
106
|
-
"""
|
107
|
-
Destroys the singleton instance of the application if it exists.
|
108
|
-
|
109
|
-
This method checks if the class has an instance in the SingletonMeta
|
110
|
-
instances dictionary and deletes it if found.
|
111
|
-
|
112
|
-
Returns
|
113
|
-
-------
|
114
|
-
None
|
115
|
-
"""
|
116
|
-
pass
|
117
|
-
# if cls in SingletonMeta._instances:
|
118
|
-
# del SingletonMeta._instances[cls]
|
119
|
-
|
120
|
-
def withProviders(self, providers: List[Type[IServiceProvider]] = None) -> "Application":
|
121
|
-
"""
|
122
|
-
This method allows you to specify a list of custom service providers
|
123
|
-
that will be used by the application. If no providers are specified,
|
124
|
-
an empty list will be used by default.
|
125
|
-
A list of service provider classes to be used by the application.
|
126
|
-
If not provided, defaults to an empty list.
|
127
|
-
Returns
|
128
|
-
-------
|
129
|
-
Application
|
130
|
-
The instance of the Application with the custom service providers set.
|
131
|
-
"""
|
132
|
-
self._custom_providers = providers or []
|
133
|
-
return self
|
134
|
-
|
135
|
-
def container(self) -> IContainer:
|
136
|
-
"""
|
137
|
-
Returns the service container instance.
|
138
|
-
|
139
|
-
Returns
|
140
|
-
-------
|
141
|
-
IContainer
|
142
|
-
The service container.
|
143
|
-
"""
|
144
|
-
return self._container
|
145
|
-
|
146
|
-
def create(self) -> None:
|
147
|
-
"""
|
148
|
-
Initializes and boots the application.
|
149
|
-
This method performs the following steps:
|
150
|
-
1. Boots the application by calling the `_bootstrapping` method.
|
151
|
-
2. Loads commands and service providers by calling the `_loadCommands` method.
|
152
|
-
3. Boots service providers asynchronously using `AsyncExecutor.run` on the `_bootServiceProviders` method.
|
153
|
-
4. Changes the application status to booted by calling `Application.boot`.
|
154
|
-
Returns
|
155
|
-
-------
|
156
|
-
None
|
157
|
-
"""
|
158
|
-
self._bootstrapping()
|
159
|
-
self._loadCommands()
|
160
|
-
# AsyncExecutor.run(self._bootServiceProviders())
|
161
|
-
Application.boot()
|
162
|
-
|
163
|
-
async def _bootServiceProviders(self) -> None:
|
164
|
-
"""
|
165
|
-
This method iterates over all registered service providers, registers them,
|
166
|
-
and calls their `boot` method if it exists and is callable.
|
167
|
-
Raises
|
168
|
-
------
|
169
|
-
RuntimeError
|
170
|
-
If an error occurs while booting a service provider, a RuntimeError is raised
|
171
|
-
with a message indicating which service provider failed and the original exception.
|
172
|
-
"""
|
173
|
-
for service in self._service_providers:
|
174
|
-
provider: IServiceProvider = service(app=self._container)
|
175
|
-
provider.register()
|
176
|
-
|
177
|
-
if hasattr(provider, 'boot') and callable(provider.boot):
|
178
|
-
try:
|
179
|
-
await provider.boot()
|
180
|
-
except Exception as e:
|
181
|
-
raise RuntimeError(f"Error booting service provider {service.__name__}: {e}") from e
|
182
|
-
|
183
|
-
def _bootstrapping(self) -> None:
|
184
|
-
"""
|
185
|
-
Initializes and loads essential components for the application.
|
186
|
-
This method sets up the environment variables, configurations, commands,
|
187
|
-
and service providers by utilizing their respective bootstrappers. It
|
188
|
-
iterates through a list of bootstrappers, updating or extending the
|
189
|
-
corresponding properties with the data provided by each bootstrapper.
|
190
|
-
Raises
|
191
|
-
------
|
192
|
-
BootstrapRuntimeError
|
193
|
-
If an error occurs during the bootstrapping process, an exception is
|
194
|
-
raised with details about the specific bootstrapper that failed.
|
195
|
-
"""
|
196
|
-
bootstrappers = [
|
197
|
-
{'property': self._env, 'instance': EnvironmentBootstrapper()},
|
198
|
-
# {'property': self._config, 'instance': ConfigBootstrapper()},
|
199
|
-
{'property': self._commands, 'instance': CommandsBootstrapper()},
|
200
|
-
{'property': self._service_providers, 'instance': ServiceProvidersBootstrapper(self._custom_providers)},
|
201
|
-
]
|
202
|
-
|
203
|
-
for bootstrapper in bootstrappers:
|
204
|
-
try:
|
205
|
-
property_ref: Dict = bootstrapper["property"]
|
206
|
-
bootstrapper_instance: IBootstrapper = bootstrapper["instance"]
|
207
|
-
if isinstance(property_ref, dict):
|
208
|
-
property_ref.update(bootstrapper_instance.get())
|
209
|
-
elif isinstance(property_ref, list):
|
210
|
-
property_ref.extend(bootstrapper_instance.get())
|
211
|
-
else:
|
212
|
-
property_ref = bootstrapper_instance.get()
|
213
|
-
except Exception as e:
|
214
|
-
raise BootstrapRuntimeError(f"Error bootstrapping {type(bootstrapper_instance).__name__}: {str(e)}") from e
|
215
|
-
|
216
|
-
def _loadCommands(self) -> None:
|
217
|
-
"""
|
218
|
-
This method iterates over the `_commands` dictionary and registers each command
|
219
|
-
in the service container as a transient service. The command's signature and
|
220
|
-
concrete implementation are retrieved from the dictionary and passed to the
|
221
|
-
container's `transient` method.
|
222
|
-
|
223
|
-
Parameters
|
224
|
-
----------
|
225
|
-
None
|
226
|
-
|
227
|
-
Returns
|
228
|
-
-------
|
229
|
-
None
|
230
|
-
"""
|
231
|
-
for command, data_command in self._commands.items():
|
232
|
-
self._container.transient(data_command.get('signature'), data_command.get('concrete'))
|