orionis 0.652.0__tar.gz → 0.653.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.652.0/orionis.egg-info → orionis-0.653.0}/PKG-INFO +1 -1
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/container.py +148 -108
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/application.py +1 -7
- {orionis-0.652.0 → orionis-0.653.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.652.0 → orionis-0.653.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.652.0 → orionis-0.653.0}/LICENCE +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/MANIFEST.in +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/README.md +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/args/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/args/argument.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/base/command.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/base/scheduler.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/base/scheduler_event_listener.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/__publisher__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/__workflow__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/cache_clear.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/help.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/log_clear.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/make_command.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/scheduler_list.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/scheduler_work.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/test.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/commands/version.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/base_command.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/base_scheduler.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/cli_request.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/command.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/console.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/dumper.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/event.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/executor.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/kernel.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/progress_bar.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/reactor.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/schedule.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/contracts/schedule_event_listener.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/core/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/core/reactor.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/debug/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/debug/dumper.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/dynamic/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/dynamic/progress_bar.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/command.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/event.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/event_job.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/scheduler_error.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/scheduler_event_data.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/scheduler_paused.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/scheduler_resumed.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/scheduler_shutdown.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/entities/scheduler_started.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/enums/actions.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/enums/listener.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/enums/styles.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/exceptions/cli_exceptions.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/fluent/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/fluent/command.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/fluent/event.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/kernel.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/output/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/output/console.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/output/executor.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/request/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/request/cli_request.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/stubs/command.stub +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/stubs/listener.stub +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/tasks/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/console/tasks/schedule.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/context/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/exceptions/container.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/facades/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/providers/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/base/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/base/handler.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/catch.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/contracts/catch.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/contracts/handler.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/failure/entities/throwable.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/app/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/auth/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cache/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cors/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/validators/level.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/logging/validators/path.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/mail/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/queue/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/roots/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/session/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/testing/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/contracts/application.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/exceptions/application.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/catch_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/cli_request_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/console_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/directory_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/dumper_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/executor_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/logger_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/reactor_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/testing_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/foundation/providers/workers_provider.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/metadata/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/metadata/package.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/asynchrony/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/asynchrony/exceptions/asynchrony.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/encrypter/encrypter.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/contracts/caster.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/core/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/core/dot_env.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/dynamic/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/dynamic/caster.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/enums/value_type.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/exceptions/environment.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/helpers/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/helpers/functions.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/key/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/key/key_generator.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/validators/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/validators/key_name.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/environment/validators/types.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/file/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/file/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/file/contracts/directory.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/file/directory.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/inspirational/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/inspirational/inspire.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/inspirational/quotes.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/abstract/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/abstract/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/callables/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/callables/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/concretes/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/concretes/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/exceptions/introspection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/instances/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/instances/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/modules/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/modules/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/objects/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/objects/types.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/contracts/log_service.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/exceptions/log.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/handlers/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/handlers/filename.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/handlers/size_rotating.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/system/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/system/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/system/runtime/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/system/runtime/imports.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/entities/base.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/application.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/application.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/console.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/console.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/directory.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/directory.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/dumper.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/dumper.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/executor.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/executor.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/inspire.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/inspire.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/logger.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/logger.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/performance_counter.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/performance_counter.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/progress_bar.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/progress_bar.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/reactor.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/reactor.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/testing.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/testing.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/workers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/facades/workers.pyi +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/formatter/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/formatter/exceptions/parser.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/formatter/serializer.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/patterns/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/patterns/singleton/meta.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/performance/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/performance/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/performance/contracts/counter.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/performance/counter.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/standard/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/standard/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/standard/exceptions/standard.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/wrapper/dataclass.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/support/wrapper/dot_dict.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/cases/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/cases/asynchronous.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/cases/synchronous.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/contracts/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/contracts/kernel.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/contracts/logs.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/contracts/render.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/contracts/test_result.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/contracts/unit_test.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/core/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/core/unit_test.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/entities/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/entities/result.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/enums/status.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/exceptions/config.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/exceptions/failure.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/exceptions/persistence.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/exceptions/runtime.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/exceptions/value.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/kernel.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/output/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/records/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/records/logs.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/base_path.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/execution_mode.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/fail_fast.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/folder_path.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/module_name.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/name_pattern.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/pattern.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/persistent.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/persistent_driver.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/throw_exception.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/verbosity.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/web_report.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/validators/workers.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/view/__init__.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/view/render.py +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis/test/view/report.stub +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis.egg-info/SOURCES.txt +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis.egg-info/not-zip-safe +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/setup.cfg +0 -0
- {orionis-0.652.0 → orionis-0.653.0}/setup.py +0 -0
|
@@ -487,6 +487,12 @@ class Container(IContainer):
|
|
|
487
487
|
"""
|
|
488
488
|
Registers a service with a transient lifetime.
|
|
489
489
|
|
|
490
|
+
This method binds a concrete implementation to an abstract base type or interface
|
|
491
|
+
in the container, ensuring that a new instance of the concrete class is created
|
|
492
|
+
each time the service is requested. It validates the abstract and concrete types,
|
|
493
|
+
enforces decoupling rules if specified, checks that all abstract methods are implemented,
|
|
494
|
+
and manages service aliases.
|
|
495
|
+
|
|
490
496
|
Parameters
|
|
491
497
|
----------
|
|
492
498
|
abstract : Callable[..., Any]
|
|
@@ -497,13 +503,14 @@ class Container(IContainer):
|
|
|
497
503
|
An alternative name to register the service under. If not provided, a default alias is generated
|
|
498
504
|
using the abstract's module and class name.
|
|
499
505
|
enforce_decoupling : bool, optional
|
|
500
|
-
If True, enforces that the concrete class does NOT inherit from the abstract class.
|
|
501
|
-
requires that the concrete class is a subclass of the abstract.
|
|
506
|
+
If True, enforces that the concrete class does NOT inherit from the abstract class.
|
|
507
|
+
If False, requires that the concrete class is a subclass of the abstract.
|
|
502
508
|
|
|
503
509
|
Returns
|
|
504
510
|
-------
|
|
505
511
|
bool or None
|
|
506
|
-
Returns True if the service was registered successfully.
|
|
512
|
+
Returns True if the service was registered successfully.
|
|
513
|
+
Returns None if registration fails due to an exception.
|
|
507
514
|
|
|
508
515
|
Raises
|
|
509
516
|
------
|
|
@@ -514,11 +521,12 @@ class Container(IContainer):
|
|
|
514
521
|
|
|
515
522
|
Notes
|
|
516
523
|
-----
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
abstract and concrete types, checks decoupling rules, ensures all abstract methods
|
|
520
|
-
|
|
521
|
-
it is removed before registering
|
|
524
|
+
- Registers the given concrete implementation to the abstract type with a transient lifetime,
|
|
525
|
+
meaning a new instance will be created each time the service is requested.
|
|
526
|
+
- Validates the abstract and concrete types, checks decoupling rules, ensures all abstract methods
|
|
527
|
+
are implemented, and manages service aliases.
|
|
528
|
+
- If a service is already registered under the same abstract or alias, it is removed before registering
|
|
529
|
+
the new binding.
|
|
522
530
|
"""
|
|
523
531
|
|
|
524
532
|
try:
|
|
@@ -529,11 +537,10 @@ class Container(IContainer):
|
|
|
529
537
|
# Ensure that concrete is a concrete class
|
|
530
538
|
ReflectionConcrete.ensureIsConcreteClass(concrete)
|
|
531
539
|
|
|
532
|
-
#
|
|
533
|
-
# otherwise ensure it is a subclass
|
|
540
|
+
# Enforce decoupling or subclass relationship as specified
|
|
534
541
|
self.__decouplingCheck(abstract, concrete, enforce_decoupling)
|
|
535
542
|
|
|
536
|
-
# Ensure
|
|
543
|
+
# Ensure all abstract methods are implemented by the concrete class
|
|
537
544
|
self.__implementsAbstractMethods(
|
|
538
545
|
abstract=abstract,
|
|
539
546
|
concrete=concrete
|
|
@@ -581,7 +588,8 @@ class Container(IContainer):
|
|
|
581
588
|
This method validates the abstract type, the instance, and the alias (if provided).
|
|
582
589
|
It ensures that the instance is a valid implementation of the abstract class or interface,
|
|
583
590
|
optionally enforces decoupling, and registers the instance in the container under both
|
|
584
|
-
the abstract type and the alias.
|
|
591
|
+
the abstract type and the alias. The registered instance will be shared across all resolutions
|
|
592
|
+
of the abstract type or alias.
|
|
585
593
|
|
|
586
594
|
Parameters
|
|
587
595
|
----------
|
|
@@ -614,7 +622,7 @@ class Container(IContainer):
|
|
|
614
622
|
-----
|
|
615
623
|
- The instance is registered with singleton lifetime, meaning it will be shared
|
|
616
624
|
across all resolutions of the abstract type or alias.
|
|
617
|
-
-
|
|
625
|
+
- All abstract methods must be implemented by the instance.
|
|
618
626
|
- If a service is already registered under the same abstract or alias, it is removed
|
|
619
627
|
before registering the new instance.
|
|
620
628
|
"""
|
|
@@ -639,7 +647,7 @@ class Container(IContainer):
|
|
|
639
647
|
# Validate and generate the alias key (either provided or default)
|
|
640
648
|
alias = self.__makeAliasKey(abstract, alias)
|
|
641
649
|
|
|
642
|
-
#
|
|
650
|
+
# Remove any existing binding for this abstract or alias
|
|
643
651
|
self.drop(abstract, alias)
|
|
644
652
|
|
|
645
653
|
# Register the instance with singleton lifetime
|
|
@@ -664,14 +672,6 @@ class Container(IContainer):
|
|
|
664
672
|
f"Unexpected error registering instance: {e}"
|
|
665
673
|
) from e
|
|
666
674
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
675
|
def singleton(
|
|
676
676
|
self,
|
|
677
677
|
abstract: Callable[..., Any],
|
|
@@ -683,76 +683,91 @@ class Container(IContainer):
|
|
|
683
683
|
"""
|
|
684
684
|
Registers a service with a singleton lifetime.
|
|
685
685
|
|
|
686
|
+
This method binds a concrete implementation to an abstract base type or interface
|
|
687
|
+
in the container, ensuring that only one instance of the concrete class is created
|
|
688
|
+
and shared throughout the application's lifetime. It validates the abstract and
|
|
689
|
+
concrete types, enforces decoupling rules if specified, checks that all abstract
|
|
690
|
+
methods are implemented, and manages service aliases.
|
|
691
|
+
|
|
686
692
|
Parameters
|
|
687
693
|
----------
|
|
688
694
|
abstract : Callable[..., Any]
|
|
689
|
-
The abstract base type or interface to be bound.
|
|
695
|
+
The abstract base type or interface to be bound. Must be an abstract class or interface.
|
|
690
696
|
concrete : Callable[..., Any]
|
|
691
|
-
The concrete implementation to associate with the abstract type.
|
|
697
|
+
The concrete implementation to associate with the abstract type. Must be a concrete class.
|
|
692
698
|
alias : str, optional
|
|
693
|
-
An alternative name to register the service under. If not provided,
|
|
699
|
+
An alternative name to register the service under. If not provided, a default alias is generated
|
|
700
|
+
using the abstract's module and class name.
|
|
701
|
+
enforce_decoupling : bool, optional
|
|
702
|
+
If True, enforces that the concrete class does NOT inherit from the abstract class.
|
|
703
|
+
If False, requires that the concrete class is a subclass of the abstract.
|
|
694
704
|
|
|
695
705
|
Returns
|
|
696
706
|
-------
|
|
697
|
-
bool
|
|
698
|
-
True if the service was registered successfully.
|
|
707
|
+
bool or None
|
|
708
|
+
Returns True if the service was registered successfully.
|
|
709
|
+
Returns None if registration fails due to an exception.
|
|
699
710
|
|
|
700
711
|
Raises
|
|
701
712
|
------
|
|
702
713
|
OrionisContainerTypeError
|
|
703
|
-
If the abstract or concrete class
|
|
714
|
+
If the abstract or concrete class validation fails.
|
|
704
715
|
OrionisContainerException
|
|
705
|
-
If the
|
|
716
|
+
If the decoupling check fails or if an unexpected error occurs during registration.
|
|
706
717
|
|
|
707
718
|
Notes
|
|
708
719
|
-----
|
|
709
|
-
Registers the given concrete implementation to the abstract type with a singleton lifetime,
|
|
710
|
-
|
|
720
|
+
- Registers the given concrete implementation to the abstract type with a singleton lifetime,
|
|
721
|
+
meaning a single instance will be created and shared for all resolutions.
|
|
722
|
+
- If a service is already registered under the same abstract or alias, it is removed before registering the new binding.
|
|
723
|
+
- All abstract methods must be implemented by the concrete class.
|
|
724
|
+
- Aliases are validated and managed for lookup.
|
|
711
725
|
"""
|
|
712
726
|
|
|
713
|
-
|
|
714
|
-
IsAbstractClass(abstract, Lifetime.SINGLETON)
|
|
727
|
+
try:
|
|
715
728
|
|
|
716
|
-
|
|
717
|
-
|
|
729
|
+
# Ensure that abstract is an abstract class
|
|
730
|
+
ReflectionAbstract.ensureIsAbstractClass(abstract)
|
|
718
731
|
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
IsNotSubclass(abstract, concrete)
|
|
732
|
+
# Ensure that concrete is a concrete class
|
|
733
|
+
ReflectionConcrete.ensureIsConcreteClass(concrete)
|
|
722
734
|
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
IsSubclass(abstract, concrete)
|
|
735
|
+
# Enforce decoupling or subclass relationship as specified
|
|
736
|
+
self.__decouplingCheck(abstract, concrete, enforce_decoupling)
|
|
726
737
|
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
738
|
+
# Ensure all abstract methods are implemented by the concrete class
|
|
739
|
+
self.__implementsAbstractMethods(
|
|
740
|
+
abstract=abstract,
|
|
741
|
+
concrete=concrete
|
|
742
|
+
)
|
|
732
743
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
IsValidAlias(alias)
|
|
736
|
-
else:
|
|
737
|
-
alias = f"{abstract.__module__}.{abstract.__name__}"
|
|
744
|
+
# Validate and generate the alias key (either provided or default)
|
|
745
|
+
alias = self.__makeAliasKey(abstract, alias)
|
|
738
746
|
|
|
739
|
-
|
|
740
|
-
|
|
747
|
+
# If the service is already registered, remove the existing binding
|
|
748
|
+
self.drop(abstract, alias)
|
|
741
749
|
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
+
# Register the service with singleton lifetime
|
|
751
|
+
self.__bindings[abstract] = Binding(
|
|
752
|
+
contract = abstract,
|
|
753
|
+
concrete = concrete,
|
|
754
|
+
lifetime = Lifetime.SINGLETON,
|
|
755
|
+
enforce_decoupling = enforce_decoupling,
|
|
756
|
+
alias = alias
|
|
757
|
+
)
|
|
750
758
|
|
|
751
|
-
|
|
752
|
-
|
|
759
|
+
# Register the alias for lookup
|
|
760
|
+
self.__aliases[alias] = self.__bindings[abstract]
|
|
753
761
|
|
|
754
|
-
|
|
755
|
-
|
|
762
|
+
# Return True to indicate successful registration
|
|
763
|
+
return True
|
|
764
|
+
|
|
765
|
+
except Exception as e:
|
|
766
|
+
|
|
767
|
+
# Raise a container exception with details if registration fails
|
|
768
|
+
raise OrionisContainerException(
|
|
769
|
+
f"Unexpected error registering {Lifetime.SINGLETON} service: {e}"
|
|
770
|
+
) from e
|
|
756
771
|
|
|
757
772
|
def scoped(
|
|
758
773
|
self,
|
|
@@ -765,76 +780,101 @@ class Container(IContainer):
|
|
|
765
780
|
"""
|
|
766
781
|
Registers a service with a scoped lifetime.
|
|
767
782
|
|
|
783
|
+
This method binds a concrete implementation to an abstract base type or interface
|
|
784
|
+
in the container, ensuring that a new instance of the concrete class is created
|
|
785
|
+
for each scope context. It validates the abstract and concrete types, enforces
|
|
786
|
+
decoupling rules if specified, checks that all abstract methods are implemented,
|
|
787
|
+
and manages service aliases.
|
|
788
|
+
|
|
768
789
|
Parameters
|
|
769
790
|
----------
|
|
770
791
|
abstract : Callable[..., Any]
|
|
771
|
-
The abstract base type or interface to be bound.
|
|
792
|
+
The abstract base type or interface to be bound. Must be an abstract class or interface.
|
|
772
793
|
concrete : Callable[..., Any]
|
|
773
|
-
The concrete implementation to associate with the abstract type.
|
|
794
|
+
The concrete implementation to associate with the abstract type. Must be a concrete class.
|
|
774
795
|
alias : str, optional
|
|
775
|
-
An alternative name to register the service under. If not provided,
|
|
796
|
+
An alternative name to register the service under. If not provided, a default alias is generated
|
|
797
|
+
using the abstract's module and class name.
|
|
798
|
+
enforce_decoupling : bool, optional
|
|
799
|
+
If True, enforces that the concrete class does NOT inherit from the abstract class.
|
|
800
|
+
If False, requires that the concrete class is a subclass of the abstract.
|
|
776
801
|
|
|
777
802
|
Returns
|
|
778
803
|
-------
|
|
779
|
-
bool
|
|
780
|
-
True if the service was registered successfully.
|
|
804
|
+
bool or None
|
|
805
|
+
Returns True if the service was registered successfully.
|
|
806
|
+
Returns None if registration fails due to an exception.
|
|
781
807
|
|
|
782
808
|
Raises
|
|
783
809
|
------
|
|
784
810
|
OrionisContainerTypeError
|
|
785
|
-
If the abstract or concrete class
|
|
811
|
+
If the abstract or concrete class validation fails.
|
|
786
812
|
OrionisContainerException
|
|
787
|
-
If the
|
|
813
|
+
If the decoupling check fails or if an unexpected error occurs during registration.
|
|
788
814
|
|
|
789
815
|
Notes
|
|
790
816
|
-----
|
|
791
|
-
Registers the given concrete implementation to the abstract type with a scoped lifetime,
|
|
792
|
-
|
|
817
|
+
- Registers the given concrete implementation to the abstract type with a scoped lifetime,
|
|
818
|
+
meaning a new instance will be created for each scope context.
|
|
819
|
+
- Validates the abstract and concrete types, checks decoupling rules, ensures all abstract methods
|
|
820
|
+
are implemented, and manages service aliases.
|
|
821
|
+
- If a service is already registered under the same abstract or alias, it is removed before registering
|
|
822
|
+
the new binding.
|
|
793
823
|
"""
|
|
794
824
|
|
|
795
|
-
|
|
796
|
-
|
|
825
|
+
try:
|
|
826
|
+
|
|
827
|
+
# Ensure that abstract is an abstract class
|
|
828
|
+
ReflectionAbstract.ensureIsAbstractClass(abstract)
|
|
829
|
+
|
|
830
|
+
# Ensure that concrete is a concrete class
|
|
831
|
+
ReflectionConcrete.ensureIsConcreteClass(concrete)
|
|
832
|
+
|
|
833
|
+
# Enforce decoupling or subclass relationship as specified
|
|
834
|
+
self.__decouplingCheck(abstract, concrete, enforce_decoupling)
|
|
835
|
+
|
|
836
|
+
# Ensure all abstract methods are implemented by the concrete class
|
|
837
|
+
self.__implementsAbstractMethods(
|
|
838
|
+
abstract=abstract,
|
|
839
|
+
concrete=concrete
|
|
840
|
+
)
|
|
841
|
+
|
|
842
|
+
# Validate and generate the alias key (either provided or default)
|
|
843
|
+
alias = self.__makeAliasKey(abstract, alias)
|
|
844
|
+
|
|
845
|
+
# If the service is already registered, remove the existing binding
|
|
846
|
+
self.drop(abstract, alias)
|
|
847
|
+
|
|
848
|
+
# Register the service with scoped lifetime
|
|
849
|
+
self.__bindings[abstract] = Binding(
|
|
850
|
+
contract = abstract,
|
|
851
|
+
concrete = concrete,
|
|
852
|
+
lifetime = Lifetime.SCOPED,
|
|
853
|
+
enforce_decoupling = enforce_decoupling,
|
|
854
|
+
alias = alias
|
|
855
|
+
)
|
|
856
|
+
|
|
857
|
+
# Register the alias for lookup
|
|
858
|
+
self.__aliases[alias] = self.__bindings[abstract]
|
|
859
|
+
|
|
860
|
+
# Return True to indicate successful registration
|
|
861
|
+
return True
|
|
862
|
+
|
|
863
|
+
except Exception as e:
|
|
864
|
+
|
|
865
|
+
# Raise a container exception with details if registration fails
|
|
866
|
+
raise OrionisContainerException(
|
|
867
|
+
f"Unexpected error registering {Lifetime.SCOPED} service: {e}"
|
|
868
|
+
) from e
|
|
797
869
|
|
|
798
|
-
# Ensure that concrete is a concrete class
|
|
799
|
-
IsConcreteClass(concrete, Lifetime.SCOPED)
|
|
800
870
|
|
|
801
|
-
# Ensure that concrete is NOT a subclass of abstract
|
|
802
|
-
if enforce_decoupling:
|
|
803
|
-
IsNotSubclass(abstract, concrete)
|
|
804
871
|
|
|
805
|
-
# Validate that concrete is a subclass of abstract
|
|
806
|
-
else:
|
|
807
|
-
IsSubclass(abstract, concrete)
|
|
808
872
|
|
|
809
|
-
# Ensure implementation
|
|
810
|
-
ImplementsAbstractMethods(
|
|
811
|
-
abstract=abstract,
|
|
812
|
-
concrete=concrete
|
|
813
|
-
)
|
|
814
873
|
|
|
815
|
-
# Ensure that the alias is a valid string if provided
|
|
816
|
-
if alias:
|
|
817
|
-
IsValidAlias(alias)
|
|
818
|
-
else:
|
|
819
|
-
alias = f"{abstract.__module__}.{abstract.__name__}"
|
|
820
874
|
|
|
821
|
-
# If the service is already registered, drop it
|
|
822
|
-
self.drop(abstract, alias)
|
|
823
875
|
|
|
824
|
-
# Register the service with scoped lifetime
|
|
825
|
-
self.__bindings[abstract] = Binding(
|
|
826
|
-
contract = abstract,
|
|
827
|
-
concrete = concrete,
|
|
828
|
-
lifetime = Lifetime.SCOPED,
|
|
829
|
-
enforce_decoupling = enforce_decoupling,
|
|
830
|
-
alias = alias
|
|
831
|
-
)
|
|
832
876
|
|
|
833
|
-
# Register the alias
|
|
834
|
-
self.__aliases[alias] = self.__bindings[abstract]
|
|
835
877
|
|
|
836
|
-
# Return True to indicate successful registration
|
|
837
|
-
return True
|
|
838
878
|
|
|
839
879
|
def scopedInstance(
|
|
840
880
|
self,
|
|
@@ -2198,11 +2198,7 @@ class Application(Container, IApplication):
|
|
|
2198
2198
|
if not self.__booted:
|
|
2199
2199
|
|
|
2200
2200
|
# Register the application instance in the container
|
|
2201
|
-
self.instance(
|
|
2202
|
-
IApplication,
|
|
2203
|
-
self,
|
|
2204
|
-
alias="x-orionis.foundation.contracts.application.IApplication"
|
|
2205
|
-
)
|
|
2201
|
+
self.instance(IApplication, self, alias="x-orionis.foundation.contracts.application.IApplication")
|
|
2206
2202
|
|
|
2207
2203
|
# Load configuration if not already set
|
|
2208
2204
|
self.__loadConfig()
|
|
@@ -2212,8 +2208,6 @@ class Application(Container, IApplication):
|
|
|
2212
2208
|
self.__loadFrameworkProviders()
|
|
2213
2209
|
self.__registerProviders()
|
|
2214
2210
|
self.__bootProviders()
|
|
2215
|
-
|
|
2216
|
-
# Mark as booted
|
|
2217
2211
|
self.__booted = True
|
|
2218
2212
|
|
|
2219
2213
|
# Load core framework kernels with app booted
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|