skip to navigation
skip to content

Fortpy 1.0.3

Fortran Parsing, Unit Testing and Intellisense

Latest Version: 1.7.7


Python Emacs Intellisense and Unit Testing Support for Fortran

Fortpy is a python based parsing, unit testing and auto-complete
framework for supporting Fortran 2003 including object oriented
constructs. Auto-completion integration currently only available for
emacs. Here are some of the features:

Python Package Installation

Fortpy requires the following python packages: -
`python-epc <https:"" tkf="" python-epc="">`__ - argparse (for
Python 2.6) - `paramiko <https:"" paramiko="" paramiko="">`__ if you
will be editing over SSH using tramp in emacs and still want
auto-complete support. - pyparsing

If you install Fortpy using ``pip install`` the dependencies will
automatically get installed. In order to have Fortpy on the python
package index, you need to include a windows installer; since I don't
care about Windows for Fortpy, you can instead install it straight from


pip install git+

Unfortunately, one of the packages that paramiko depends on breaks on an
automated install because of some changes in the latest version of
xcode. Manually installing paramiko with this command will fix that:


sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install ./

You run this command from within the paramiko repo that you have cloned
to your computer. You can `download the
repo <https:"" paramiko="" paramiko="">`__.

Emacs Lisp Package Installation


Here are some of the things you can do once Fortpy is integrated with
Emacs using fortpy.el:

.. figure:: ../master/docs/screenshots/signature.png
:alt: Help with call signatures of functions and subroutines.

Automatic Signature Suggestions
Help with call signatures of functions and subroutines.

.. figure:: ../master/docs/screenshots/completion.png
:alt: Completion suggestions for both methods and variables embedded in user-defined types.

Embedded Member Suggestions
Completion suggestions for both methods and variables embedded in
user-defined types.

.. figure:: ../master/docs/screenshots/bracket_complete.png
:alt: Documentation strings for methods embedded in user-defined types

Bracket Complete Embedded Methods
Documentation strings for methods embedded in user-defined types.


Auto-complete Support

- Integration with emacs using virtualenv, epc and auto-complete.
- Context-specific suggestions for variable names and available

See the `isense package
documentation <https:"" rosenbrockc="" fortpy="" wiki="" intellisense-package="">`__

XML Documentation Standard

Fortpy uses an `XML documentation
standard <https:"" rosenbrockc="" fortpy="" wiki="" xml-documentation-standard="">`__
that is derived from the Microsoft XML code documentation standard. As
such, many of the same tags and attributes are available for decorating
the methods, types and variables in a Fortran module. Because the
parsers were designed to work with Fortran 2003, they understand
embedded methods in user types that point to other methods in the
module. See the wiki page on documenting your code to work with Fortpy.

.. figure:: ../master/docs/screenshots/xml_docs.png
:alt: XML documentation standard allows for complex documentation strings and structures.

XML Documentation Example
Automated Unit Testing

Because Fortpy is aware of the structure and dependencies between
modules, it can generate automated unit tests for individual functions.
You can specify the tests to run in some XML documentation decorating
the method to test. When the unit testing scripts are run, a fortran
program gets generated and all the necessary dependencies are
automatically included. After running the program, the framework tests
the output and generates a similarity score. `See the full
documentation <https:"" rosenbrockc="" fortpy="" wiki="" unit-testing-package="">`__.

Code Version Support

Fortpy's unit testing framework makes use of XML templates that specify
the structure of input/output files to run and test. Using these same
templates, the interoperability package allows input and ouput files to
be converted between versions of the Fortran program. Since most Fortran
programs run on simple text files for input, the interop package also
gives support for XML input files to be used; scripts convert the XML
input files to the correct plain-text format at run-time.  
File Type Py Version Uploaded on Size
Fortpy-1.0.3-py2.py3-none-any.whl (md5) Python Wheel 2.7 2014-06-18 117KB
Fortpy-1.0.3.tar.gz (md5) Source 2014-06-18 318KB