orionis 0.613.0__tar.gz → 0.614.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.613.0/orionis.egg-info → orionis-0.614.0}/PKG-INFO +1 -1
- orionis-0.614.0/orionis/container/providers/service_provider.py +72 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/application.py +70 -48
- orionis-0.614.0/orionis/foundation/exceptions/application.py +58 -0
- orionis-0.614.0/orionis/foundation/providers/catch_provider.py +28 -0
- orionis-0.614.0/orionis/foundation/providers/cli_request_provider.py +29 -0
- orionis-0.614.0/orionis/foundation/providers/console_provider.py +31 -0
- orionis-0.614.0/orionis/foundation/providers/directory_provider.py +29 -0
- orionis-0.614.0/orionis/foundation/providers/dumper_provider.py +29 -0
- orionis-0.614.0/orionis/foundation/providers/executor_provider.py +31 -0
- orionis-0.614.0/orionis/foundation/providers/inspirational_provider.py +28 -0
- orionis-0.614.0/orionis/foundation/providers/logger_provider.py +36 -0
- orionis-0.614.0/orionis/foundation/providers/performance_counter_provider.py +38 -0
- orionis-0.614.0/orionis/foundation/providers/progress_bar_provider.py +30 -0
- orionis-0.614.0/orionis/foundation/providers/reactor_provider.py +37 -0
- orionis-0.614.0/orionis/foundation/providers/scheduler_provider.py +29 -0
- orionis-0.614.0/orionis/foundation/providers/testing_provider.py +31 -0
- orionis-0.614.0/orionis/foundation/providers/workers_provider.py +39 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/metadata/framework.py +1 -1
- orionis-0.614.0/orionis/support/facades/application.py +22 -0
- orionis-0.614.0/orionis/support/facades/console.py +23 -0
- orionis-0.614.0/orionis/support/facades/directory.py +23 -0
- orionis-0.614.0/orionis/support/facades/dumper.py +22 -0
- orionis-0.614.0/orionis/support/facades/executor.py +24 -0
- orionis-0.614.0/orionis/support/facades/inspire.py +23 -0
- orionis-0.614.0/orionis/support/facades/logger.py +24 -0
- orionis-0.614.0/orionis/support/facades/performance_counter.py +23 -0
- orionis-0.614.0/orionis/support/facades/progress_bar.py +24 -0
- orionis-0.614.0/orionis/support/facades/reactor.py +23 -0
- orionis-0.614.0/orionis/support/facades/testing.py +22 -0
- orionis-0.614.0/orionis/support/facades/workers.py +22 -0
- {orionis-0.613.0 → orionis-0.614.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.613.0 → orionis-0.614.0}/orionis.egg-info/SOURCES.txt +0 -1
- orionis-0.613.0/orionis/container/providers/service_provider.py +0 -50
- orionis-0.613.0/orionis/foundation/contracts/config.py +0 -31
- orionis-0.613.0/orionis/foundation/exceptions/application.py +0 -11
- orionis-0.613.0/orionis/foundation/providers/catch_provider.py +0 -49
- orionis-0.613.0/orionis/foundation/providers/cli_request_provider.py +0 -44
- orionis-0.613.0/orionis/foundation/providers/console_provider.py +0 -65
- orionis-0.613.0/orionis/foundation/providers/directory_provider.py +0 -55
- orionis-0.613.0/orionis/foundation/providers/dumper_provider.py +0 -79
- orionis-0.613.0/orionis/foundation/providers/executor_provider.py +0 -80
- orionis-0.613.0/orionis/foundation/providers/inspirational_provider.py +0 -81
- orionis-0.613.0/orionis/foundation/providers/logger_provider.py +0 -79
- orionis-0.613.0/orionis/foundation/providers/performance_counter_provider.py +0 -64
- orionis-0.613.0/orionis/foundation/providers/progress_bar_provider.py +0 -85
- orionis-0.613.0/orionis/foundation/providers/reactor_provider.py +0 -88
- orionis-0.613.0/orionis/foundation/providers/scheduler_provider.py +0 -51
- orionis-0.613.0/orionis/foundation/providers/testing_provider.py +0 -77
- orionis-0.613.0/orionis/foundation/providers/workers_provider.py +0 -98
- orionis-0.613.0/orionis/support/facades/application.py +0 -24
- orionis-0.613.0/orionis/support/facades/console.py +0 -24
- orionis-0.613.0/orionis/support/facades/directory.py +0 -22
- orionis-0.613.0/orionis/support/facades/dumper.py +0 -23
- orionis-0.613.0/orionis/support/facades/executor.py +0 -25
- orionis-0.613.0/orionis/support/facades/inspire.py +0 -24
- orionis-0.613.0/orionis/support/facades/logger.py +0 -24
- orionis-0.613.0/orionis/support/facades/performance_counter.py +0 -22
- orionis-0.613.0/orionis/support/facades/progress_bar.py +0 -22
- orionis-0.613.0/orionis/support/facades/reactor.py +0 -23
- orionis-0.613.0/orionis/support/facades/testing.py +0 -23
- orionis-0.613.0/orionis/support/facades/workers.py +0 -22
- {orionis-0.613.0 → orionis-0.614.0}/LICENCE +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/MANIFEST.in +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/README.md +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/args/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/args/argument.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/base/command.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/base/scheduler.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/base/scheduler_event_listener.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/cache.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/help.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/make_listener.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/publisher.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/scheduler_list.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/scheduler_work.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/test.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/version.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/commands/workflow.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/base_command.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/base_scheduler.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/cli_request.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/command.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/console.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/debug.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/event.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/executor.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/kernel.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/progress_bar.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/reactor.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/schedule.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/contracts/schedule_event_listener.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/core/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/core/reactor.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/dumper/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/dumper/debug.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/dynamic/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/dynamic/progress_bar.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/command.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/event.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/event_job.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/scheduler_error.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/scheduler_event_data.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/scheduler_paused.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/scheduler_resumed.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/scheduler_shutdown.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/entities/scheduler_started.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/enums/actions.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/enums/listener.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/enums/styles.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/exceptions/cli_exceptions.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/fluent/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/fluent/command.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/fluent/event.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/kernel.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/output/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/output/console.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/output/executor.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/request/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/request/cli_request.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/stub/command.stub +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/stub/listener.stub +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/tasks/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/console/tasks/schedule.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/container.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/context/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/exceptions/container.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/facades/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/providers/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/base/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/base/handler.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/catch.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/contracts/catch.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/contracts/handler.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/failure/entities/throwable.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/app/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/auth/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cache/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cors/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/validators/level.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/logging/validators/path.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/mail/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/queue/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/roots/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/session/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/testing/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/contracts/application.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/foundation/providers/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/metadata/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/metadata/package.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/asynchrony/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/asynchrony/exceptions/asynchrony.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/encrypter/encrypter.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/contracts/caster.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/core/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/core/dot_env.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/dynamic/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/dynamic/caster.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/enums/value_type.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/exceptions/environment.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/helpers/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/helpers/functions.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/key/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/key/key_generator.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/validators/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/validators/key_name.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/environment/validators/types.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/file/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/file/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/file/contracts/directory.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/file/directory.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/inspirational/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/inspirational/inspire.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/inspirational/quotes.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/abstract/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/abstract/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/callables/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/callables/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/concretes/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/concretes/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/exceptions/introspection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/instances/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/instances/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/modules/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/modules/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/objects/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/objects/types.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/contracts/log_service.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/exceptions/log.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/handlers/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/handlers/filename.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/handlers/size_rotating.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/system/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/system/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/system/runtime/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/system/runtime/imports.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/entities/base.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/application.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/console.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/directory.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/dumper.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/executor.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/inspire.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/logger.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/performance_counter.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/progress_bar.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/reactor.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/testing.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/facades/workers.pyi +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/formatter/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/formatter/exceptions/parser.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/formatter/serializer.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/patterns/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/patterns/singleton/meta.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/performance/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/performance/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/performance/contracts/counter.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/performance/counter.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/standard/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/standard/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/standard/exceptions/standard.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/wrapper/dataclass.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/support/wrapper/dot_dict.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/cases/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/cases/asynchronous.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/cases/synchronous.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/contracts/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/contracts/kernel.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/contracts/logs.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/contracts/render.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/contracts/test_result.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/contracts/unit_test.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/core/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/core/unit_test.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/entities/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/entities/result.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/enums/status.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/exceptions/config.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/exceptions/failure.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/exceptions/persistence.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/exceptions/runtime.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/exceptions/value.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/kernel.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/output/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/records/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/records/logs.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/base_path.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/execution_mode.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/fail_fast.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/folder_path.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/module_name.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/name_pattern.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/pattern.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/persistent.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/persistent_driver.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/throw_exception.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/verbosity.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/web_report.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/validators/workers.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/view/__init__.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/view/render.py +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis/test/view/report.stub +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis.egg-info/not-zip-safe +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/setup.cfg +0 -0
- {orionis-0.613.0 → orionis-0.614.0}/setup.py +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
from orionis.container.contracts.service_provider import IServiceProvider
|
|
2
|
+
from orionis.foundation.contracts.application import IApplication
|
|
3
|
+
|
|
4
|
+
class ServiceProvider(IServiceProvider):
|
|
5
|
+
"""
|
|
6
|
+
Base class for service providers in the Orionis framework.
|
|
7
|
+
|
|
8
|
+
Service providers are responsible for registering and bootstrapping
|
|
9
|
+
services and components into the application container.
|
|
10
|
+
|
|
11
|
+
Parameters
|
|
12
|
+
----------
|
|
13
|
+
app : IApplication
|
|
14
|
+
The application container instance to which services will be registered.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, app: IApplication) -> None:
|
|
18
|
+
"""
|
|
19
|
+
Initialize a new ServiceProvider instance with the given application container.
|
|
20
|
+
|
|
21
|
+
Parameters
|
|
22
|
+
----------
|
|
23
|
+
app : IApplication
|
|
24
|
+
The application container instance to which this service provider will be attached.
|
|
25
|
+
|
|
26
|
+
Returns
|
|
27
|
+
-------
|
|
28
|
+
None
|
|
29
|
+
This constructor does not return a value.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
# Store the application container instance for use in service registration and bootstrapping
|
|
33
|
+
self.app = app
|
|
34
|
+
|
|
35
|
+
async def register(self) -> None:
|
|
36
|
+
"""
|
|
37
|
+
Register services and components into the application container.
|
|
38
|
+
|
|
39
|
+
This asynchronous method should be implemented by subclasses to bind services,
|
|
40
|
+
configurations, or other components to the application container. It is called
|
|
41
|
+
during the application's service registration phase.
|
|
42
|
+
|
|
43
|
+
Returns
|
|
44
|
+
-------
|
|
45
|
+
None
|
|
46
|
+
This method does not return a value.
|
|
47
|
+
|
|
48
|
+
Raises
|
|
49
|
+
------
|
|
50
|
+
NotImplementedError
|
|
51
|
+
If the method is not overridden in a subclass.
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
# Optionally overridden by subclasses to register services
|
|
55
|
+
pass
|
|
56
|
+
|
|
57
|
+
async def boot(self) -> None:
|
|
58
|
+
"""
|
|
59
|
+
Perform post-registration initialization or bootstrapping tasks.
|
|
60
|
+
|
|
61
|
+
This asynchronous method is called after all services have been registered.
|
|
62
|
+
Subclasses may override this method to initialize services, set up event listeners,
|
|
63
|
+
or perform other operations required at application boot time.
|
|
64
|
+
|
|
65
|
+
Returns
|
|
66
|
+
-------
|
|
67
|
+
None
|
|
68
|
+
This method does not return a value.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
# Optionally overridden by subclasses to perform boot-time operations
|
|
72
|
+
pass
|
|
@@ -23,7 +23,6 @@ from orionis.foundation.config.startup import Configuration
|
|
|
23
23
|
from orionis.foundation.config.testing.entities.testing import Testing
|
|
24
24
|
from orionis.foundation.contracts.application import IApplication
|
|
25
25
|
from orionis.foundation.exceptions import OrionisTypeError, OrionisRuntimeError, OrionisValueError
|
|
26
|
-
from orionis.services.asynchrony.coroutines import Coroutine
|
|
27
26
|
from orionis.services.log.contracts.log_service import ILogger
|
|
28
27
|
from orionis.support.wrapper.dataclass import DataClass
|
|
29
28
|
|
|
@@ -162,11 +161,7 @@ class Application(Container, IApplication):
|
|
|
162
161
|
|
|
163
162
|
# Register each kernel instance
|
|
164
163
|
for abstract, concrete in core_kernels.items():
|
|
165
|
-
self.instance(
|
|
166
|
-
abstract,
|
|
167
|
-
concrete(self),
|
|
168
|
-
alias=f"x-{abstract.__module__}.{abstract.__name__}"
|
|
169
|
-
)
|
|
164
|
+
self.instance(abstract, concrete(self), alias=f"x-{abstract.__module__}.{abstract.__name__}")
|
|
170
165
|
|
|
171
166
|
def __loadFrameworkProviders(
|
|
172
167
|
self
|
|
@@ -324,75 +319,102 @@ class Application(Container, IApplication):
|
|
|
324
319
|
"""
|
|
325
320
|
Instantiate and register all service providers in the container.
|
|
326
321
|
|
|
327
|
-
This method iterates through all
|
|
328
|
-
with the current application instance, and
|
|
329
|
-
to bind services into the dependency injection container.
|
|
330
|
-
|
|
322
|
+
This private method iterates through all service provider classes previously added to the application,
|
|
323
|
+
instantiates each provider with the current application instance, and invokes their `register()` method
|
|
324
|
+
to bind services into the dependency injection container. Both synchronous and asynchronous `register()`
|
|
325
|
+
methods are supported and handled appropriately.
|
|
326
|
+
|
|
327
|
+
After registration, the internal providers list is updated to contain the instantiated provider objects
|
|
328
|
+
instead of class references. This ensures that subsequent booting operations are performed on the actual
|
|
329
|
+
provider instances.
|
|
331
330
|
|
|
332
331
|
Notes
|
|
333
332
|
-----
|
|
334
|
-
This is
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
333
|
+
- This method is called automatically during application bootstrapping.
|
|
334
|
+
- Handles both coroutine and regular `register()` methods using `asyncio` when necessary.
|
|
335
|
+
- The providers list is updated in-place to hold provider instances.
|
|
336
|
+
|
|
337
|
+
Returns
|
|
338
|
+
-------
|
|
339
|
+
None
|
|
340
|
+
This method does not return any value. It updates the internal state of the application by
|
|
341
|
+
replacing the provider class references with their instantiated objects.
|
|
338
342
|
"""
|
|
339
343
|
|
|
340
|
-
#
|
|
344
|
+
# Prepare a list to hold initialized provider instances
|
|
341
345
|
initialized_providers = []
|
|
342
346
|
|
|
343
|
-
# Iterate over each provider
|
|
344
|
-
for
|
|
347
|
+
# Iterate over each provider class in the providers list
|
|
348
|
+
for provider_cls in self.__providers:
|
|
345
349
|
|
|
346
|
-
#
|
|
347
|
-
|
|
350
|
+
# Instantiate the provider with the current application instance
|
|
351
|
+
provider_instance = provider_cls(self)
|
|
348
352
|
|
|
349
|
-
#
|
|
350
|
-
|
|
351
|
-
if asyncio.iscoroutinefunction(class_provider.register):
|
|
352
|
-
Coroutine(class_provider.register).run()
|
|
353
|
-
else:
|
|
354
|
-
class_provider.register()
|
|
353
|
+
# Retrieve the 'register' method if it exists
|
|
354
|
+
register_method = getattr(provider_instance, 'register', None)
|
|
355
355
|
|
|
356
|
-
#
|
|
357
|
-
|
|
356
|
+
# If the register method exists, call it
|
|
357
|
+
if callable(register_method):
|
|
358
358
|
|
|
359
|
-
|
|
359
|
+
# If the register method is a coroutine, run it asynchronously
|
|
360
|
+
if asyncio.iscoroutinefunction(register_method):
|
|
361
|
+
asyncio.run(register_method())
|
|
362
|
+
|
|
363
|
+
# Otherwise, call it synchronously
|
|
364
|
+
else:
|
|
365
|
+
register_method()
|
|
366
|
+
|
|
367
|
+
# Add the initialized provider instance to the list
|
|
368
|
+
initialized_providers.append(provider_instance)
|
|
369
|
+
|
|
370
|
+
# Replace the providers list with the list of initialized provider instances
|
|
360
371
|
self.__providers = initialized_providers
|
|
361
372
|
|
|
362
373
|
def __bootProviders(
|
|
363
374
|
self
|
|
364
375
|
) -> None:
|
|
365
376
|
"""
|
|
366
|
-
|
|
377
|
+
Boot all registered service providers after registration.
|
|
378
|
+
|
|
379
|
+
This private method iterates through all instantiated service providers and calls their
|
|
380
|
+
`boot()` method to perform any post-registration initialization. This two-phase approach
|
|
381
|
+
ensures that all dependencies are registered before any provider attempts to use them.
|
|
382
|
+
Both synchronous and asynchronous `boot()` methods are supported.
|
|
367
383
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
two-phase process ensures all dependencies are available before any
|
|
371
|
-
provider attempts to use them. Supports both synchronous and asynchronous
|
|
372
|
-
boot methods.
|
|
384
|
+
After all providers have been booted, the internal providers list is cleared to free memory,
|
|
385
|
+
as provider instances are no longer needed after initialization.
|
|
373
386
|
|
|
374
387
|
Notes
|
|
375
388
|
-----
|
|
376
|
-
This is
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
after
|
|
389
|
+
- This method is called automatically during application bootstrapping, after all providers
|
|
390
|
+
have been registered.
|
|
391
|
+
- Supports both synchronous and asynchronous `boot()` methods on providers.
|
|
392
|
+
- The providers list is cleared after booting to prevent memory leaks.
|
|
393
|
+
|
|
394
|
+
Returns
|
|
395
|
+
-------
|
|
396
|
+
None
|
|
397
|
+
This method does not return any value.
|
|
380
398
|
"""
|
|
381
399
|
|
|
382
|
-
# Iterate over each provider and boot
|
|
400
|
+
# Iterate over each initialized provider and call its boot method if available
|
|
383
401
|
for provider in self.__providers:
|
|
384
402
|
|
|
385
|
-
#
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
403
|
+
# Get the boot method if it exists
|
|
404
|
+
boot_method = getattr(provider, 'boot', None)
|
|
405
|
+
|
|
406
|
+
if callable(boot_method):
|
|
407
|
+
|
|
408
|
+
# If the boot method is a coroutine, run it asynchronously
|
|
409
|
+
if asyncio.iscoroutinefunction(boot_method):
|
|
410
|
+
asyncio.run(boot_method())
|
|
411
|
+
|
|
412
|
+
# Otherwise, call it synchronously
|
|
390
413
|
else:
|
|
391
|
-
|
|
414
|
+
boot_method()
|
|
392
415
|
|
|
393
|
-
#
|
|
394
|
-
|
|
395
|
-
del self.__providers
|
|
416
|
+
# Clear the providers list to free memory after booting is complete
|
|
417
|
+
self.__providers.clear()
|
|
396
418
|
|
|
397
419
|
# === Application Skeleton Configuration Methods ===
|
|
398
420
|
# The Orionis framework provides methods to configure each component of the application,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
class OrionisIntegrityException(Exception):
|
|
2
|
+
"""
|
|
3
|
+
Exception raised for integrity-related errors in the Orionis framework.
|
|
4
|
+
|
|
5
|
+
This exception is intended to signal violations of data integrity or
|
|
6
|
+
consistency constraints within the application.
|
|
7
|
+
|
|
8
|
+
Returns
|
|
9
|
+
-------
|
|
10
|
+
OrionisIntegrityException
|
|
11
|
+
An instance of the exception.
|
|
12
|
+
"""
|
|
13
|
+
pass # No additional logic; inherits from base Exception
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class OrionisRuntimeError(RuntimeError):
|
|
17
|
+
"""
|
|
18
|
+
Exception raised for runtime errors specific to the Orionis framework.
|
|
19
|
+
|
|
20
|
+
This exception should be used when an error occurs that is only detectable
|
|
21
|
+
during program execution.
|
|
22
|
+
|
|
23
|
+
Returns
|
|
24
|
+
-------
|
|
25
|
+
OrionisRuntimeError
|
|
26
|
+
An instance of the exception.
|
|
27
|
+
"""
|
|
28
|
+
pass # Inherits from Python's built-in RuntimeError
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class OrionisTypeError(TypeError):
|
|
32
|
+
"""
|
|
33
|
+
Exception raised for type errors in the Orionis framework.
|
|
34
|
+
|
|
35
|
+
This exception is used when an operation or function receives an argument
|
|
36
|
+
of an inappropriate type.
|
|
37
|
+
|
|
38
|
+
Returns
|
|
39
|
+
-------
|
|
40
|
+
OrionisTypeError
|
|
41
|
+
An instance of the exception.
|
|
42
|
+
"""
|
|
43
|
+
pass # Inherits from Python's built-in TypeError
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class OrionisValueError(ValueError):
|
|
47
|
+
"""
|
|
48
|
+
Exception raised for value errors in the Orionis framework.
|
|
49
|
+
|
|
50
|
+
This exception is used when an operation or function receives an argument
|
|
51
|
+
with the right type but an inappropriate value.
|
|
52
|
+
|
|
53
|
+
Returns
|
|
54
|
+
-------
|
|
55
|
+
OrionisValueError
|
|
56
|
+
An instance of the exception.
|
|
57
|
+
"""
|
|
58
|
+
pass # Inherits from Python's built-in ValueError
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
2
|
+
from orionis.failure.catch import Catch
|
|
3
|
+
from orionis.failure.contracts.catch import ICatch
|
|
4
|
+
|
|
5
|
+
class CathcProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the Catch service as a singleton in the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `ICatch` interface to the `Catch` implementation as a singleton,
|
|
12
|
+
using a specific alias. This ensures that only one instance of `Catch` is created and
|
|
13
|
+
shared throughout the application's lifecycle. The binding allows the application to
|
|
14
|
+
resolve dependencies on `ICatch` with the registered `Catch` instance.
|
|
15
|
+
|
|
16
|
+
Parameters
|
|
17
|
+
----------
|
|
18
|
+
None
|
|
19
|
+
|
|
20
|
+
Returns
|
|
21
|
+
-------
|
|
22
|
+
None
|
|
23
|
+
This method does not return any value. It performs the registration as a side effect.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
# Register the Catch implementation as a singleton for the ICatch interface
|
|
27
|
+
# The alias allows for explicit resolution by name if needed
|
|
28
|
+
self.app.singleton(ICatch, Catch, alias="x-orionis.failure.contracts.catch.ICatch")
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from orionis.console.contracts.cli_request import ICLIRequest
|
|
2
|
+
from orionis.console.request.cli_request import CLIRequest
|
|
3
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
4
|
+
|
|
5
|
+
class CLRequestProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the CLI request services in the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `ICLIRequest` interface to the `CLIRequest` implementation
|
|
12
|
+
as a transient service within the application's dependency injection container.
|
|
13
|
+
By registering this binding, any component that depends on `ICLIRequest` will
|
|
14
|
+
receive a new instance of `CLIRequest` each time it is resolved. The binding is
|
|
15
|
+
also associated with a specific alias for reference within the container.
|
|
16
|
+
|
|
17
|
+
Parameters
|
|
18
|
+
----------
|
|
19
|
+
None
|
|
20
|
+
|
|
21
|
+
Returns
|
|
22
|
+
-------
|
|
23
|
+
None
|
|
24
|
+
This method does not return any value. It performs registration as a side effect.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
# Bind the ICLIRequest interface to the CLIRequest implementation as a transient service.
|
|
28
|
+
# Each resolution of ICLIRequest will provide a new CLIRequest instance.
|
|
29
|
+
self.app.transient(ICLIRequest, CLIRequest, alias="x-orionis.console.contracts.cli_request.ICLIRequest")
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from orionis.console.output.console import Console
|
|
2
|
+
from orionis.console.contracts.console import IConsole
|
|
3
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
4
|
+
|
|
5
|
+
class ConsoleProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the console output service within the application's dependency injection container.
|
|
10
|
+
|
|
11
|
+
This method binds the `IConsole` interface to its concrete `Console` implementation,
|
|
12
|
+
enabling console output functionality to be injected wherever required in the application.
|
|
13
|
+
The service is registered as a transient dependency, ensuring that a new instance of
|
|
14
|
+
`Console` is created each time the service is resolved from the container. The registration
|
|
15
|
+
uses a predefined alias to maintain consistent service identification and facilitate
|
|
16
|
+
straightforward service resolution throughout the framework.
|
|
17
|
+
|
|
18
|
+
Parameters
|
|
19
|
+
----------
|
|
20
|
+
None
|
|
21
|
+
|
|
22
|
+
Returns
|
|
23
|
+
-------
|
|
24
|
+
None
|
|
25
|
+
This method does not return any value. It performs side effects by
|
|
26
|
+
modifying the application's service container to register the console service.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
# Register the IConsole interface to the Console implementation as a transient service.
|
|
30
|
+
# This ensures a new Console instance is provided on each resolution.
|
|
31
|
+
self.app.transient(IConsole, Console, alias="x-orionis.console.contracts.console.IConsole")
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
2
|
+
from orionis.services.file.contracts.directory import IDirectory
|
|
3
|
+
from orionis.services.file.directory import Directory
|
|
4
|
+
|
|
5
|
+
class DirectoryProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the directory service as a singleton within the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `IDirectory` interface to its concrete implementation `Directory`
|
|
12
|
+
as a singleton. The binding is associated with a specific alias, ensuring that only one
|
|
13
|
+
instance of `Directory` is created and shared across the application's lifecycle. This
|
|
14
|
+
promotes efficient resource usage and consistent behavior when accessing directory-related
|
|
15
|
+
services.
|
|
16
|
+
|
|
17
|
+
Parameters
|
|
18
|
+
----------
|
|
19
|
+
None
|
|
20
|
+
|
|
21
|
+
Returns
|
|
22
|
+
-------
|
|
23
|
+
None
|
|
24
|
+
This method does not return any value. It performs registration as a side effect.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
# Bind the IDirectory interface to the Directory implementation as a singleton.
|
|
28
|
+
# The alias ensures unique identification within the container.
|
|
29
|
+
self.app.singleton(IDirectory, Directory, alias="x-orionis.services.file.contracts.directory.IDirectory")
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from orionis.console.dumper.debug import Debug
|
|
2
|
+
from orionis.console.contracts.debug import IDebug
|
|
3
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
4
|
+
|
|
5
|
+
class DumperProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the debug service in the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `IDebug` interface to its concrete implementation, the `Debug` class,
|
|
12
|
+
within the application's dependency injection container. The service is registered as
|
|
13
|
+
transient, ensuring that a new instance is created each time it is requested. Additionally,
|
|
14
|
+
an alias is assigned to the service for convenient retrieval throughout the application.
|
|
15
|
+
|
|
16
|
+
This registration enables the application to resolve dependencies related to debugging,
|
|
17
|
+
error reporting, and console diagnostics by referencing the interface or its alias.
|
|
18
|
+
|
|
19
|
+
Returns
|
|
20
|
+
-------
|
|
21
|
+
None
|
|
22
|
+
This method does not return any value. It performs side effects by modifying
|
|
23
|
+
the application's service registry.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
# Register the Debug service as a transient binding for the IDebug interface.
|
|
27
|
+
# A new instance of Debug will be created each time it is requested.
|
|
28
|
+
# The alias allows for easy retrieval of the service elsewhere in the application.
|
|
29
|
+
self.app.transient(IDebug, Debug, alias=f"x-orionis.console.contracts.debug.IDebug")
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from orionis.console.contracts.executor import IExecutor
|
|
2
|
+
from orionis.console.output.executor import Executor
|
|
3
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
4
|
+
|
|
5
|
+
class ConsoleExecuteProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the console executor service within the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `IExecutor` interface to its concrete `Executor` implementation
|
|
12
|
+
as a transient service. Each time the service is requested from the container, a new
|
|
13
|
+
instance of `Executor` is created, ensuring isolated execution contexts for console
|
|
14
|
+
operations. The service is registered with the alias
|
|
15
|
+
`"x-orionis.console.contracts.executor.IExecutor"` for convenient retrieval and
|
|
16
|
+
identification within the dependency injection container.
|
|
17
|
+
|
|
18
|
+
Parameters
|
|
19
|
+
----------
|
|
20
|
+
None
|
|
21
|
+
|
|
22
|
+
Returns
|
|
23
|
+
-------
|
|
24
|
+
None
|
|
25
|
+
This method does not return any value. It performs the side effect of
|
|
26
|
+
registering the executor service binding in the application container.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
# Bind the IExecutor interface to the Executor implementation as a transient service.
|
|
30
|
+
# This ensures a new Executor instance is created on each request.
|
|
31
|
+
self.app.transient(IExecutor, Executor, alias="x-orionis.console.contracts.executor.IExecutor")
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
2
|
+
from orionis.services.inspirational.contracts.inspire import IInspire
|
|
3
|
+
from orionis.services.inspirational.inspire import Inspire
|
|
4
|
+
|
|
5
|
+
class InspirationalProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the inspirational service as a transient binding in the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `IInspire` interface to its concrete implementation `Inspire`
|
|
12
|
+
as a transient service within the application's service container. Each time the
|
|
13
|
+
service is requested, a new instance of `Inspire` will be provided. The service is
|
|
14
|
+
also registered with a specific alias to facilitate convenient resolution and
|
|
15
|
+
identification throughout the application.
|
|
16
|
+
|
|
17
|
+
This registration enables dependency injection, allowing other components to
|
|
18
|
+
receive an instance of `Inspire` whenever the `IInspire` contract is requested.
|
|
19
|
+
|
|
20
|
+
Returns
|
|
21
|
+
-------
|
|
22
|
+
None
|
|
23
|
+
This method does not return any value. It performs service registration as a side effect.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
# Register the IInspire contract to the Inspire implementation as a transient service.
|
|
27
|
+
# Each resolution from the container will provide a new instance.
|
|
28
|
+
self.app.transient(IInspire, Inspire, alias="x-orionis.services.inspirational.contracts.inspire.IInspire")
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
2
|
+
from orionis.services.log.contracts.log_service import ILogger
|
|
3
|
+
from orionis.services.log.log_service import Logger
|
|
4
|
+
|
|
5
|
+
class LoggerProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the Logger service implementation in the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `Logger` class to the `ILogger` contract within the application's
|
|
12
|
+
dependency injection container. It retrieves the logging configuration from the application,
|
|
13
|
+
creates a `Logger` instance using this configuration, and registers it with an alias for
|
|
14
|
+
internal framework identification. This setup allows the logging service to be resolved
|
|
15
|
+
and used throughout the application via the container.
|
|
16
|
+
|
|
17
|
+
Parameters
|
|
18
|
+
----------
|
|
19
|
+
None
|
|
20
|
+
|
|
21
|
+
Returns
|
|
22
|
+
-------
|
|
23
|
+
None
|
|
24
|
+
This method does not return any value. It performs service registration
|
|
25
|
+
as a side effect on the application container.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
# Retrieve the logging configuration from the application
|
|
29
|
+
logging_config = self.app.config('logging')
|
|
30
|
+
|
|
31
|
+
# Instantiate the Logger with the retrieved configuration
|
|
32
|
+
logger_instance = Logger(logging_config)
|
|
33
|
+
|
|
34
|
+
# Register the Logger instance in the application container,
|
|
35
|
+
# binding it to the ILogger contract and assigning an alias
|
|
36
|
+
self.app.instance(ILogger, logger_instance, alias="x-orionis.services.log.contracts.log_service.ILogger")
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
2
|
+
from orionis.support.performance.contracts.counter import IPerformanceCounter
|
|
3
|
+
from orionis.support.performance.counter import PerformanceCounter
|
|
4
|
+
|
|
5
|
+
class PerformanceCounterProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the performance counter service as a transient dependency in the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `IPerformanceCounter` interface to the `PerformanceCounter` implementation
|
|
12
|
+
within the application's dependency injection container. The binding uses a transient lifetime,
|
|
13
|
+
ensuring that each resolution of the service provides a new instance of `PerformanceCounter`.
|
|
14
|
+
This is useful for scenarios where independent timing or measurement operations are required
|
|
15
|
+
across different parts of the application.
|
|
16
|
+
|
|
17
|
+
An alias, `"x-orionis.support.performance.contracts.counter.IPerformanceCounter"`, is also
|
|
18
|
+
assigned to this binding, enabling alternative resolution or referencing of the service by name.
|
|
19
|
+
|
|
20
|
+
Parameters
|
|
21
|
+
----------
|
|
22
|
+
None
|
|
23
|
+
|
|
24
|
+
Returns
|
|
25
|
+
-------
|
|
26
|
+
None
|
|
27
|
+
This method does not return any value. It performs service registration as a side effect.
|
|
28
|
+
|
|
29
|
+
Notes
|
|
30
|
+
-----
|
|
31
|
+
- The transient lifetime ensures that each consumer receives a separate instance of the service.
|
|
32
|
+
- The alias allows for flexible service resolution by a specific name.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
# Register the IPerformanceCounter interface to the PerformanceCounter implementation
|
|
36
|
+
# with a transient lifetime. Each resolution yields a new instance.
|
|
37
|
+
# Assign an alias for alternative resolution by name.
|
|
38
|
+
self.app.transient(IPerformanceCounter, PerformanceCounter, alias="x-orionis.support.performance.contracts.counter.IPerformanceCounter")
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from orionis.console.contracts.progress_bar import IProgressBar
|
|
2
|
+
from orionis.console.dynamic.progress_bar import ProgressBar
|
|
3
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
4
|
+
|
|
5
|
+
class ProgressBarProvider(ServiceProvider):
|
|
6
|
+
|
|
7
|
+
def register(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Registers the progress bar service in the application container.
|
|
10
|
+
|
|
11
|
+
This method binds the `IProgressBar` interface to its concrete implementation,
|
|
12
|
+
`ProgressBar`, using transient lifetime management. The service is registered
|
|
13
|
+
with a specific alias for easy identification and retrieval from the container.
|
|
14
|
+
Transient lifetime ensures that a new instance of `ProgressBar` is created
|
|
15
|
+
each time the `IProgressBar` interface is resolved.
|
|
16
|
+
|
|
17
|
+
Parameters
|
|
18
|
+
----------
|
|
19
|
+
None
|
|
20
|
+
|
|
21
|
+
Returns
|
|
22
|
+
-------
|
|
23
|
+
None
|
|
24
|
+
This method does not return any value. It registers the service as a side effect
|
|
25
|
+
on the application container.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
# Register the ProgressBar implementation as a transient service for IProgressBar.
|
|
29
|
+
# The alias allows for explicit retrieval from the container if needed.
|
|
30
|
+
self.app.transient(IProgressBar, ProgressBar, alias="x-orionis.console.contracts.progress_bar.IProgressBar")
|