Skip to main content

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

Project description

=============
Fortran magic
=============

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`__

__ documentation_
.. _documentation: http://nbviewer.ipython.org/urls/raw.github.com/mgaitan/fortran_magic/master/documentation.ipynb


Install
=======

You can install or upgrade via pip

pip install -U fortran-magic

or directly from the repository using the `%install_ext` magic command::

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.4.1 / 2013-07-10
----------------

- Implement the ``--extra`` option.
- Include ``%%fortran``'s args in the hashing, so the same cell are
recompiled if its arguments changes

0.3 / 2013-03-10
------------------

- Added ``%fortran_config`` to set and persist default arguments
for ``%%fortran``
- Improve documentation

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

.. _Bradley Froehle: https://github.com/bfroehle

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.

Source Distribution

fortran-magic-0.4.1.tar.gz (6.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page