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
RecipeBundledefines the processing steps and the checklets that run them. A checklet is a program used by a recipe step.A
ConfigBundlesupplies reusable settings and files for a recipe, such as an assignment’s expected answers.A
ProductBundlecontains the input for one job, such as a student’s submission.A
ResultsBundlecontains step outcomes, properties, and output files.A
TestResultBundlerecords 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.
Get started
Reference
- Bundles
- Bundle verification
- Elements
- Content and attachments
- Refs
- Self-test declarations and reports
- Sequence filtering
- Filtering and excluding
- Not() object
- All() object
- Any() object
- Combining filter objects
- F() object
- Negation
- Lookup types
- Is-equal lookup
- Is-equal lookup (case insensitive)
- Not-equal lookup
- Not-equal lookup (case insensitive)
- Contains lookup
- Contains lookup (case insensitive)
- In lookup
- In lookup (case insensitive)
- Starts-with lookup
- Starts-with lookup (case insensitive)
- Ends-with lookup
- Ends-with lookup (case insensitive)
- Glob lookup
- Glob lookup (case insensitive)
- Recursive glob lookup
- Recursive glob lookup (case insensitive)
- Regular expression lookup
- Regular expression lookup (case insensitive)
- Additional methods
- API
- Filter base
- Exceptions
- Constants