# API Reference

## Common Module

```{autodoc2-summary}
:renderer: myst

~grading_lib.common.BaseTestCase
~grading_lib.common.CommandResult
~grading_lib.common.is_debug_mode
~grading_lib.common.run_executable
~grading_lib.common.get_mtime_as_datetime
~grading_lib.common.has_file_changed
~grading_lib.common.populate_folder_with_filenames
```

```{autodoc2-object} grading_lib.common.BaseTestCase
```

```{autodoc2-object} grading_lib.common.CommandResult
```

```{autodoc2-object} grading_lib.common.is_debug_mode
```

```{autodoc2-object} grading_lib.common.run_executable
```

```{autodoc2-object} grading_lib.common.get_mtime_as_datetime
```

```{autodoc2-object} grading_lib.common.has_file_changed
```

```{autodoc2-object} grading_lib.common.populate_folder_with_filenames
```

## Makefile Module

```{autodoc2-summary}
:renderer: myst

~grading_lib.makefile.MakefileBaseTestCase
~grading_lib.makefile.run_targets
~grading_lib.makefile.Makefile
~grading_lib.makefile.Rule
~grading_lib.makefile.VariableDefinition
```

```{autodoc2-object} grading_lib.makefile.MakefileBaseTestCase
```

```{autodoc2-object} grading_lib.makefile.run_targets
```

```{autodoc2-object} grading_lib.makefile.Makefile
```

```{autodoc2-object} grading_lib.makefile.Rule
```

```{autodoc2-object} grading_lib.makefile.VariableDefinition
```

## (Git) Repository Module

```{autodoc2-summary}
:renderer: myst

~grading_lib.repository.Repository
```

```{autodoc2-object} grading_lib.repository.Repository
```
