Chris@87: #!/usr/bin/env python Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: __all__ = ['run_main', 'compile', 'f2py_testing'] Chris@87: Chris@87: import os Chris@87: import sys Chris@87: import subprocess Chris@87: Chris@87: from . import f2py2e Chris@87: from . import f2py_testing Chris@87: from . import diagnose Chris@87: Chris@87: from .info import __doc__ Chris@87: Chris@87: run_main = f2py2e.run_main Chris@87: main = f2py2e.main Chris@87: Chris@87: def compile(source, Chris@87: modulename = 'untitled', Chris@87: extra_args = '', Chris@87: verbose = 1, Chris@87: source_fn = None Chris@87: ): Chris@87: ''' Build extension module from processing source with f2py. Chris@87: Read the source of this function for more information. Chris@87: ''' Chris@87: from numpy.distutils.exec_command import exec_command Chris@87: import tempfile Chris@87: if source_fn is None: Chris@87: f = tempfile.NamedTemporaryFile(suffix='.f') Chris@87: else: Chris@87: f = open(source_fn, 'w') Chris@87: Chris@87: try: Chris@87: f.write(source) Chris@87: f.flush() Chris@87: Chris@87: args = ' -c -m %s %s %s'%(modulename, f.name, extra_args) Chris@87: c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' % \ Chris@87: (sys.executable, args) Chris@87: s, o = exec_command(c) Chris@87: finally: Chris@87: f.close() Chris@87: return s Chris@87: Chris@87: from numpy.testing import Tester Chris@87: test = Tester().test Chris@87: bench = Tester().bench