Metadata-Version: 2.1
Name: fhdw-modelling
Version: 4.4.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

# Modelling Tools

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

# 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)

[![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)


- 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).



# 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
poetry run 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 privided 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
poetry run 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
poetry run sphinx-autobuild -a --open-browser docs docs/_build/html
```
