Skip to main content

findent: powerful Fortran formatter

Project description

PyPI Latest Release PyPi release

findent: powerful Fortran formatter

alt

What is it?

findent indents/beautifies/converts and can optionally generate the dependencies of Fortran sources.

Features

  • Supports Fortran-66 up to Fortran-2018
  • Converts from Fixed Form to Free Form and vice-versa
  • Honours cpp and coco preprocess statements
  • Honours OpenMP conditionals
  • Validated against all constructs in 'Modern Fortran explained, Incorporating Fortran 2018, Metcalf e.a.'
  • Supported platformrs: Unix and Windows
  • High speed: 50K - 100K lines per second
  • Provides wrapper wfindent (wfindent.bat on Windows) for batch file processing
  • vim, gedit, emacs: findent optionally emits configuration files for these editors to use findent as a plugin.
  • GUI frontent available in a separate package: jfindent

Installation

Normal installation using pip

pip install findent

Supported platforms

OS Version Architecture
Linux All with GLIBC 2.27+ x64
MacOS 10.15+ x64
Windows 10 and Server x64

Examples

Format file in.f90 to out.f90

findent < in.f90 > out.f90

Format with 4-space indentation and convert Fixed Form in.f to Free Form out.f90

findent -i4 -Rr < in.f > out.f90

Format and refactor all files with .f extension in the current directory

wfindent -i4 -Rr *.f

Generating Fortran source dependencies for use in Makefile

findent will generate a dependency list for:

  • definitions and uses of modules and submodules
  • include, #include and ??include statements

In your Makefile add something similar to:

findent --makefdeps > makefdeps
chmod +x makefdeps

include deps
dep deps:
  ./makefdeps *.f90 > deps

The flag --makefdeps generates a script in the standard output. Depending on your usecase the script might not suffice and you will need to write your own version.

Editor incorporation

(G) VIM users

Installation instructions:

findent --vim_help

Documentation:

:help equalprg

:help indentexpr

GEDIT users

Installation instructions:

findent --gedit_help

EMACS users

Installation instructions:

findent --emacs_help

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

findent-4.2.1-py2.py3-none-win_amd64.whl (4.0 MB view details)

Uploaded Python 2Python 3Windows x86-64

findent-4.2.1-py2.py3-none-manylinux1_x86_64.whl (2.3 MB view details)

Uploaded Python 2Python 3

findent-4.2.1-py2.py3-none-macosx_10_15_x86_64.whl (370.3 kB view details)

Uploaded Python 2Python 3macOS 10.15+ x86-64

File details

Details for the file findent-4.2.1-py2.py3-none-win_amd64.whl.

File metadata

  • Download URL: findent-4.2.1-py2.py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 2, Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for findent-4.2.1-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 817e938177c82e5eb075df6959bb0a14b66d334482e76d3404a570d95fa6a815
MD5 4d7ffd170e1e8ba8449748da1f927389
BLAKE2b-256 2a76ee53cc2c1065ba43f1155182f7d00f3e8f277a0bf0bd37b07af40e75c4e4

See more details on using hashes here.

File details

Details for the file findent-4.2.1-py2.py3-none-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for findent-4.2.1-py2.py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0983641a884fffaee4ad91e4fcf54f1584c83cd606da6094897eccc8f8d93db7
MD5 92157473671778219e77aecfda2bcd2c
BLAKE2b-256 07a345a427085adcb375bc44603a06f48b26a9e5e60297d5b9ccad67b03b59c1

See more details on using hashes here.

File details

Details for the file findent-4.2.1-py2.py3-none-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for findent-4.2.1-py2.py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 343001ffb30e1c15dd6a03ed8cf700838eb0fa626e4c62bb6f30bd82e7fe5a4b
MD5 6f72a5b9627ea030f7ca453222dec88b
BLAKE2b-256 a51669245c443db6f8558155af5ba682c6eb76a5763ad7b49c270234708c4085

See more details on using hashes here.

Supported by

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