A zero-configuration build system and package manager for modern Fortran projects with automatic dependency resolution.
FoBiS is a Fortran Building System that automates the compilation and dependency management of Fortran projects. It solves the problem of manually tracking inter-module compilation orders in makefiles by automatically parsing source files and building a dependency graph. The tool also integrates package management, testing, and project scaffolding features to streamline the entire Fortran development workflow.
Fortran developers and researchers working on medium to large-scale projects who need a reliable, automated build system. It is particularly useful for those managing complex dependencies, multiple build configurations, or collaborating on GitHub-hosted Fortran repositories.
Developers choose FoBiS because it eliminates the need for manual makefile maintenance, provides built-in package management and testing capabilities, and integrates modern tools like AI-assisted coding and LLM-generated commit messages. Its zero-configuration approach and comprehensive feature set make it a unique all-in-one solution for Fortran project management.
FoBiS.py, Fortran projects Building System
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
FoBiS parses Fortran source files to build a dependency graph and compile in the correct order, eliminating the need for manual makefile updates as highlighted in the README's zero-configuration approach.
It allows declaring and fetching dependencies directly from GitHub repositories with support for branching, tagging, and revision pinning, streamlining dependency handling for modern Fortran projects.
FoBiS can generate, compile, and run micro-unit-tests embedded in Fortran comment docstrings, providing a lightweight testing mechanism without external harnesses, inspired by Python's doctest module.
The scaffold feature synchronizes boilerplate files like CI workflows and documentation configs across repositories, reducing setup time and ensuring consistency, as detailed in the README.
The package management is tightly coupled to GitHub, with no built-in support for other version control systems or package registries, which can be limiting for projects using diverse sources.
As a Python package installed via pip, FoBiS requires Python and its ecosystem, adding complexity in environments focused solely on Fortran or with strict dependency controls.
While fobos files replace makefiles, the INI-style syntax and multiple command options introduce a learning curve that might frustrate developers accustomed to simpler or more traditional build scripts.