This document is for Kombu's development version, which can be significantly different from previous releases. Get the stable docs here: 5.3.

# Module Importing Utilities - `kombu.utils.imports`

Import related utilities.

kombu.utils.imports.symbol_by_name(name, aliases=None, imp=None, package=None, sep='.', default=None, **kwargs)

  Get symbol by qualified name.

  The name should be the full dot-separated path to the class:

      modulename.ClassName

  Example:

      celery.concurrency.processes.TaskPool
                                  ^- class name

  or using ‘:’ to separate module and symbol:

      celery.concurrency.processes:TaskPool

  If aliases is provided, a dict containing short name/long name mappings, the name is looked up in the aliases first.

  Examples

      >>> symbol_by_name('celery.concurrency.processes.TaskPool')
      <class 'celery.concurrency.processes.TaskPool'>

      >>> symbol_by_name('default', {
      ...     'default': 'celery.concurrency.processes.TaskPool'})
      <class 'celery.concurrency.processes.TaskPool'>

  # Does not try to look up non-string names. >>> from celery.concurrency.processes import TaskPool >>> symbol_by_name(TaskPool) is TaskPool True