Fortran Package Manager

Fortran Package Manager

Fortran Package Manager

Package manager and build system for Fortran

Welcome to the documentation for the Fortran Package Manager (fpm).


These pages are currently under construction. Please help us improve them by contributing content or reporting issues.


Instructions on how to install fpm across Windows, Linux, macOS and more.


Learn about using fpm for Fortran development, creating projects and managing dependencies.

How-To Guides

Practical guides and recipes to solve specific problems with fpm


Specifications of fpm components and implementation references


There are already many packages available for use with fpm, providing an easily accessible and rich ecosystem of general purpose and high-performance code. For a full list of packages checkout the fpm registry. New packages can be submitted to the registry here.


Recent events around the Fortran Package Manager, such as new releases, conference talks, and new packages will be announced here.

  • Fpm version 0.8.2 released (2023-05-11)

    Registry preview release.

  • Fpm version 0.8.1 released (2023-04-11)

    This release introduces a hotfix for the automated dependency tree feature introduced in v0.8.0. Fpm now restored backward-compatible dependency priority, which ensures that, whenever different versions of the same dependency are found down the dependency tree, the first and foremost is used. Unnecessary dependency updates are also shed from the build process.

  • Fpm version 0.8.0 released (2023-04-07)

    This release introduces support for enabling and disabling language features in fpm, such as implicit typing or default source form. By default, fpm now tries to disable implicit typing rules, implicit external interfaces and assumes the source form is always free. The options can be overwritten in the manifest for each project.

  • Fpm version 0.7.0 released (2022-10-26)

    This release introduces preprocessor support in the fpm.toml manifest, allowing for preprocessor macros, file suffixes and directories where the preprocessor should run. This feature was implemented as part of Arteev Raina’s Google Summer of Code 2022 project. Furthermore, fpm has now the ability to compile C++ source files in addition to Fortran and C. Finally, the ability to define compiler profiles in the fpm.toml manifest has been added, although the profile settings are not currently used in the build process.

  • Fpm version 0.6.0 released (2022-06-19)

    This release introduces a better visualization for the build output, compiler output is only shown on error to keep the standard output clean for successful builds. Furthermore, fpm can now detect unused modules and avoids compiling modules that are not needed for an application, which improves the compilation speed with large dependencies like stdlib. When creating a new project with fpm the author information are now taken from the git configuration to avoid using placeholders in the manifest. Several more bug fixes and plenty of improvements went into this version as well.