Skip to main content

An extension for IPython Notebook that help to use Fortran in your interactive session.

Project description

Compile and import everything from a Fortran code cell, using f2py.

The contents of the cell are written to a .f90 file in the directory IPYTHONDIR/fortran using a filename with the hash of the code. This file is then compiled. The resulting module is imported and all of its symbols are injected into the user’s namespace.

author:Martín Gaitán <gaitan@gmail.com>
homepage:https://github.com/mgaitan/fortran_magic
documentation:see this notebook

Install

Install the extension with %install_ext

In[1]: %install_ext https://raw.github.com/mgaitan/fortran_magic/master/fortranmagic.py

Basic usage

Once it’s installed, you can load it with %load_ext fortranmagic. Then put your Fortran code in a cell started with the cell magic %%fortran`. For example:

In[2]: %load_ext fortranmagic


In[3]: %%fortran

       subroutine f1(x, y, z)
            real, intent(in) :: x,y
            real, intent(out) :: z

            z = sin(x+y)

       end subroutine f1

Every symbol is automatically imported. So f1 is already available:

In[4]:  f1(1.0, 2.1415)
Out[4]: 9.26574066397734e-05

See the documentation for details.

Changelog

0.2.1 / 2013-09-24

  • Packaged and registered in pypi
  • Starting a version’s changelog

0.2 / 2013-09-19

  • Fortran highlighting in a %%fortran cell
  • Works (or it should) in any platform (linux/windows/osx) and with py3 (thanks to Bradley Froehle)
  • Many f2py’s arguments exposed as magic arguments
  • Verbosity handling
  • Improved documentation

0.1 / 2013-09-08

  • First public release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for fortran-magic, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size fortran-magic-0.2.1.tar.gz (5.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page