# NiBabel

### Access a cacophony of neuro-imaging file formats

# `deprecated`

Module to help with deprecating objects and classes

`FutureWarningMixin`(*args, **kwargs) | Insert FutureWarning for object creation
`ModuleProxy`(module_name) | Proxy for module that may not yet have been imported
`VisibleDeprecationWarning` | Deprecation warning that will be shown by default
`alert_future_error`(msg, version, *[, ...]) | Warn or error with appropriate messages for changing functionality.

## `FutureWarningMixin`

class nibabel.deprecated.FutureWarningMixin(*args: P.args, **kwargs: P.kwargs)

  Bases: `object`

  Insert FutureWarning for object creation

  Examples

      >>> class C: pass
      >>> class D(FutureWarningMixin, C):
      ...     warn_message = "Please, don't use this class"

  Record the warning

      >>> with warnings.catch_warnings(record=True) as warns:
      ...     d = D()
      ...     warns[0].message.args[0]
      "Please, don't use this class"

  __init__(*args: P.args, **kwargs: P.kwargs) → None
  warn_message = 'This class will be removed in future versions'

## `ModuleProxy`

class nibabel.deprecated.ModuleProxy(module_name: str)

  Bases: `object`

  Proxy for module that may not yet have been imported

  Parameters:
    module_name str

      Full module name e.g. `nibabel.minc`

  Examples

  ::

    arr = np.arange(24).reshape((2, 3, 4)) nifti1 = ModuleProxy(‘nibabel.nifti1’) nifti1_image = nifti1.Nifti1Image(arr, np.eye(4))

  So, the `nifti1` object is a proxy that will import the required module when you do attribute access and return the attributes of the imported module.

  __init__(module_name: str) → None

## `VisibleDeprecationWarning`

class nibabel.deprecated.VisibleDeprecationWarning

  Bases: `UserWarning`

  Deprecation warning that will be shown by default

  Python >= 2.7 does not show standard DeprecationWarnings by default:

  http://docs.python.org/dev/whatsnew/2.7.html#the-future-for-python-2-x

  Use this class for cases where we do want to show deprecations by default.

  __init__(*args, **kwargs)

## alert_future_error

nibabel.deprecated.alert_future_error(msg: str, version: str, *, warning_class: type[Warning] = <class 'FutureWarning'>, error_class: type[Exception] = <class 'RuntimeError'>, warning_rec: str = '', error_rec: str = '', stacklevel: int = 2) → None

  Warn or error with appropriate messages for changing functionality.

  Parameters:
    msg str

      Description of the condition that led to the alert

    version str

      NiBabel version at which the warning will become an error

    warning_class subclass of Warning, optional

      Warning class to emit before version

    error_class subclass of Exception, optional

      Error class to emit after version

    warning_rec str, optional

      Guidance for suppressing the warning and avoiding the future error

    error_rec: str, optional

      Guidance for resolving the error

    stacklevel: int, optional

      Warnings stacklevel to provide; note that this will be incremented by 1, so provide the stacklevel you would provide directly to warnings.warn()