Hello everyone,
Version 3.3 of Fypp, the Python-powered Fortran preprocessor, is now available.
This update introduces a few new features and improvements to the tool. Most notably, it brings better integration into build systems through the new --depfile option. This allows Fypp to generate a dependency file containing information about all included files, which can then be directly evaluated by build tools like Make or Ninja for accurate dependency tracking.
A few other relevant changes in this release include:
-
Variable Definition Control: New command-line options (
--define-mode,-S,-E) have been added to provide strict control over whether defined variables are evaluated as Python expressions or treated as standard string literals. -
Improved Line Markers: Adjustments to line marker generation ensure that downstream Fortran preprocessors and compilers attribute source lines to the correct locations, particularly when using single-line evaluation directives.
-
Path Consistency: File names in line markers and internal variables now consistently use forward slashes across all platforms, ensuring identical preprocessed output on both Windows and Unix-like systems.
-
Python Requirement: Please note that the minimum required Python version has been increased to 3.10.
You can read the full changelog and download the new version directly from the repository here: Release Fypp 3.3 · aradi/fypp · GitHub or install it with pip install fypp into your Python environment.
The user guide and updated documentation can be found here: Fypp documentation — Fypp 3.3 documentation
Bálint
P.S. Fypp is now a bit over 10 years old. It was—and still is—meant as a temporary hack around missing language features. Let’s hope that in less than 10 more years we can finally retire it, thanks to appropriate Fortran features (actually being implemented across all popular compilers
). Until then, enjoy the improved version! ![]()