Linux Commands Examples

A great documentation place for Linux commands

f2py

Fortran to Python interface generator


see also : python

Synopsis

(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) >


add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!

examples

1
source
            
f2py -c tmodtom.f -m tmodtom
f2py -c claret4ppy.f -m claret4ppy
f2py -c claretquadpy.f -m claretquadpy
1
source
            
f2py -c xcorr.pyf xcorr.c
0
source
            
f2py -c -m _psmout psmout.f
0
source
            
f2py -c -m _pspier pspier.f
0
source
            
f2py -c -m _toeplitz toeplitz.f90
0
source
            
f2py -c -m pysimpson simpson.f
0
source
            
f2py --f90exec=ifort -c -m gridder_fc gridder_fc.f90
0
source
            
f2py --f90exec=gfortran -c -m gridder_fc gridder_fc.f90

description

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.

options

-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.mktemp().

--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, \tableofcontents, 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 format 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 system_info.py. [..] 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.

config fc options

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.

copyright

Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Pearu Peterson

extra options

The following options are effective only when -c switch is used.
--link-<resource>

Link extension module with <resource> as defined by numpy_distutils/system_info.py. 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. Integer <int> sets the threshold for array sizes when a message should be shown.

internet resources

Main website: http://cens.ioc.ee/projects/f2py2e/

User’s Guide: http://cens.ioc.ee/projects/f2py2e/usersguide/

Mailing list: http://cens.ioc.ee/mailman/listinfo/f2py-users/

Scipy website: http://www.numpy.org

license

NumPy License

requirements

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)

version

2.45.241


bugs

For instructions on reporting bugs, see

http://cens.ioc.ee/projects/f2py2e/FAQ.html


see also

python


author

Pearu Peterson <pearu[:at:]cens.ioc[:dot:]ee>

How can this site be more helpful to YOU ?


give  feedback