Momotor Bundles documentation

momotor-bundles reads, creates, and exports Momotor bundles. It provides a Python API and the momotor-bundles command. The package requires Python 3.11 through 3.14.

A bundle contains an XML document and optional attachments. A bundle with attachments can be a ZIP archive or a directory containing XML and files. Inline content is stored inside the XML document.

Bundle roles

A Momotor job uses these bundle types:

  • A RecipeBundle defines the processing steps and the checklets that run them. A checklet is a program used by a recipe step.

  • A ConfigBundle supplies reusable settings and files for a recipe, such as an assignment’s expected answers.

  • A ProductBundle contains the input for one job, such as a student’s submission.

  • A ResultsBundle contains step outcomes, properties, and output files.

  • A TestResultBundle records the verdicts and execution results of recipe or configuration self-tests.

This package manages bundle data. The Momotor Engine runs the checklets and evaluates self-test expectations.

Start with Create and read your first bundle for a complete Python example. Use Command line interface to build bundles or update metadata from the command line. The Bundles reference describes loading, ownership, and export behavior. If you upgrade from an older release, read Migration first.

Reference