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

Uploaded Python 2Python 3Windows x86-64

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

Uploaded Python 2Python 3

findent-4.2.0-py2.py3-none-macosx_10_15_x86_64.whl (366.6 kB view details)

Uploaded Python 2Python 3macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: findent-4.2.0-py2.py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 2, Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for findent-4.2.0-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 634c50ef80c4e72ac17f8e2a420c64cacc49cbe3f7bbbd20bff2cae77341b102
MD5 15718fff635e6b1d236d3b79e82bd7fb
BLAKE2b-256 6ce79df28fd0c2d65f47d2f2e520f112502601b7cd3035b6f3d03bae9e084dad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: findent-4.2.0-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.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for findent-4.2.0-py2.py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 042998ea801c0a85bbbd8490c341a731d50991480d4ca6367b10538538ac9cb9
MD5 f8354db8d8ebb0f9e413e99143af3a92
BLAKE2b-256 8377ef1c9453ea9609966159b5e8e0f5385736ac4be0c5a3ef0da589b9f08c40

See more details on using hashes here.

File details

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

File metadata

  • Download URL: findent-4.2.0-py2.py3-none-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 366.6 kB
  • Tags: Python 2, Python 3, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for findent-4.2.0-py2.py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f308f93f371d41f292ba8de8fd587c22415e309e897b181f0dc72e45e2c0c863
MD5 36e68794638f1000b81ec3133f9f0f13
BLAKE2b-256 a1a490612251a7be33771b17709d09ab2402174b2e31178b62c5db897a6dc865

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