If I remove `str` I get

    D:\Git\ipython\IPython\extensions\cythonmagic.py in cython(self, line, cell)
        240                 extra_link_args = args.link_args,
        241                 libraries = args.lib,
    --> 242                 language = 'c++' if args.cplus else 'c',
        243             )
        244             build_extension = self._get_build_extension()

    C:\WinPython-64bit-2.7.5.1\python-2.7.5.amd64\lib\distutils\extension.pyc in __init__(self, name, sources, include_dirs, define_macros, undef_macros, library_dirs, libraries, runtime_library_dirs, extra_objects, extra_compile_args, extra_link_args, export_symbols, swig_opts, depends, language, **kw)
        104                   **kw                      # To catch unknown keywords
        105                  ):
    --> 106         assert type(name) is StringType, "'name' must be a string"
        107         assert (type(sources) is ListType and
        108                 map(type, sources) == [StringType]*len(sources)), \

    AssertionError: 'name' must be a string

on Python 2.7.5, Windows 8 64 bits.