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

Uploaded Python 2Python 3Windows x86-64

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

Uploaded Python 2Python 3

findent-4.2.2-py2.py3-none-macosx_10_15_x86_64.whl (371.6 kB view details)

Uploaded Python 2Python 3macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: findent-4.2.2-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.8.10

File hashes

Hashes for findent-4.2.2-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 75bbe5d981fab3f6d7794adb995b14eb3acd4b3aeb16512c8dc722d234afefd8
MD5 81f26aa39e3bf2a60938ff62bf9c6f12
BLAKE2b-256 2e5c4d627fbb1a4de337025199198f1b126a58b26ba347f175b32fd73ae62f36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for findent-4.2.2-py2.py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a69125c92f6dae46197da8f5b420fa47dbab3fde98badd5ed79756937abb96fc
MD5 d5c8d1683c03ab2d5b020b8fe18a349f
BLAKE2b-256 de2072d92829c75d004df2397a9293d07520072018a081746ca138fabb48b434

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for findent-4.2.2-py2.py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 866cf968c69965ef971cd5bf7ae0e1df1bfad6787f2b6764db2081c57533a61f
MD5 5c4571ccf690e05ded4a7c67566301ac
BLAKE2b-256 9dc2773f7bd59d67ba0b93a406a547581d417b22cf59900e335024fc3812ac9a

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