"""Dependency injector."""

from .catalog import AbstractCatalog
from .catalog import override

from .providers import Provider
from .providers import Delegate
from .providers import Factory
from .providers import Singleton
from .providers import ExternalDependency
from .providers import Class
from .providers import Object
from .providers import Function
from .providers import Value
from .providers import Callable
from .providers import Config

from .injections import KwArg
from .injections import Attribute
from .injections import Method
from .injections import inject

from .errors import Error


__all__ = ('AbstractCatalog',

           # Providers
           'Provider',
           'Delegate',
           'Factory',
           'Singleton',
           'ExternalDependency',
           'Class',
           'Object',
           'Function',
           'Value',
           'Callable',
           'Config',

           # Injections
           'KwArg',
           'Attribute',
           'Method',

           # Decorators
           'override',
           'inject',

           # Errors
           'Error')

"""Dependency injector."""

from .catalog import AbstractCatalog
from .catalog import override

from .providers import Provider
from .providers import Delegate
from .providers import Factory
from .providers import Singleton
from .providers import ExternalDependency
from .providers import Class
from .providers import Object
from .providers import Function
from .providers import Value
from .providers import Callable
from .providers import Config

from .injections import Injection
from .injections import KwArg
from .injections import Attribute
from .injections import Method
from .injections import inject

from .utils import is_provider
from .utils import ensure_is_provider
from .utils import is_injection
from .utils import ensure_is_injection
from .utils import is_kwarg_injection
from .utils import is_attribute_injection
from .utils import is_method_injection

from .errors import Error


__all__ = (
    # Catalogs
    'AbstractCatalog',
    'override',

    # Providers
    'Provider',
    'Delegate',
    'Factory',
    'Singleton',
    'ExternalDependency',
    'Class',
    'Object',
    'Function',
    'Value',
    'Callable',
    'Config',

    # Injections
    'KwArg',
    'Attribute',
    'Method',
    'inject',

    # Utils
    'is_provider',
    'ensure_is_provider',
    'is_injection',
    'ensure_is_injection',
    'is_kwarg_injection',
    'is_attribute_injection',
    'is_method_injection',

    # Errors
    'Error',
)

Add additional shortcuts for top level package
Add additional shortcuts for top level package

  """Dependency injector."""
  
  from .catalog import AbstractCatalog
  from .catalog import override
  
  from .providers import Provider
  from .providers import Delegate
  from .providers import Factory
  from .providers import Singleton
  from .providers import ExternalDependency
  from .providers import Class
  from .providers import Object
  from .providers import Function
  from .providers import Value
  from .providers import Callable
  from .providers import Config
  
+ from .injections import Injection
  from .injections import KwArg
  from .injections import Attribute
  from .injections import Method
  from .injections import inject
  
+ from .utils import is_provider
+ from .utils import ensure_is_provider
+ from .utils import is_injection
+ from .utils import ensure_is_injection
+ from .utils import is_kwarg_injection
+ from .utils import is_attribute_injection
+ from .utils import is_method_injection
+ 
  from .errors import Error
  
  
- __all__ = ('AbstractCatalog',
+ __all__ = (
+     # Catalogs
+     'AbstractCatalog',
+     'override',
  
-            # Providers
+     # Providers
-            'Provider',
+     'Provider',
-            'Delegate',
+     'Delegate',
-            'Factory',
+     'Factory',
-            'Singleton',
+     'Singleton',
-            'ExternalDependency',
+     'ExternalDependency',
-            'Class',
+     'Class',
-            'Object',
+     'Object',
-            'Function',
+     'Function',
-            'Value',
+     'Value',
-            'Callable',
+     'Callable',
-            'Config',
+     'Config',
  
-            # Injections
+     # Injections
-            'KwArg',
+     'KwArg',
-            'Attribute',
+     'Attribute',
-            'Method',
+     'Method',
+     'inject',
  
-            # Decorators
-            'override',
-            'inject',
+     # Utils
+     'is_provider',
+     'ensure_is_provider',
+     'is_injection',
+     'ensure_is_injection',
+     'is_kwarg_injection',
+     'is_attribute_injection',
+     'is_method_injection',
  
-            # Errors
+     # Errors
-            'Error')
+     'Error',
+ )
  
Add additional shortcuts for top level package
## Code Before:
"""Dependency injector."""

from .catalog import AbstractCatalog
from .catalog import override

from .providers import Provider
from .providers import Delegate
from .providers import Factory
from .providers import Singleton
from .providers import ExternalDependency
from .providers import Class
from .providers import Object
from .providers import Function
from .providers import Value
from .providers import Callable
from .providers import Config

from .injections import KwArg
from .injections import Attribute
from .injections import Method
from .injections import inject

from .errors import Error


__all__ = ('AbstractCatalog',

           # Providers
           'Provider',
           'Delegate',
           'Factory',
           'Singleton',
           'ExternalDependency',
           'Class',
           'Object',
           'Function',
           'Value',
           'Callable',
           'Config',

           # Injections
           'KwArg',
           'Attribute',
           'Method',

           # Decorators
           'override',
           'inject',

           # Errors
           'Error')

## Instruction:
Add additional shortcuts for top level package
## Code After:
"""Dependency injector."""

from .catalog import AbstractCatalog
from .catalog import override

from .providers import Provider
from .providers import Delegate
from .providers import Factory
from .providers import Singleton
from .providers import ExternalDependency
from .providers import Class
from .providers import Object
from .providers import Function
from .providers import Value
from .providers import Callable
from .providers import Config

from .injections import Injection
from .injections import KwArg
from .injections import Attribute
from .injections import Method
from .injections import inject

from .utils import is_provider
from .utils import ensure_is_provider
from .utils import is_injection
from .utils import ensure_is_injection
from .utils import is_kwarg_injection
from .utils import is_attribute_injection
from .utils import is_method_injection

from .errors import Error


__all__ = (
    # Catalogs
    'AbstractCatalog',
    'override',

    # Providers
    'Provider',
    'Delegate',
    'Factory',
    'Singleton',
    'ExternalDependency',
    'Class',
    'Object',
    'Function',
    'Value',
    'Callable',
    'Config',

    # Injections
    'KwArg',
    'Attribute',
    'Method',
    'inject',

    # Utils
    'is_provider',
    'ensure_is_provider',
    'is_injection',
    'ensure_is_injection',
    'is_kwarg_injection',
    'is_attribute_injection',
    'is_method_injection',

    # Errors
    'Error',
)
