Metadata-Version: 2.1
Name: fhdw-modelling
Version: 5.1.0
Summary: A collection of modelling tools. Intended for generic usage in FHDW projects.
Home-page: https://github.com/fhdw-forschung/modelling-tools
License: MPL-2.0
Author: Pascal Niggemeier
Author-email: pascal.niggemeier@fhdw.de
Requires-Python: >=3.11,<3.12
Classifier: License :: OSI Approved
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: fastapi (>=0.104.1,<0.105.0)
Requires-Dist: kaleido (==0.2.1)
Requires-Dist: pyarrow (>=14.0.1,<15.0.0)
Requires-Dist: pycaret[mlops] (>=3.2.0,<4.0.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Project-URL: Bug Tracker, https://github.com/fhdw-forschung/modelling-tools/issues
Project-URL: Documentation, https://fhdw-forschung.github.io/modelling-tools/
Project-URL: Repository, https://github.com/fhdw-forschung/modelling-tools
Description-Content-Type: text/markdown

# FHDW Modelling Tools

[![Upload Python Package](https://github.com/fhdw-forschung/modelling-tools/actions/workflows/publish.yml/badge.svg)](https://github.com/fhdw-forschung/modelling-tools/actions/workflows/publish.yml)
[![.github/workflows/pytest.yml](https://github.com/fhdw-forschung/modelling-tools/actions/workflows/pytest.yml/badge.svg?branch=main)](https://github.com/fhdw-forschung/modelling-tools/actions/workflows/pytest.yml)
[![.github/workflows/lint.yml](https://github.com/fhdw-forschung/modelling-tools/actions/workflows/lint.yml/badge.svg)](https://github.com/fhdw-forschung/modelling-tools/actions/workflows/lint.yml)

This is a collection of modelling tools. It is intended as a project-independent package.

## Documentation material

Visit the [documentation](https://fhdw-forschung.github.io/modelling-tools/).

There is material for documenation and presentation of research results.
It is is set up using [Jupyter Book](https://jupyterbook.org/en/stable/intro.html).

### Content

The Documentation is sepreated into two parts:

- Directory `docs` ...
- The API reference read from the docstrings

### Generating sites

First of all, it would be best to familiarize with the [official Jupyter Book documentation](https://jupyterbook.org/en/stable/intro.html). It is also helpful to have an understanding of Sphinx, since it is used under the hood.

Manually generate files:

```sh
jb build --all --builder html docs
```

```{note}
When using devcontainers for development (recommended), the generated files are not directly accessible from your systems browser and have to be provided via a web server example. With `vscode` you could also use the preview functionality of the `"ms-vscode.live-server"` extension (already installed if you use the provided devcontainer configuration of this repo). Alternatively you could utilize Sphinx's autobuild extension described below.
```

Auto-generating the docs with a watchdog while developing can be done via the [`sphinx-autobuild` extension (click for details)](https://github.com/executablebooks/sphinx-autobuild). Before running `sphinx-autobuild`, convert the Jupyter Book configuration with the following command (from root of repo):

```sh
jupyter-book config sphinx docs/
```

`> Wrote conf.py to /workspaces/bebefam-exploration/docs`

```{danger}
Do not tinker with the generated configuration (`conf.py`). All configuration is done for Jupyter Book (in `_config.yml`), which then must be converted like shown above, so that configuration is always in sync. For details, [have a look at the repository](https://github.com/executablebooks/sphinx-autobuild).
```

Then run the autobuild with:

```sh
sphinx-autobuild -a --open-browser --watch fhdw/ docs/ docs/_build/html
```

## Contribution

[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/fhdw-forschung/modelling-tools)

- Use the devcontainer.
- Development utilities can be installed via `pipx`
- `poetry` is used for packaging. See [`poetry publish`](https://python-poetry.org/docs/cli/#publish).

