Skip to main content

A package for converting questions from a spreadsheet, to valid moodle-xml

Project description

excel 2 Moodle

Logo{width=35%}

excel2moodle helps to create Moodle questions in less time. The idea is to write the questions data into a spreadsheet file, from which the excel2moodle generates moodle compliant xml Files. All questions or a selection of questions can then be imported into moodle.

Concept

At the heart the excel2moodle is a simple key-value-pair "syntax", where the key is set once in the first spreadsheet column. Each key can be provided with a value for each question in its column To enhance reusability, key values which are correct for more than one question can be set per category or for all questions. The concept is, to store the different questions into categories of similar types and difficulties of questions, for each of which, a separated sheet in the Spreadsheet document should be created.

A settings sheet contains global settings to be used for all questions and categories. Another sheet stores metadata for the different categories of questions. And each category lives inside a separate sheet inside the spreadsheet document.

Getting Started

Installation

To get started with excel2moodle first have a look at the installation If you already have python and uv installed, it is as easy as running uv tool install excel2moodle.

Documentation

Once excel2moodle is installed you can checkout the example question sheet in the repository. You need to download all Files in the example directory and save them together.

Most steps are already documented as tutorials you can follow along.

And please have a look into the user Reference of the documentation. That part explains in more detail each part of defining a question.

Features

  • Fully parametrized numeric questions:
    • Formulas for the calculated results can be coded into extensive python modules, which can be loaded.
  • Question Preview:
    • This helps you when selecting the correct questions for the export.
  • Equation Verification:
    • this tool helps you to validate the correct equation for the parametrized Questions.
  • Variable Generation:
    • You can generate variables for the parametric Question to easily create hundreds of different variants of the same question.
  • Export Options:
    • you can export the questions preserving the categories in moodle

Question Types

  • Generate multiple Choice Questions:
    • The answers can be pictures or normal text
  • Generate Numeric Questions
  • Generate parametrized numeric Questions:
    • With the parametrization excel2moodle calculats the numeric answer from a given formula based on a set of variables.
  • Generate parametrized cloze Questions

MainWindow{width=80%}

Licensing and authorship

excel2moodle is lincensed under the latest GNU GPL license Initial development was made by Richard Lorenz, and later taken over by Jakob Bosse

Supporting

A special thanks goes to the Civil Engineering Departement of the Fachhochschule Potsdam where i was employed as a student associate to work on this project.

If You want to support my work as well, you can by me a coffee

Changelogs

0.7.2 (2025-10-11)

small important bugfixes

improvement (2 changes)

bugfix (2 changes)

0.7.1 (2025-10-04)

feedbacking improved

documentation (1 change)

feature (1 change)

0.7.0 (2025-09-30)

Rework of the equation checker done!

feature (1 change)

documentation (1 change)

improvement (1 change)

0.6.5 (2025-09-02)

Added Scripted Media Support now with the module

No changes.

0.6.4 (2025-09-02)

Added Scripted Media Support

feature (1 change)

0.6.3 (2025-08-03)

Lots of small improvements made

improvement (3 changes)

bugfix (3 changes)

feature (2 changes)

0.6.2 (2025-08-02)

Adding export options and fixing cloze points bug

feature (4 changes)

improvement (1 change)

bugfix (1 change)

0.6.1 (2025-07-12)

Fixing import error caused by dumping pyside meta package

bugfix (1 change)

0.6.0 (2025-07-12)

Added variable generator and other architechtural improvements

documentation (1 change)

feature (5 changes)

improvement (7 changes)

0.5.2 (2025-06-30)

Extended Documentation and bugfix for import Module

bugfix (2 changes)

documentation (1 change)

feature (1 change)

improvement (1 change)

0.5.2 (2025-06-30)

Extended Documentation and bugfix for import Module

bugfix (2 changes)

documentation (1 change)

feature (1 change)

improvement (1 change)

0.5.1 (2025-06-24)

Minor docs improvement and question variant bugfix

bugfix (1 change)

0.5.0 (2025-06-20)

settings handling improved

feature (2 changes)

improvement (1 change)

Settings Errors are logged (1 change)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

excel2moodle-0.7.2.tar.gz (74.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

excel2moodle-0.7.2-py3-none-any.whl (81.7 kB view details)

Uploaded Python 3

File details

Details for the file excel2moodle-0.7.2.tar.gz.

File metadata

  • Download URL: excel2moodle-0.7.2.tar.gz
  • Upload date:
  • Size: 74.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for excel2moodle-0.7.2.tar.gz
Algorithm Hash digest
SHA256 8b35a6533738d4f38b3eaa0fb19d4ccb0966733407480d0ddf0364ea73759eca
MD5 9f73c30518ac13657b19c8f164e3d5f6
BLAKE2b-256 fd6c60fd2296174453f5f96a315cfe37bc690b7a569e359549e83963b27babfc

See more details on using hashes here.

File details

Details for the file excel2moodle-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: excel2moodle-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 81.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for excel2moodle-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d680af6d7de0dabf820959cd00ace6e8a7decfddd1202c9244c743017006b991
MD5 9da2308a9a89e9d2ebef57c9d5fd6e1e
BLAKE2b-256 e0579af0c3a385a7fa68dbfb27da9a96aa16efbfa95c65dad5c9ee6f6a5c0321

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page