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).

This documentation is divided into four parts. Select one of the topics below to continue.


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


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

Design Documents

Resources about the design of the command line interface, the package manifest, and the general user experience


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.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.

  • Fpm version 0.5.0 released (2021-11-21)

    We have a large number of bug fixes in this release and made plenty of improvements to the tooling around fpm, like the continuous delivery and the Windows installer. New features include the possibility for better compiler/linker selection and the improved build backend (test are only build when needed, link dependencies are properly tracked).