Skip to main content

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

Project description

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

.. image:: https://pypip.in/v/fortran-magic/badge.png
:target: https://pypi.python.org/pypi/fortran-magic
:alt: Latest PyPI version

.. image:: https://pypip.in/d/fortran-magic/badge.png
:target: https://pypi.python.org/pypi/fortran-magic
:alt: Number of PyPI downloads


Compile and import symbols from a cell with Fortran code, 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


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 the subroutine `f1` is already available in your python session as a function::

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


See the documentation_ for further details.



Changelog
=========

0.7 / 2016-03-13
----------------

- Fix cross compatibility with older NumPy and Python 3.

Thanks to `Elliott Sales de Andrade`_ for this contribution

.. _Elliott Sales de Andrade: https://github.com/QuLogic


0.6 / 2015-12-02
----------------

- Decode text before printing
- Call f2py module instead of binary (numpy >=1.10 is mandatory)
- Check if f2py command failed

Thanks to `Juan Luis Cano Rodríguez`_ for this contribution

.. _Juan Luis Cano Rodriguez: https://github.com/Juanlu001


0.5 / 2015-01-21
----------------

- Call f2py via subprocess. It fixes problems finding fortran compilers under Windows. (Thanks to `David Powell`_ )

.. _David Powell: https://github.com/DavidPowell

0.4.3 / 2013-12-09
-------------------

- Fix two python3.2+ incompatibilities (Thanks `Ramon Crehuet`_ for the report)

.. _Ramon Crehuet: https://github.com/rcrehuet

0.4.2 / 2013-10-08
------------------

- Implement the ``--extra`` option (Thanks to `Denis Vasilyev`_ for the help)
- Include ``%%fortran``'s args in the hashing, so the same cell are
recompiled with the same code but different arguments

.. _Denis Vasilyev: https://github.com/Vutshi

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

- 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.7.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

fortran_magic-0.7-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file fortran-magic-0.7.tar.gz.

File metadata

  • Download URL: fortran-magic-0.7.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fortran-magic-0.7.tar.gz
Algorithm Hash digest
SHA256 825a21df6c1d32ee80127e6fcb3cbbeaff1cc103be1ea6f3855fc52b80ccdac0
MD5 dc57d9c5daa0e16f6ce315045481b63e
BLAKE2b-256 6ed8e89e0c14bb91de926c47b91796eb7a035d9f7b7e4bbdb697fffc4df8115a

See more details on using hashes here.

File details

Details for the file fortran_magic-0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for fortran_magic-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1450004ff36e22f073ebabec9759e4db842d07fdc2453afa7bf50cc65ed06e5f
MD5 e8146c29f76a7d92f7801d706c3c4705
BLAKE2b-256 53b1d664bd431354c450f40fa436b2c9306666cd417b23098dd5636751c557a4

See more details on using hashes here.

Supported by

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