Metadata-Version: 2.4
Name: momotor-engine-options
Version: 3.0.0
Summary: Momotor Engine Options Library
Author-email: Erik Scheffers <e.t.j.scheffers@tue.nl>
License-Expression: LGPL-3.0-only
Project-URL: Homepage, https://momotor.org
Project-URL: Documentation, https://momotor.org/doc/engine/momotor-engine-options/
Project-URL: Repository, https://gitlab.tue.nl/momotor/engine-py3/momotor-engine-options/
Project-URL: Tracker, https://gitlab.tue.nl/momotor/engine-py3/momotor-engine-options/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: <3.15,>=3.11
Description-Content-Type: text/markdown
Requires-Dist: momotor-bundles~=9.0
Provides-Extra: test
Requires-Dist: pytest~=9.0; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-doctestplus; extra == "test"
Requires-Dist: Sphinx; extra == "test"
Provides-Extra: docs
Requires-Dist: momotor-engine-options[test]; extra == "docs"
Requires-Dist: Sphinx; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints!=1.14.0; extra == "docs"
Requires-Dist: furo; extra == "docs"
Provides-Extra: dev
Requires-Dist: momotor-engine-options[docs]; extra == "dev"
Requires-Dist: docutils-stubs; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: pyright; extra == "dev"
Provides-Extra: build
Requires-Dist: momotor-engine-options[dev]; extra == "build"
Requires-Dist: setuptools>=77.0.3; extra == "build"
Requires-Dist: setuptools-scm; extra == "build"
Requires-Dist: build[virtualenv]; extra == "build"
Requires-Dist: python-semantic-release~=10.0; extra == "build"

This package is a part of [Momotor](https://momotor.org/), a tool for automated processing of digital content. 

Momotor accepts digital content as a product bundle and generates a result bundle from this product under 
control of a recipe bundle. 

Momotor is like a continuous integration system, but broader in scope. The 
type of content that Momotor can process is not restricted; each recipe may impose its own constraints. 
One application of Momotor in an educational setting is the automatic generation of feedback on work submitted 
for programming assignments.

---

The `momotor-engine-options` package provides methods to process options in Momotor recipe and configuration
bundles. It also includes the handlers for options in the "scheduler" and "tools" domains.


Documentation for developers:

- [Resolve your first option](https://momotor.org/doc/engine/momotor-engine-options/getting-started.html)
- [Option definitions](https://momotor.org/doc/engine/momotor-engine-options/option.html)
- [Reference and selector syntax](https://momotor.org/doc/engine/momotor-engine-options/parser/syntax.html)
- [Generate option documentation](https://momotor.org/doc/engine/momotor-engine-options/document-options.html)

Build the documentation from the package directory in an activated virtual environment:

```shell
python -m pip install -e '.[docs]'
python -m sphinx -n -W --keep-going -b html docs/source docs/build/html
```

Open `docs/build/html/index.html`. To run the examples and tests, use `python -m pytest`.
