Metadata-Version: 2.4
Name: sci-fab
Version: 2.0.1
Summary: Build system for scientific software
Author-email: Core Capabilities Development Team <CoreCapabilityDevelopmentTeam@metoffice.gov.uk>
Project-URL: homepage, https://github.com/MetOffice/fab
Project-URL: documentation, https://MetOffice.github.io/fab
Project-URL: repository, https://github.com/MetOffice/fab
Project-URL: Bug Reports, https://github.com/MetOffice/fab/issues
Classifier: Development Status :: 1 - Planning
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: <4,>=3.9
Description-Content-Type: text/x-rst
License-File: LICENCE
Requires-Dist: fparser>=0.2
Provides-Extra: c-language
Requires-Dist: libclang; extra == "c-language"
Provides-Extra: plots
Requires-Dist: matplotlib; extra == "plots"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: pydata-sphinx-theme>=0.13.3; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinxcontrib-svg2pdfconverter>=1.3.0; extra == "docs"
Provides-Extra: dev
Requires-Dist: pytest>=8.3.0; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: pytest-subprocess>=1.5.3; extra == "dev"
Requires-Dist: pyfakefs; extra == "dev"
Requires-Dist: flake8>=5.0.4; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Dynamic: license-file

Fab - A Build System for Tomorrow
=================================

.. image:: https://github.com/MetOffice/fab/actions/workflows/build.yml/badge.svg
   :target: https://github.com/MetOffice/fab/actions/workflows/build.yml
   :alt: testing

.. image:: https://github.com/MetOffice/fab/actions/workflows/documentation.yml/badge.svg
   :target: https://github.com/MetOffice/fab/actions/workflows/documentation.yml
   :alt: documentation

The "Fab" project aims to provide the means to quickly and easily compile
software in a way tailored for scientific software development. It aims to be
quick both in terms of use and operation. Meanwhile ease should mean the
simple things are simple and the complicated things are possible.

Fab is not intended to replace existing tools for compiling general
application software. It targets different problems to, for instance, CMake
derived build systems. This means that if your usage falls outside the focus
of development you shouldn't expect high priority on your feature requests.

Licence
~~~~~~~

The software is made available under a 3-clause BSD licence.

Installation
~~~~~~~~~~~~

The tool is easily installed using `pip install sci-fab`.

Usage
~~~~~

Fab offers two modes of operation. In "zero configuration" mode it is used
directly as a tool by running `fab`. This examines the currently selected
directory and tries to build whatever it finds there.

In "framework" mode it offers a library of building-blocks which a developer
can use to create a build system customised to the needs of their software.
