Skip to main content

Automatically generate wrapper to integrate Fortran and Python

Project description

Fortran-Python wrapper

Automatically generate wrappers to integrate Fortran and Python

This project consists of a few different components:

  • fgen
  • fgen_runtime
  • libfgen

Full documentation can be found at: fgen.readthedocs.io. We recommend reading the docs there because the internal documentation links don't render correctly on GitLab's viewer.

Installation

Fortran-Python wrapper can be installed with conda or pip:

pip install fgen
conda install -c conda-forge fgen

For developers

For development, we rely on poetry for all our dependency management. To get started, you will need to make sure that poetry is installed (instructions here, we found that pipx and pip worked better to install on a Mac).

For all of work, we use our Makefile. You can read the instructions out and run the commands by hand if you wish, but we generally discourage this because it can be error prone. In order to create your environment, run make virtual-environment.

Once the virtual environment has been created, libfgen can be built using make build. This library contains the common Fortran code used by all wrappers and uses CMake to build and requires a working Fortran compiler.

If there are any issues, the messages from the Makefile should guide you through. If not, please raise an issue in the issue tracker.

For the rest of our developer docs, please see .

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

fgen-0.1.0.tar.gz (16.7 kB view hashes)

Uploaded Source

Built Distribution

fgen-0.1.0-py3-none-any.whl (18.6 kB view hashes)

Uploaded Python 3

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