Introduction ============ A collection of scripts that use the `GitLab REST API `__ to setup GitLab projects and repositories for a group of students. The functionality is inspired by `GitHub Classroom `__ but more light-weight without a graphical user interface. .. _course-configuration: Course Configuration -------------------- Courses are configured using a yaml file. The following entries are supported: * ``gitlab`` the name of the gitlab server defined in python gitlab module `configuration file `__. * ``series`` the name of the course series, eg ``SpaceMed Digital Literacy`` * ``name`` the name of the particular course, eg ``2025`` * ``participants`` list of the participants * ``max_participants`` (optional) maximum number of participants * ``waiting`` (optional) list of people on waiting list * ``cancelled`` (optional) list of people who have cancelled * ``readme`` a `jinja2 `__ template for the README.md file that will be put in each project * ``sessions`` the list of sessions each item should have the following keys: * ``title`` the title of the session * ``date`` the the date when the session takes place * ``time`` the time when it takes place * ``place`` the locaiton where it takes place The configuration file can contain other entries which are all passed to the templates. Below is an example course configuration file. .. literalinclude:: ../course.yml :language: yaml