def from_cli(opt):
    """Parses the command line options and sets the FFT backend
    for each (available) scheme. Aside from setting the default
    backed for this context, this function will also call (if
    it exists) the from_cli function of the specified backends in
    the *current* scheme; typically one would only call this function
    once inside of a scheme context manager, but if it is desired
    to perform FFTs both inside and outside of a context, then
    this function would need to be called again.

    Parameters
    ----------
    opt: object
        Result of parsing the CLI with OptionParser, or any object with
        the required attributes.

    Returns
    """

    set_backend(opt.fft_backends)

    # Eventually, we need to be able to parse command lines
    # from more than just the current scheme's preference. But
    # the big problem is that calling from_cli for more than one
    # backend could cause interference; apparently, FFTW and MKL
    # don't play nice unless FFTW has been compiled and linked
    # with icc (and possibly numpy, scipy, and/or Python as well?)

    backend = get_backend()
    try:
        backend.from_cli(opt)
    except AttributeError:
        pass
Parses the command line options and sets the FFT backend
    for each (available) scheme. Aside from setting the default
    backed for this context, this function will also call (if
    it exists) the from_cli function of the specified backends in
    the *current* scheme; typically one would only call this function
    once inside of a scheme context manager, but if it is desired
    to perform FFTs both inside and outside of a context, then
    this function would need to be called again.

    Parameters
    ----------
    opt: object
        Result of parsing the CLI with OptionParser, or any object with
        the required attributes.

    Returns