F2PY(1) - man page online | user commands

Fortran to Python interface generator.

F2PY(1)                              General Commands Manual                              F2PY(1)


f2py - Fortran to Python interface generator


(1) To construct extension module sources: f2py [<options>] <fortran files> [[[only:]||[skip:]] <fortran functions> ] [: <fortran files> ...] (2) To compile fortran files and build extension modules: f2py -c [<options>, <config_fc options>, <extra options>] <fortran files> (3) To generate signature files: f2py -h <filename.pyf> ...< same options as in (1) >


This program generates a Python C/API file (<modulename>module.c) that contains wrappers for given Fortran or C functions so that they can be called from Python. With the -c option the corresponding extension modules are built.


-h <filename> Write signatures of the fortran routines to file <filename> and exit. You can then edit <filename> and use it instead of <fortran files>. If <filename>==stdout then the signatures are printed to stdout. <fortran functions> Names of fortran routines for which Python C/API functions will be generated. Default is all that are found in <fortran files>. skip: Ignore fortran functions that follow until `:'. only: Use only fortran functions that follow until `:'. : Get back to <fortran files> mode. -m <modulename> Name of the module; f2py generates a Python/C API file <modulename>module.c or extension module <modulename>. Default is ´untitled´. --[no-]lower Do [not] lower the cases in <fortran files>. By default, --lower is assumed with -h key, and --no-lower without -h key. --build-dir <dirname> All f2py generated files are created in <dirname>. Default is tempfile.mkdtemp(). --overwrite-signature Overwrite existing signature file. --[no-]latex-doc Create (or not) <modulename>module.tex. Default is --no-latex-doc. --short-latex Create 'incomplete' LaTeX document (without commands \documentclass, \tableofcon‐ tents, and \begin{document}, \end{document}). --[no-]rest-doc Create (or not) <modulename>module.rst. Default is --no-rest-doc. --debug-capi Create C/API code that reports the state of the wrappers during runtime. Useful for debugging. -include´<includefile>´ Add CPP #include statement to the C/API code. <includefile> should be in the for‐ mat of either `"filename.ext"' or `<filename.ext>'. As a result <includefile> will be included just before wrapper functions part in the C/API code. The option is depreciated, use `usercode` statement in signature files instead. --[no-]wrap-functions Create Fortran subroutine wrappers to Fortran 77 functions. --wrap-functions is default because it ensures maximum portability/compiler independence. --help-link [..] List system resources found by [..] may contain a list of resources names. See also --link-<resource> switch below. --quiet Run quietly. --verbose Run with extra verbosity. -v Print f2py version ID and exit. --include_paths path1:path2:... Search include files (that f2py will scan) from the given directories.


The following options are effective only when -c switch is used. --help-compiler List available Fortran compilers [DEPRECIATED]. --fcompiler=<name> Specify Fortran compiler type by vendor. --compiler=<name> Specify C compiler type (as defined by distutils) --fcompiler-exec=<path> Specify the path to F77 compiler [DEPRECIATED]. --f90compiler-exec=<path> Specify the path to F90 compiler [DEPRECIATED]. --help-fcompiler List available Fortran compilers and exit. --f77exec=<path> Specify the path to F77 compiler. --f90exec=<path> Specify the path to F90 compiler. --f77flags="..." Specify F77 compiler flags. --f90flags="..." Specify F90 compiler flags. --opt="..." Specify optimization flags. --arch="..." Specify architecture specific optimization flags. --noopt Compile without optimization. --noarch Compile without arch-dependent optimization. --debug Compile with debugging information.


The following options are effective only when -c switch is used. --link-<resource> Link extension module with <resource> as defined by numpy_distutils/ E.g. to link with optimized LAPACK libraries (vecLib on MacOSX, ATLAS elsewhere), use --link-lapack_opt. See also --help-link switch. -L/path/to/lib/ -l<libname> -D<define> -U<name> -I/path/to/include/ <filename>.o <filename>.so <filename>.a -DPREPEND_FORTRAN -DNO_APPEND_FORTRAN -DUPPERCASE_FORTRAN -DUNDERSCORE_G77 Macros that might be required with non-gcc Fortran compilers. -DF2PY_REPORT_ATEXIT To print out a performance report of F2PY interface when python exits. Available for Linux. -DF2PY_REPORT_ON_ARRAY_COPY=<int> To send a message to stderr whenever F2PY interface makes a copy of an array. Inte‐ ger <int> sets the threshold for array sizes when a message should be shown.


Python 1.5.2 or higher (2.x is supported). Numerical Python 13 or higher (20.x,21.x,22.x,23.x are supported). Optional Numarray 0.9 or higher partially supported. numpy_distutils from Scipy (can be downloaded from F2PY homepage)




For instructions on reporting bugs, see


Pearu Peterson <>


Main website: User's Guide: Mailing list: Scipy website:
Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Pearu Peterson


NumPy License


This manual Reference Other manuals
f2py(1) referred by f2py3(1)
refer to python2.7(1)