ford

Automatically generates FORtran Documentation from comments within the code.

https://github.com/fortran-foss-programmers/ford

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    21 of 60 committers (35.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords

documentation-generator documentation-tool fortran fortran-documenter fortran-language static-analysis

Keywords from Contributors

parallel density-functional-theory tight-binding closember version
Last synced: 6 months ago · JSON representation

Repository

Automatically generates FORtran Documentation from comments within the code.

Basic Info
  • Host: GitHub
  • Owner: Fortran-FOSS-Programmers
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage: https://forddocs.readthedocs.io
  • Size: 8.94 MB
Statistics
  • Stars: 430
  • Watchers: 36
  • Forks: 138
  • Open Issues: 85
  • Releases: 73
Topics
documentation-generator documentation-tool fortran fortran-documenter fortran-language static-analysis
Created about 11 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.md

FORD

Latest Version Latest homebrew version Latest spack version PyPI Total Downloads 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 Lunr 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:

pip install ford

Pip will automatically handle all dependencies for you. By default this will place ford in ~/.local/bin -- you might need to add this to your PATH.

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

FORD is also available through the spack package manager by running the following command:

spack install py-ford

Documentation

More complete documentation can be found in the docs.

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.

Owner

  • Name: Fortran F/OSS Programmers Group
  • Login: Fortran-FOSS-Programmers
  • Kind: organization
  • Email: contact@izaakbeekman.com
  • Location: Planet Earth

A space to collaborate on new open source Fortran and Fortran related projects

GitHub Events

Total
  • Fork event: 9
  • Create event: 11
  • Release event: 3
  • Issues event: 33
  • Watch event: 23
  • Delete event: 6
  • Member event: 1
  • Issue comment event: 60
  • Push event: 28
  • Pull request review comment event: 3
  • Pull request review event: 16
  • Pull request event: 41
  • Gollum event: 2
Last Year
  • Fork event: 9
  • Create event: 11
  • Release event: 3
  • Issues event: 33
  • Watch event: 23
  • Delete event: 6
  • Member event: 1
  • Issue comment event: 60
  • Push event: 28
  • Pull request review comment event: 3
  • Pull request review event: 16
  • Pull request event: 41
  • Gollum event: 2

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 1,168
  • Total Committers: 60
  • Avg Commits per committer: 19.467
  • Development Distribution Score (DDS): 0.442
Past Year
  • Commits: 213
  • Committers: 10
  • Avg Commits per committer: 21.3
  • Development Distribution Score (DDS): 0.075
Top Committers
Name Email Commits
Peter Hill p****l@y****k 652
Chris MacMackin c****n@g****m 279
Joseph Wood j****d@m****u 26
Harald Klimach h****d@k****e 22
Maarten Braakhekke m****e@w****l 16
Daniel Petró d****o@s****e 15
Harald Klimach h****h@d****e 11
Izaak Beekman z****n@g****m 11
Harald Klimach h****h@u****e 10
pclausen p****n@g****m 9
Mia Jones m****8@g****m 8
jacobwilliams j****s 6
lmanchon l****n@u****r 5
Kieran Bell 1****0 5
Bálint Aradi b****9@g****m 4
Iain Barrass i****s@q****k 4
Marco Restelli m****i@g****m 4
Khang(Kevin) H. Nguyen k****6@g****m 4
haraldkl h****l 4
ecasglez 2****z 4
David Dickinson d****9 4
Meax5qiu 1****u 4
Nick Papior n****r@g****m 4
David Schwörer d****e@i****e 3
Reiner Schnur r****r@m****e 3
Peter Vitt p****2@u****e 3
Peter Byrne p****e@y****k 3
Elizabeth Sherrock l****0@g****m 3
Chris MacMackin c****n@u****k 3
dschwoerer d****r 2
and 30 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 167
  • Total pull requests: 150
  • Average time to close issues: 7 months
  • Average time to close pull requests: 10 days
  • Total issue authors: 70
  • Total pull request authors: 28
  • Average comments per issue: 2.58
  • Average comments per pull request: 0.66
  • Merged pull requests: 141
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 24
  • Pull requests: 34
  • Average time to close issues: 12 days
  • Average time to close pull requests: 12 days
  • Issue authors: 14
  • Pull request authors: 8
  • Average comments per issue: 1.79
  • Average comments per pull request: 0.44
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ZedThree (23)
  • patflynngithub (9)
  • mscfd (8)
  • jacobwilliams (7)
  • mathomp4 (6)
  • mcocdawc (5)
  • blaylockbk (5)
  • JulesKouatchou (4)
  • tclune (4)
  • rouson (4)
  • HugoMVale (4)
  • bkmgit (4)
  • runburg (3)
  • amorison (3)
  • Meax5qiu (3)
Pull Request Authors
  • ZedThree (112)
  • d7919 (17)
  • JosephWood2001 (10)
  • kuanchihwang (3)
  • haraldkl (3)
  • interkosmos (3)
  • elv3rs (2)
  • Liam-Deacon (2)
  • kc9jud (2)
  • gha3mi (2)
  • mgoonde (2)
  • thundermoose (2)
  • coriollis-nico (2)
  • band-a-prend (2)
  • kpb510 (1)
Top Labels
Issue Labels
bug (19) wishlist (15) enhancement (14) help wanted (9) documentation (5) question (3) duplicate (1)
Pull Request Labels
bug (6) documentation (2)

Packages

  • Total packages: 5
  • Total downloads:
    • homebrew 85 last-month
    • pypi 8,604 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 11
    (may contain duplicates)
  • Total versions: 246
  • Total maintainers: 2
pypi.org: ford

FORD (FORtran Documenter) is an automatic documentation generator for modern Fortran programs.

  • Versions: 71
  • Dependent Packages: 0
  • Dependent Repositories: 11
  • Downloads: 8,604 Last month
Rankings
Downloads: 3.2%
Stargazers count: 3.3%
Forks count: 4.2%
Dependent repos count: 4.4%
Average: 5.1%
Dependent packages count: 10.1%
Maintainers (2)
Last synced: 6 months ago
proxy.golang.org: github.com/Fortran-FOSS-Programmers/ford
  • Versions: 71
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.7%
Dependent repos count: 5.9%
Last synced: 6 months ago
proxy.golang.org: github.com/fortran-foss-programmers/ford
  • Versions: 71
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.7%
Dependent repos count: 5.9%
Last synced: 6 months ago
conda-forge.org: ford
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 15.3%
Stargazers count: 19.5%
Average: 30.0%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago
formulae.brew.sh: ford

Automatic documentation generator for modern Fortran programs

  • Versions: 23
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 85 Last month
Rankings
Forks count: 16.3%
Dependent packages count: 19.0%
Stargazers count: 25.2%
Average: 40.6%
Dependent repos count: 50.7%
Downloads: 92.0%
Last synced: 6 months ago

Dependencies

.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • stefanzweifel/git-auto-commit-action v4 composite
.github/workflows/python_publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
requirements.txt pypi
  • bs4 *
  • graphviz *
  • importlib-metadata *
  • jinja2 *
  • markdown *
  • pygments *
  • toposort *
  • tqdm *