Skip to main content

findent: powerful Fortran formatter

Project description

PyPI Latest Release PyPi release

findent: powerful Fortran formatter

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

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.1.3-py2.py3-none-win_amd64.whl (4.2 MB view details)

Uploaded Python 2Python 3Windows x86-64

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

Uploaded Python 2Python 3

findent-4.1.3-py2.py3-none-macosx_10_15_x86_64.whl (366.3 kB view details)

Uploaded Python 2Python 3macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: findent-4.1.3-py2.py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: Python 2, Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for findent-4.1.3-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a6ce1f2bba4cd6e60fea0175862df2455136d42d81cdefbf025170c81772ba47
MD5 b0699cbede205e96842d8b00d7d97140
BLAKE2b-256 f2e33384b6d171f4bbe56d375f2b0c0c1dbf92a4d3e5581d67501920ff83af54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: findent-4.1.3-py2.py3-none-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for findent-4.1.3-py2.py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 724a15998956b0599ffca43b4175db2e195015b53f4e2cfeac4e97529ae9d0de
MD5 d4723907a0dfeacf6862728ff1093831
BLAKE2b-256 3185371f3884e6e19e40e7e734413d34b4eab767b5e81907b7d9bf555ad8dc16

See more details on using hashes here.

File details

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

File metadata

  • Download URL: findent-4.1.3-py2.py3-none-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 366.3 kB
  • Tags: Python 2, Python 3, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for findent-4.1.3-py2.py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 230c7d81cebd6a5119fea15b42d58bd3370335ee89ed2d7ece10cae6211b9ed8
MD5 6828b27645cb463efbec8b5d2b7388c3
BLAKE2b-256 c591e42eaf48352b0e2b9e484fc372d3da569ac58eedf841fd90465430ac28d2

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