orionis 0.331.0__tar.gz → 0.333.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.331.0/orionis.egg-info → orionis-0.333.0}/PKG-INFO +1 -1
- {orionis-0.331.0 → orionis-0.333.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/coroutines.py +10 -2
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/dot_env.py +79 -79
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/types.py +49 -49
- orionis-0.333.0/orionis/services/introspection/inspection.py +246 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/instances/reflection_instance.py +28 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/reflection.py +40 -22
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/suite/test_unit.py +17 -17
- {orionis-0.331.0 → orionis-0.333.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/SOURCES.txt +1 -0
- {orionis-0.331.0 → orionis-0.333.0}/setup.py +1 -4
- {orionis-0.331.0 → orionis-0.333.0}/LICENCE +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/MANIFEST.in +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/README.md +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/application.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/config/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/config/config.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/base/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/base/command.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/command_filter.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/kernel.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/output/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/output/console.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/output/executor.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/output/progress_bar.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/parser.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/console/task_manager.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/commands/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/commands/commands_facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/commands/scheduler_facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/config/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/config/config_facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/environment/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/environment/environment_facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/files/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/files/path_facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/log/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/log/log_facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/tests/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/facades/tests/tests_facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/bootstraper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/config/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/config/config_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/console/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/console/command_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/environment/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/environment/environment_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/providers/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/foundation/providers/service_providers_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/providers/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/providers/service_provider.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/commands/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/commands/reactor_commands_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/commands/schedule_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/config/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/config/config_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/environment/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/environment/environment_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/files/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/files/path_resolver_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/log/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/services/log/log_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/support/exception_parse.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_contracts/support/reflection.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/console/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/console/command_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/environment/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/environment/environment_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/exceptions/exception_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/exceptions/exception_providers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/foundation/config/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/foundation/config/config_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/providers/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_foundation/providers/service_providers_bootstrapper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/commands/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/commands/reactor_commands_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/commands/scheduler_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/config/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/_services/config/config_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/base/command.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/command_filter.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/cache_clear.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/help.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/schedule_work.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/commands/version.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/dumper/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/dumper/dump_die.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/cli-orionis-value-error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/cli_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/kernel.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/console.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/executor.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/progress_bar.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/output/styles.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/console/parser.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/container.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/context/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/exceptions/attribute_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/exceptions/container_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/exceptions/type_error_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/exceptions/value_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/facades/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/providers/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/resolver.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/application.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/auth/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cors/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/roots/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/config/testing/enums/test_mode.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/contracts/config.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/exceptions/integrity.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/foundation/exceptions/value_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/metadata/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/metadata/package.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/patterns/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/patterns/singleton/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/patterns/singleton/meta_class.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/asynchrony/exceptions/coroutine_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/contracts/types.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/exceptions/environment_value_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/environment/exceptions/environment_value_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/abstract/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/abstract/reflection_abstract.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/callables/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/callables/reflection_callable.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/concretes/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/concretes/reflection_concrete.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflect_dependencies.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflection_abstract.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflection_concrete.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflection_instance.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/contracts/reflection_module.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/callable_dependencies.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/class_dependencies.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/method_dependencies.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/entities/resolved_dependencies.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/dependencies/reflect_dependencies.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/exceptions/reflection_attribute_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/exceptions/reflection_type_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/exceptions/reflection_value_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/instances/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/modules/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/modules/reflection_module.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/log/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/contracts/exception_parser.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/exceptions/exception_parser.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/parsers/serializer.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/contracts/resolver.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/exceptions/not_found_exceptions.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/exceptions/path_value_exceptions.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/paths/resolver.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/runtime_imports.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/exceptions/std_value_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/wrapper/dicts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/support/wrapper/dicts/dot_dict.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/cases/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/cases/test_async.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/cases/test_case.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/cases/test_sync.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/history.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/contracts/test_unit.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/entities/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/entities/test_result.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/enums/test_mode.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/enums/test_status.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_config_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_failure_exception.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_persistence_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_runtime_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/exceptions/test_value_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/logs/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/logs/history.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/output/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/suite/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/test_suite.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/view/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/test/view/render.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis/unittesting.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/orionis.egg-info/zip-safe +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/setup.cfg +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/example/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/example/test_example.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/app/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/auth/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cache/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cors/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/queue/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/root/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/session/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/startup/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/testing/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/exceptions/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/foundation/exceptions/test_foundation_config_exceptions.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/metadata/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/metadata/test_metadata_framework.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/metadata/test_metadata_package.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/patterns/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/patterns/singleton/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/patterns/singleton/test_patterns_singleton.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/asynchrony/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/environment/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/environment/test_services_environment.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/mocks/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/mocks/mock_user.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/mocks/mock_user_controller.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/mocks/mock_users_permissions.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/dependencies/test_reflect_dependencies.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/mock/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/mock/fake_reflect_instance.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_abstract.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_callable.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_concrete.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_instance.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/reflection/test_reflection_module.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/inspection/test_reflection.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/parsers/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/parsers/mocks/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/parsers/mocks/mock_custom_error.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/parsers/test_services_parser_exceptions.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/path/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/path/test_services_resolver.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/system/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/system/test_services_system_imports.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/services/system/test_services_system_workers.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/support/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/support/standard/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/support/standard/test_services_std.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/support/wrapper/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/testing/__init__.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/testing/test_testing_result.py +0 -0
- {orionis-0.331.0 → orionis-0.333.0}/tests/testing/test_testing_unit.py +0 -0
@@ -1,8 +1,8 @@
|
|
1
1
|
import asyncio
|
2
|
-
from inspect import iscoroutine
|
3
2
|
from typing import Any, Coroutine as TypingCoroutine, TypeVar, Union
|
4
3
|
from orionis.services.asynchrony.contracts.coroutines import ICoroutine
|
5
4
|
from orionis.services.asynchrony.exceptions.coroutine_exception import OrionisCoroutineException
|
5
|
+
from orionis.services.introspection.inspection import Inspection
|
6
6
|
|
7
7
|
T = TypeVar("T")
|
8
8
|
|
@@ -36,10 +36,12 @@ class Coroutine(ICoroutine):
|
|
36
36
|
OrionisCoroutineException
|
37
37
|
If the provided object is not a coroutine.
|
38
38
|
"""
|
39
|
-
if not
|
39
|
+
if not Inspection(func).isCoroutine():
|
40
40
|
raise OrionisCoroutineException(
|
41
41
|
f"Expected a coroutine object, but got {type(func).__name__}."
|
42
42
|
)
|
43
|
+
|
44
|
+
# Store the coroutine function
|
43
45
|
self.__func = func
|
44
46
|
|
45
47
|
def run(self) -> Union[T, asyncio.Future]:
|
@@ -57,15 +59,21 @@ class Coroutine(ICoroutine):
|
|
57
59
|
- If called from within an event loop, it will schedule the coroutine and return a Future.
|
58
60
|
"""
|
59
61
|
try:
|
62
|
+
|
60
63
|
# Get the current event loop
|
61
64
|
loop = asyncio.get_running_loop()
|
65
|
+
|
62
66
|
except RuntimeError:
|
67
|
+
|
63
68
|
# No running event loop, run synchronously
|
64
69
|
return asyncio.run(self.__func)
|
65
70
|
|
66
71
|
if loop.is_running():
|
72
|
+
|
67
73
|
# Inside an event loop, schedule as a Future
|
68
74
|
return asyncio.ensure_future(self.__func)
|
75
|
+
|
69
76
|
else:
|
77
|
+
|
70
78
|
# No running loop, run synchronously
|
71
79
|
return loop.run_until_complete(self.__func)
|
@@ -45,45 +45,6 @@ class DotEnv(metaclass=Singleton):
|
|
45
45
|
except OSError as e:
|
46
46
|
raise OSError(f"Failed to create or access the .env file at {self._resolved_path}: {e}")
|
47
47
|
|
48
|
-
def get(self, key: str, default: Optional[Any] = None) -> Any:
|
49
|
-
"""
|
50
|
-
Get the value of an environment variable.
|
51
|
-
|
52
|
-
Parameters
|
53
|
-
----------
|
54
|
-
key : str
|
55
|
-
Name of the environment variable to retrieve.
|
56
|
-
default : Any, optional
|
57
|
-
Value to return if the key is not found. Default is None.
|
58
|
-
|
59
|
-
Returns
|
60
|
-
-------
|
61
|
-
Any
|
62
|
-
Parsed value of the environment variable, or `default` if not found.
|
63
|
-
|
64
|
-
Raises
|
65
|
-
------
|
66
|
-
OrionisEnvironmentValueError
|
67
|
-
If `key` is not a string.
|
68
|
-
"""
|
69
|
-
with self._lock:
|
70
|
-
|
71
|
-
# Ensure the key is a string.
|
72
|
-
if not isinstance(key, str):
|
73
|
-
raise OrionisEnvironmentValueError(
|
74
|
-
f"Key must be a string, got {type(key).__name__}."
|
75
|
-
)
|
76
|
-
|
77
|
-
# Get the value from the .env file or the current environment.
|
78
|
-
value = dotenv_values(self._resolved_path).get(key)
|
79
|
-
|
80
|
-
# If the value is not found in the .env file, check the current environment variables.
|
81
|
-
if value is None:
|
82
|
-
value = os.getenv(key)
|
83
|
-
|
84
|
-
# Parse the value using the internal __parseValue method and return it
|
85
|
-
return self.__parseValue(value) if value is not None else default
|
86
|
-
|
87
48
|
def __parseValue(self, value: Any) -> Any:
|
88
49
|
"""
|
89
50
|
Parse and convert the input value to an appropriate Python data type with enhanced features.
|
@@ -142,6 +103,85 @@ class DotEnv(metaclass=Singleton):
|
|
142
103
|
except (ValueError, SyntaxError):
|
143
104
|
return value_str
|
144
105
|
|
106
|
+
def __serializeValue(self, value: Any, type_hint: str = None) -> str:
|
107
|
+
"""
|
108
|
+
Parameters
|
109
|
+
----------
|
110
|
+
value : Any
|
111
|
+
The value to serialize.
|
112
|
+
type_hint : str, optional
|
113
|
+
An optional type hint to guide serialization.
|
114
|
+
Returns
|
115
|
+
-------
|
116
|
+
str
|
117
|
+
The serialized string representation of the value.
|
118
|
+
Notes
|
119
|
+
-----
|
120
|
+
- If `value` is None, returns "null".
|
121
|
+
- If `type_hint` is provided, uses `EnvTypes` to serialize.
|
122
|
+
- Uses `repr()` for lists, dicts, tuples, and sets.
|
123
|
+
- Falls back to `str()` for other types.
|
124
|
+
"""
|
125
|
+
|
126
|
+
if value is None:
|
127
|
+
return "null"
|
128
|
+
|
129
|
+
if type_hint:
|
130
|
+
return EnvTypes(value).to(type_hint)
|
131
|
+
|
132
|
+
if isinstance(value, str):
|
133
|
+
return value.strip()
|
134
|
+
|
135
|
+
if isinstance(value, bool):
|
136
|
+
return str(value).lower()
|
137
|
+
|
138
|
+
if isinstance(value, int, float):
|
139
|
+
return str(value)
|
140
|
+
|
141
|
+
if isinstance(value, (list, dict, tuple, set)):
|
142
|
+
return repr(value)
|
143
|
+
|
144
|
+
return str(value)
|
145
|
+
|
146
|
+
def get(self, key: str, default: Optional[Any] = None) -> Any:
|
147
|
+
"""
|
148
|
+
Get the value of an environment variable.
|
149
|
+
|
150
|
+
Parameters
|
151
|
+
----------
|
152
|
+
key : str
|
153
|
+
Name of the environment variable to retrieve.
|
154
|
+
default : Any, optional
|
155
|
+
Value to return if the key is not found. Default is None.
|
156
|
+
|
157
|
+
Returns
|
158
|
+
-------
|
159
|
+
Any
|
160
|
+
Parsed value of the environment variable, or `default` if not found.
|
161
|
+
|
162
|
+
Raises
|
163
|
+
------
|
164
|
+
OrionisEnvironmentValueError
|
165
|
+
If `key` is not a string.
|
166
|
+
"""
|
167
|
+
with self._lock:
|
168
|
+
|
169
|
+
# Ensure the key is a string.
|
170
|
+
if not isinstance(key, str):
|
171
|
+
raise OrionisEnvironmentValueError(
|
172
|
+
f"Key must be a string, got {type(key).__name__}."
|
173
|
+
)
|
174
|
+
|
175
|
+
# Get the value from the .env file or the current environment.
|
176
|
+
value = dotenv_values(self._resolved_path).get(key)
|
177
|
+
|
178
|
+
# If the value is not found in the .env file, check the current environment variables.
|
179
|
+
if value is None:
|
180
|
+
value = os.getenv(key)
|
181
|
+
|
182
|
+
# Parse the value using the internal __parseValue method and return it
|
183
|
+
return self.__parseValue(value) if value is not None else default
|
184
|
+
|
145
185
|
def set(self, key: str, value: Union[str, int, float, bool, list, dict, tuple, set], type_hint: str = None) -> bool:
|
146
186
|
"""
|
147
187
|
Set an environment variable with the specified key and value.
|
@@ -195,46 +235,6 @@ class DotEnv(metaclass=Singleton):
|
|
195
235
|
# Return True to indicate success.
|
196
236
|
return True
|
197
237
|
|
198
|
-
def __serializeValue(self, value: Any, type_hint: str = None) -> str:
|
199
|
-
"""
|
200
|
-
Parameters
|
201
|
-
----------
|
202
|
-
value : Any
|
203
|
-
The value to serialize.
|
204
|
-
type_hint : str, optional
|
205
|
-
An optional type hint to guide serialization.
|
206
|
-
Returns
|
207
|
-
-------
|
208
|
-
str
|
209
|
-
The serialized string representation of the value.
|
210
|
-
Notes
|
211
|
-
-----
|
212
|
-
- If `value` is None, returns "null".
|
213
|
-
- If `type_hint` is provided, uses `EnvTypes` to serialize.
|
214
|
-
- Uses `repr()` for lists, dicts, tuples, and sets.
|
215
|
-
- Falls back to `str()` for other types.
|
216
|
-
"""
|
217
|
-
|
218
|
-
if value is None:
|
219
|
-
return "null"
|
220
|
-
|
221
|
-
if type_hint:
|
222
|
-
return EnvTypes(value).to(type_hint)
|
223
|
-
|
224
|
-
if isinstance(value, str):
|
225
|
-
return value.strip()
|
226
|
-
|
227
|
-
if isinstance(value, bool):
|
228
|
-
return str(value).lower()
|
229
|
-
|
230
|
-
if isinstance(value, int, float):
|
231
|
-
return str(value)
|
232
|
-
|
233
|
-
if isinstance(value, (list, dict, tuple, set)):
|
234
|
-
return repr(value)
|
235
|
-
|
236
|
-
return str(value)
|
237
|
-
|
238
238
|
def unset(self, key: str) -> bool:
|
239
239
|
"""
|
240
240
|
Remove the specified environment variable from both the .env file and the current process environment.
|
@@ -73,6 +73,55 @@ class EnvTypes(IEnvTypes):
|
|
73
73
|
# If raw is not a string, treat it as a value with no type hint
|
74
74
|
self.__value_raw = raw
|
75
75
|
|
76
|
+
def get(self):
|
77
|
+
"""
|
78
|
+
Returns the value corresponding to the specified type hint.
|
79
|
+
|
80
|
+
Checks if the provided type hint is valid and then dispatches the call to the appropriate
|
81
|
+
method for handling the type.
|
82
|
+
|
83
|
+
Supported type hints include: 'path:', 'str:', 'int:', 'float:', 'bool:', 'list:', 'dict:', 'tuple:', and 'set:'.
|
84
|
+
|
85
|
+
Returns
|
86
|
+
-------
|
87
|
+
Any
|
88
|
+
The value converted or processed according to the specified type hint.
|
89
|
+
|
90
|
+
Raises
|
91
|
+
------
|
92
|
+
OrionisEnvironmentValueError
|
93
|
+
If the type hint is not one of the supported options.
|
94
|
+
"""
|
95
|
+
if not self.__type_hint in self.OPTIONS:
|
96
|
+
raise OrionisEnvironmentValueError(f"Invalid type hint: {self.__type_hint}. Must be one of {self.OPTIONS}.")
|
97
|
+
|
98
|
+
if self.__type_hint == 'path':
|
99
|
+
return self.__parsePath()
|
100
|
+
|
101
|
+
if self.__type_hint == 'str':
|
102
|
+
return self.__parseStr()
|
103
|
+
|
104
|
+
if self.__type_hint == 'int':
|
105
|
+
return self.__parseInt()
|
106
|
+
|
107
|
+
if self.__type_hint == 'float':
|
108
|
+
return self.__parseFloat()
|
109
|
+
|
110
|
+
if self.__type_hint == 'bool':
|
111
|
+
return self.__parseBool()
|
112
|
+
|
113
|
+
if self.__type_hint == 'list':
|
114
|
+
return self.__parseList()
|
115
|
+
|
116
|
+
if self.__type_hint == 'dict':
|
117
|
+
return self.__parseDict()
|
118
|
+
|
119
|
+
if self.__type_hint == 'tuple':
|
120
|
+
return self.__parseTuple()
|
121
|
+
|
122
|
+
if self.__type_hint == 'set':
|
123
|
+
return self.__parseSet()
|
124
|
+
|
76
125
|
def to(self, type_hint: str):
|
77
126
|
"""
|
78
127
|
Set the type hint for the Type instance.
|
@@ -527,52 +576,3 @@ class EnvTypes(IEnvTypes):
|
|
527
576
|
if not isinstance(self.__value_raw, set):
|
528
577
|
raise OrionisEnvironmentValueError(f"Value must be a set to convert to set, got {type(self.__value_raw).__name__} instead.")
|
529
578
|
return f"{self.__type_hint}:{repr(self.__value_raw)}"
|
530
|
-
|
531
|
-
def get(self):
|
532
|
-
"""
|
533
|
-
Returns the value corresponding to the specified type hint.
|
534
|
-
|
535
|
-
Checks if the provided type hint is valid and then dispatches the call to the appropriate
|
536
|
-
method for handling the type.
|
537
|
-
|
538
|
-
Supported type hints include: 'path:', 'str:', 'int:', 'float:', 'bool:', 'list:', 'dict:', 'tuple:', and 'set:'.
|
539
|
-
|
540
|
-
Returns
|
541
|
-
-------
|
542
|
-
Any
|
543
|
-
The value converted or processed according to the specified type hint.
|
544
|
-
|
545
|
-
Raises
|
546
|
-
------
|
547
|
-
OrionisEnvironmentValueError
|
548
|
-
If the type hint is not one of the supported options.
|
549
|
-
"""
|
550
|
-
if not self.__type_hint in self.OPTIONS:
|
551
|
-
raise OrionisEnvironmentValueError(f"Invalid type hint: {self.__type_hint}. Must be one of {self.OPTIONS}.")
|
552
|
-
|
553
|
-
if self.__type_hint == 'path':
|
554
|
-
return self.__parsePath()
|
555
|
-
|
556
|
-
if self.__type_hint == 'str':
|
557
|
-
return self.__parseStr()
|
558
|
-
|
559
|
-
if self.__type_hint == 'int':
|
560
|
-
return self.__parseInt()
|
561
|
-
|
562
|
-
if self.__type_hint == 'float':
|
563
|
-
return self.__parseFloat()
|
564
|
-
|
565
|
-
if self.__type_hint == 'bool':
|
566
|
-
return self.__parseBool()
|
567
|
-
|
568
|
-
if self.__type_hint == 'list':
|
569
|
-
return self.__parseList()
|
570
|
-
|
571
|
-
if self.__type_hint == 'dict':
|
572
|
-
return self.__parseDict()
|
573
|
-
|
574
|
-
if self.__type_hint == 'tuple':
|
575
|
-
return self.__parseTuple()
|
576
|
-
|
577
|
-
if self.__type_hint == 'set':
|
578
|
-
return self.__parseSet()
|
@@ -0,0 +1,246 @@
|
|
1
|
+
import inspect
|
2
|
+
from typing import Any
|
3
|
+
|
4
|
+
class Inspection:
|
5
|
+
|
6
|
+
def __init__(self, target: Any):
|
7
|
+
"""
|
8
|
+
Initialize an inspection instance.
|
9
|
+
|
10
|
+
Parameters
|
11
|
+
----------
|
12
|
+
target : Any
|
13
|
+
The object to be inspected.
|
14
|
+
"""
|
15
|
+
self.__target = target
|
16
|
+
|
17
|
+
def isAbstract(self) -> bool:
|
18
|
+
"""
|
19
|
+
Check if the object is an abstract base class.
|
20
|
+
|
21
|
+
Returns
|
22
|
+
-------
|
23
|
+
bool
|
24
|
+
True if the object is abstract, False otherwise.
|
25
|
+
"""
|
26
|
+
return inspect.isabstract(self.__target)
|
27
|
+
|
28
|
+
def isAsyncGen(self) -> bool:
|
29
|
+
"""
|
30
|
+
Check if the object is an asynchronous generator.
|
31
|
+
|
32
|
+
Returns
|
33
|
+
-------
|
34
|
+
bool
|
35
|
+
True if the object is an async generator, False otherwise.
|
36
|
+
"""
|
37
|
+
return inspect.isasyncgen(self.__target)
|
38
|
+
|
39
|
+
def isAsyncGenFunction(self) -> bool:
|
40
|
+
"""
|
41
|
+
Check if the object is an asynchronous generator function.
|
42
|
+
|
43
|
+
Returns
|
44
|
+
-------
|
45
|
+
bool
|
46
|
+
True if the object is an async generator function, False otherwise.
|
47
|
+
"""
|
48
|
+
return inspect.isasyncgenfunction(self.__target)
|
49
|
+
|
50
|
+
def isAwaitable(self) -> bool:
|
51
|
+
"""
|
52
|
+
Check if the object can be awaited.
|
53
|
+
|
54
|
+
Returns
|
55
|
+
-------
|
56
|
+
bool
|
57
|
+
True if the object is awaitable, False otherwise.
|
58
|
+
"""
|
59
|
+
return inspect.isawaitable(self.__target)
|
60
|
+
|
61
|
+
def isBuiltin(self) -> bool:
|
62
|
+
"""
|
63
|
+
Check if the object is a built-in function or method.
|
64
|
+
|
65
|
+
Returns
|
66
|
+
-------
|
67
|
+
bool
|
68
|
+
True if the object is a built-in, False otherwise.
|
69
|
+
"""
|
70
|
+
return inspect.isbuiltin(self.__target)
|
71
|
+
|
72
|
+
def isClass(self) -> bool:
|
73
|
+
"""
|
74
|
+
Check if the object is a class.
|
75
|
+
|
76
|
+
Returns
|
77
|
+
-------
|
78
|
+
bool
|
79
|
+
True if the object is a class, False otherwise.
|
80
|
+
"""
|
81
|
+
return inspect.isclass(self.__target)
|
82
|
+
|
83
|
+
def isCode(self) -> bool:
|
84
|
+
"""
|
85
|
+
Check if the object is a code object.
|
86
|
+
|
87
|
+
Returns
|
88
|
+
-------
|
89
|
+
bool
|
90
|
+
True if the object is a code object, False otherwise.
|
91
|
+
"""
|
92
|
+
return inspect.iscode(self.__target)
|
93
|
+
|
94
|
+
def isCoroutine(self) -> bool:
|
95
|
+
"""
|
96
|
+
Check if the object is a coroutine.
|
97
|
+
|
98
|
+
Returns
|
99
|
+
-------
|
100
|
+
bool
|
101
|
+
True if the object is a coroutine, False otherwise.
|
102
|
+
"""
|
103
|
+
return inspect.iscoroutine(self.__target)
|
104
|
+
|
105
|
+
def isCoroutineFunction(self) -> bool:
|
106
|
+
"""
|
107
|
+
Check if the object is a coroutine function.
|
108
|
+
|
109
|
+
Returns
|
110
|
+
-------
|
111
|
+
bool
|
112
|
+
True if the object is a coroutine function, False otherwise.
|
113
|
+
"""
|
114
|
+
return inspect.iscoroutinefunction(self.__target)
|
115
|
+
|
116
|
+
def isDataDescriptor(self) -> bool:
|
117
|
+
"""
|
118
|
+
Check if the object is a data descriptor.
|
119
|
+
|
120
|
+
Returns
|
121
|
+
-------
|
122
|
+
bool
|
123
|
+
True if the object is a data descriptor, False otherwise.
|
124
|
+
"""
|
125
|
+
return inspect.isdatadescriptor(self.__target)
|
126
|
+
|
127
|
+
def isFrame(self) -> bool:
|
128
|
+
"""
|
129
|
+
Check if the object is a frame object.
|
130
|
+
|
131
|
+
Returns
|
132
|
+
-------
|
133
|
+
bool
|
134
|
+
True if the object is a frame object, False otherwise.
|
135
|
+
"""
|
136
|
+
return inspect.isframe(self.__target)
|
137
|
+
|
138
|
+
def isFunction(self) -> bool:
|
139
|
+
"""
|
140
|
+
Check if the object is a Python function.
|
141
|
+
|
142
|
+
Returns
|
143
|
+
-------
|
144
|
+
bool
|
145
|
+
True if the object is a function, False otherwise.
|
146
|
+
"""
|
147
|
+
return inspect.isfunction(self.__target)
|
148
|
+
|
149
|
+
def isGenerator(self) -> bool:
|
150
|
+
"""
|
151
|
+
Check if the object is a generator.
|
152
|
+
|
153
|
+
Returns
|
154
|
+
-------
|
155
|
+
bool
|
156
|
+
True if the object is a generator, False otherwise.
|
157
|
+
"""
|
158
|
+
return inspect.isgenerator(self.__target)
|
159
|
+
|
160
|
+
def isGeneratorFunction(self) -> bool:
|
161
|
+
"""
|
162
|
+
Check if the object is a generator function.
|
163
|
+
|
164
|
+
Returns
|
165
|
+
-------
|
166
|
+
bool
|
167
|
+
True if the object is a generator function, False otherwise.
|
168
|
+
"""
|
169
|
+
return inspect.isgeneratorfunction(self.__target)
|
170
|
+
|
171
|
+
def isGetSetDescriptor(self) -> bool:
|
172
|
+
"""
|
173
|
+
Check if the object is a getset descriptor.
|
174
|
+
|
175
|
+
Returns
|
176
|
+
-------
|
177
|
+
bool
|
178
|
+
True if the object is a getset descriptor, False otherwise.
|
179
|
+
"""
|
180
|
+
return inspect.isgetsetdescriptor(self.__target)
|
181
|
+
|
182
|
+
def isMemberDescriptor(self) -> bool:
|
183
|
+
"""
|
184
|
+
Check if the object is a member descriptor.
|
185
|
+
|
186
|
+
Returns
|
187
|
+
-------
|
188
|
+
bool
|
189
|
+
True if the object is a member descriptor, False otherwise.
|
190
|
+
"""
|
191
|
+
return inspect.ismemberdescriptor(self.__target)
|
192
|
+
|
193
|
+
def isMethod(self) -> bool:
|
194
|
+
"""
|
195
|
+
Check if the object is a method.
|
196
|
+
|
197
|
+
Returns
|
198
|
+
-------
|
199
|
+
bool
|
200
|
+
True if the object is a method, False otherwise.
|
201
|
+
"""
|
202
|
+
return inspect.ismethod(self.__target)
|
203
|
+
|
204
|
+
def isMethodDescriptor(self) -> bool:
|
205
|
+
"""
|
206
|
+
Check if the object is a method descriptor.
|
207
|
+
|
208
|
+
Returns
|
209
|
+
-------
|
210
|
+
bool
|
211
|
+
True if the object is a method descriptor, False otherwise.
|
212
|
+
"""
|
213
|
+
return inspect.ismethoddescriptor(self.__target)
|
214
|
+
|
215
|
+
def isModule(self) -> bool:
|
216
|
+
"""
|
217
|
+
Check if the object is a module.
|
218
|
+
|
219
|
+
Returns
|
220
|
+
-------
|
221
|
+
bool
|
222
|
+
True if the object is a module, False otherwise.
|
223
|
+
"""
|
224
|
+
return inspect.ismodule(self.__target)
|
225
|
+
|
226
|
+
def isRoutine(self) -> bool:
|
227
|
+
"""
|
228
|
+
Check if the object is a user-defined or built-in function or method.
|
229
|
+
|
230
|
+
Returns
|
231
|
+
-------
|
232
|
+
bool
|
233
|
+
True if the object is a routine, False otherwise.
|
234
|
+
"""
|
235
|
+
return inspect.isroutine(self.__target)
|
236
|
+
|
237
|
+
def isTraceback(self) -> bool:
|
238
|
+
"""
|
239
|
+
Check if the object is a traceback object.
|
240
|
+
|
241
|
+
Returns
|
242
|
+
-------
|
243
|
+
bool
|
244
|
+
True if the object is a traceback object, False otherwise.
|
245
|
+
"""
|
246
|
+
return inspect.istraceback(self.__target)
|
{orionis-0.331.0 → orionis-0.333.0}/orionis/services/introspection/instances/reflection_instance.py
RENAMED
@@ -606,6 +606,34 @@ class ReflectionInstance(IReflectionInstance):
|
|
606
606
|
# If the method is not callable, raise an error
|
607
607
|
raise ReflectionAttributeError(f"Method '{name}' is not callable on '{self.getClassName()}'.")
|
608
608
|
|
609
|
+
def getMethodDocstring(self, name: str) -> Optional[str]:
|
610
|
+
"""
|
611
|
+
Get the docstring of a method.
|
612
|
+
|
613
|
+
Parameters
|
614
|
+
----------
|
615
|
+
name : str
|
616
|
+
Name of the method
|
617
|
+
|
618
|
+
Returns
|
619
|
+
-------
|
620
|
+
Optional[str]
|
621
|
+
The method docstring, or None if not available
|
622
|
+
"""
|
623
|
+
|
624
|
+
# Handle private method name mangling
|
625
|
+
if name.startswith("__") and not name.endswith("__"):
|
626
|
+
class_name = self.getClassName()
|
627
|
+
name = f"_{class_name}{name}"
|
628
|
+
|
629
|
+
# Check if the method exists and is callable
|
630
|
+
method = getattr(self._instance.__class__, name, None)
|
631
|
+
if callable(method):
|
632
|
+
return method.__doc__
|
633
|
+
|
634
|
+
# If the method is not callable, raise an error
|
635
|
+
raise ReflectionAttributeError(f"Method '{name}' does not exist on '{self.getClassName()}'.")
|
636
|
+
|
609
637
|
def getMethods(self) -> List[str]:
|
610
638
|
"""
|
611
639
|
Get all method names of the instance.
|