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.3 (2025-10-12)

further bulletPoint improvements

No changes.

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.3.tar.gz (74.2 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.3-py3-none-any.whl (81.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: excel2moodle-0.7.3.tar.gz
  • Upload date:
  • Size: 74.2 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.3.tar.gz
Algorithm Hash digest
SHA256 340f87eb305f71de5af7064a15d163bd4dca24f63b87ce558cbce74e78759c0c
MD5 b3c2cbcd747d8ab9c4094eb03cfdf06e
BLAKE2b-256 2b58544133dbadca192fd82a805738a8a8ee8fe5e694caa88a10c61b3ab04b2e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: excel2moodle-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 81.8 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 45fc1bdc4364c05817e2b58ec90dfcea2b72c9b50e120031712c1eff32793304
MD5 52f8de58269fe1a98be47a008b9901b6
BLAKE2b-256 43c7e86469996e9b86d9d3a2e9ad5b2520614177c327f793f874e5da9fc84ad5

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