Skip to main content

FORD, standing for FORtran Documenter, is an automatic documentation generator for modern Fortran programs.

Project description

FORD

Latest Version Latest homebrew version GitHub license DOI

This is an automatic documentation generator for modern Fortran programs. FORD stands for FORtran Documenter. As you may know, "to ford" refers to crossing a river (or other body of water). It does not, in this context, refer to any company or individual associated with cars.

Ford was written due to Doxygen's poor handling of Fortran and the lack of comparable alternatives. ROBODoc can't actually extract any information from the source code and just about any other automatic documentation software I found was either proprietary, didn't work very well for Fortran, or was limited in terms of how it produced its output. f90doc is quite good and I managed to modify it so that it could handle most of Fortran 2003, but it produces rather ugly documentation, can't provide as many links between different parts of the documentation as I'd like, and is written in Perl (which I'm not that familiar with and which lacks the sort of libraries found in Python for producing HTML content).

The goal of FORD is to be able to reliably produce documentation for modern Fortran software which is informative and nice to look at. The documentation should be easy to write and non-obtrusive within the code. While it will never be as feature-rich as Doxygen, hopefully FORD will be able to provide a good alternative for documenting Fortran projects.

Capabilities

Current features include:

  • the ability to extract information about variables, procedures, procedure arguments, derived types, programs, and modules from the source code.
  • the ability to extract documentation from comments in the source code.
  • LaTeX support in documentation using MathJax.
  • searchable documentation, using Tipue Search.
  • author description and social media (including Github!) links.
  • links to download the source code.
  • links to individual files, both in their raw form or in HTML with syntax highlighting.
  • use of Markdown to type-set documentation.
  • links between related parts of the software.
  • Bootstrap CSS for the documentation, making it both functional and pretty.
  • configurable settings.
  • ability to create a hierarchical set of pages containing general information, not associated with any particular part of the source code.
  • display an entry for non-Fortran source files with file-level documentation and syntax highlighted code.

Installation

The simplest way to install FORD is using pip. This can be done with the commands:

sudo apt-get install python-pip python-dev build-essential #For Debian-based Linux, if pip not already installed
sudo pip install ford

Pip will automatically handle all dependencies for you. If you do not have administrative rights on the computer where you want to produce documentation, pip will allow you to install FORD and its dependencies in a virtualenv located somewhere in your home directory.

If you prefer, you can install all of those dependencies manually and clone FORD from Github. Then place FORD somewhere in your PYTHONPATH.

Alternatively, FORD is available through the Homebrew package manager for Mac OS X. To update Homebrew and install FORD, run these commands in a terminal:

brew update
brew install FORD

If you would like to install the latest development (master) branch from github, simply add the --HEAD flag: brew install --HEAD FORD

Documentation

More complete documentation can be found in the project wiki.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but without any warrenty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see the GNU website.

Documents produced by FORD are derivative works derived from the input used in their production; they are not affected by this license.

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

FORD-6.1.9.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

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

FORD-6.1.9-py3-none-any.whl (666.1 kB view details)

Uploaded Python 3

File details

Details for the file FORD-6.1.9.tar.gz.

File metadata

  • Download URL: FORD-6.1.9.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for FORD-6.1.9.tar.gz
Algorithm Hash digest
SHA256 2a4823bedf8e94b347de6c5b6a9b2f429ba5a4cfddc33e9b3d928a6ec1db08c8
MD5 125735b79ba2ab1def1e4f4f18456439
BLAKE2b-256 83444e80a58e597b7681f5c2d454a614cf4c5de5dad2557df24ccc4b55d79a84

See more details on using hashes here.

File details

Details for the file FORD-6.1.9-py3-none-any.whl.

File metadata

  • Download URL: FORD-6.1.9-py3-none-any.whl
  • Upload date:
  • Size: 666.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for FORD-6.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 b404ae94bd1d9d53b7ec0e35396a326c92996fe405c11a2149ef960c48b59327
MD5 1c81389f7b9133f0a2985714e8e73763
BLAKE2b-256 d7a4ba68aab428844948c82a9db42c9aa5ebe472f8a5f3611a185a2a287fed80

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