Skip to main content
=============
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.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

Metadata

Release files for fortran-magic 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fortran-magic 0.6.1
File Size Uploaded
fortran-magic-0.6.1.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fortran-magic 0.6.1
File Interpreter ABI Platform
fortran_magic-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.4 kB

Release files / fortran-magic-0.6.1.tar.gz

Download URL fortran-magic-0.6.1.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
329dc185c332e97518f45918573da2fdfd2a73e487eff0a3496e4729741569f0
BLAKE2b-256 checksum
How to use checksums
13b892d45d7ce67cbcbe47c144b640c80add10c795eec0a508ebda5f2d1f5452
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / fortran_magic-0.6.1-py3-none-any.whl

Download URL fortran_magic-0.6.1-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
860abe218d55197176561fa50614fc9e39b7391d4265dc590f3553020417c458
BLAKE2b-256 checksum
How to use checksums
e35c39ab5afaddff9be4b944566f491cc018cdbd6bb0f33c22b0968257402013
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.0

2 release files

0.9

2 release files

0.8

2 release files

0.7.1

2 release files

0.7

2 release files

This release

0.6.1 This release

2 release files

0.6

2 release files

0.5.1

2 release files

0.5

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4

1 release file

0.3

1 release file

0.2.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page