Metadata-Version: 2.4
Name: romtools
Version: 0.2.0
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Provides-Extra: withmpi
Requires-Dist: mpi4py>3.1.4; extra == "withmpi"
Provides-Extra: withh5py
Requires-Dist: h5py; extra == "withh5py"
Provides-Extra: docs
Requires-Dist: docutils; extra == "docs"
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: pydata-sphinx-theme; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinx-design; extra == "docs"
Requires-Dist: myst-nb>=0.18; extra == "docs"
Requires-Dist: jupyter-sphinx; extra == "docs"
Provides-Extra: test
Requires-Dist: pytest==7.4.4; extra == "test"
Requires-Dist: pytest-mpi>=0.6; extra == "test"
Requires-Dist: pytest-timeout; extra == "test"
Dynamic: license-file

# rom-tools-and-workflows
The ROM tools and workflows Python library comprises a set of algorithms for constructing and exploiting ROMs that rely on *protocol classes* that encapsulate all the information needed to run a given algorithm. The philosophy is that, for any given application, the user simply needs to "fill out" a class that meets the required API of the protocol. Once this class is complete, the user gains access to all of our existing algorithms.

## Documentation

https://pressio.github.io/rom-tools-and-workflows/

## Demos

https://pressio.github.io/rom-tools-and-workflows/demos/

## Installation

```bash
cd my-path/rom-tools-and-workflows
pip install .
```

### Verify installation by running the tests

Install the testing dependencies with:

```bash
pip install .[test]
```

```bash
cd my-path/rom-tools-and-workflows
pytest
```
Note: some tests actually generate some auxiliary/temporary files which
are handled via the `tmp_path` as suggested https://docs.pytest.org/en/7.1.x/how-to/tmp_path.html.


## Building the documentation

Install the documentation dependencies with:

```bash
pip install .[docs]
```

```bash
cd <repo-dir>
make -C docs html
```

Open `docs/build/html/index.html` in a browser to view the docs.
