excel2moodle


Nameexcel2moodle JSON
Version 0.6.1 PyPI version JSON
download
home_pageNone
SummaryA package for converting questions from a spreadsheet, to valid moodle-xml
upload_time2025-07-12 20:34:32
maintainerNone
docs_urlNone
authorJakob Bosse
requires_python>=3.10
licenseNone
keywords moodle xml teaching question converter open educational ressource
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # excel 2 Moodle
![Logo](excel2moodleLogo.png "Logo excel2moodle"){width=35%}

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

## Concept
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](https://jbosse3.gitlab.io/excel2moodle/howto.html#excel2moodle-unter-windows-installieren)
If you already have python and uv installed, it is as easy as running `uv tool install excel2moodle`.

### [ Documentation ](https://jbosse3.gitlab.io/excel2moodle/index.html)
Once excel2moodle is installed you can checkout the [example question sheet](https://gitlab.com/jbosse3/excel2moodle/-/tree/master/example?ref_type=heads) 
in the repository.

Some steps are already documented as [ tutorials ](https://jbosse3.gitlab.io/excel2moodle/howto.html)
you can follow along.

And please have a look into the [**user Reference**](https://jbosse3.gitlab.io/excel2moodle/userReference.html)
of the documentation. 
That part explains each part of defining a question.


## Functionality
* Equation Verification:
    + this tool helps you to validate the correct equation for the parametrized Questions.
* Question Preview:
    + This helps you when selecting the correct questions for the export.
* 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
* Generate parametrized cloze Questions


![MainWindow](mainWindow.png "Logo excel2moodle"){width=80%}

## Licensing and authorship
excel2moodle is lincensed under the latest [GNU GPL license](https://gitlab.com/jbosse3/excel2moodle/-/blob/master/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](https://www.fh-potsdam.de/en/study-further-education/departments/civil-engineering-department) 
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](https://ko-fi.com/jbosse3)

# Changelogs

## 0.6.1 (2025-07-12)
Fixing import error caused by dumping pyside meta package

### bugfix (1 change)

- [fixing pyside import error](https://gitlab.com/jbosse3/excel2moodle/-/commit/e5e0fc7695caa1a6864785828ff7311fa9624ad4)

## 0.6.0 (2025-07-12)
Added variable generator and other architechtural improvements

### documentation (1 change)

- [Documenting variable generator usage](https://gitlab.com/jbosse3/excel2moodle/-/commit/3e4d3019b29872b5cfddf5539d5ebe7638bca049)

### feature (5 changes)

- [Opening spreadsheet file works from within excel2moodle](https://gitlab.com/jbosse3/excel2moodle/-/commit/9470f12ea5f098745a3210b281a5144a938ae8b5)
- [Variables are copied to clipboard](https://gitlab.com/jbosse3/excel2moodle/-/commit/87a7e5ec75f899b293e89ad3c1742567e3ec1c29)
- [Removed dependence on pyside6-addons](https://gitlab.com/jbosse3/excel2moodle/-/commit/2b3a7cf48581c14bd9cb570cd61d1d41aa410e11)
- [Var Generator ready](https://gitlab.com/jbosse3/excel2moodle/-/commit/ea97f0639dc35a4c99a64ae3976ccc8a0ac5d109)
- [Merge development of BulletsObj, Parametrization and VarGenerator](https://gitlab.com/jbosse3/excel2moodle/-/commit/40b46f3c143e082f1bb985d6c8c4e68bb6b6a7a8)

### improvement (7 changes)

- [Adapted Param. Parser to use bullet Obj](https://gitlab.com/jbosse3/excel2moodle/-/commit/194cab7cc6aecb2d25d1cb9c1538ed7d607dd9e1)
- [Added bulleList Object](https://gitlab.com/jbosse3/excel2moodle/-/commit/4ea982b8d8dc270675d2cb059c59fa980ce38894)
- [Parametrics in beta stage](https://gitlab.com/jbosse3/excel2moodle/-/commit/7d04d8ef2fc603c1b12b6934c827ce079df5d540)
- [Refactor parse() method, to construct complete xml-Tree](https://gitlab.com/jbosse3/excel2moodle/-/commit/8dc4bea9aa0673d39357115254dd55b02c04114e)
- [Refactored question assembly to only update fields.](https://gitlab.com/jbosse3/excel2moodle/-/commit/d7accb69be3b4a1e65f59eeecfb463f2663fabd4)
- [Adapted NFM Question to parametricResult](https://gitlab.com/jbosse3/excel2moodle/-/commit/fe552cd2b538ca8886415c200e4a2a3ecc1fbb2f) ([merge request](https://gitlab.com/jbosse3/excel2moodle/-/merge_requests/5))
- [Implemented ParametricResult Object](https://gitlab.com/jbosse3/excel2moodle/-/commit/e36d025955f1cab8e0542d66263ab70e3d8980df) ([merge request](https://gitlab.com/jbosse3/excel2moodle/-/merge_requests/5))

## 0.5.2 (2025-06-30)
Extended Documentation and bugfix for import Module

### bugfix (2 changes)

- [Default question variant saved and reused.](https://gitlab.com/jbosse3/excel2moodle/-/commit/097705ba83727463a9b27cd76e99814a7ecf28df)
- [bugfix: Import module working again](https://gitlab.com/jbosse3/excel2moodle/-/commit/5f293970bcdac3858911cdcc102b72714af057bd)

### documentation (1 change)

- [documentation: Added how to build question database](https://gitlab.com/jbosse3/excel2moodle/-/commit/71ceb122aa37e8bf2735b659359ae37d81017599)

### feature (1 change)

- [Implemented MC question string method](https://gitlab.com/jbosse3/excel2moodle/-/commit/c4f2081d0000ee60322fe8eec8468fa3317ce7be)

### improvement (1 change)

- [Implemented ClozePart object](https://gitlab.com/jbosse3/excel2moodle/-/commit/878f90f45e37421384c4f8f602115e7596b4ceb9)

## 0.5.2 (2025-06-30)
Extended Documentation and bugfix for import Module

### bugfix (2 changes)

- [Default question variant saved and reused.](https://gitlab.com/jbosse3/excel2moodle/-/commit/097705ba83727463a9b27cd76e99814a7ecf28df)
- [bugfix: Import module working again](https://gitlab.com/jbosse3/excel2moodle/-/commit/5f293970bcdac3858911cdcc102b72714af057bd)

### documentation (1 change)

- [documentation: Added how to build question database](https://gitlab.com/jbosse3/excel2moodle/-/commit/71ceb122aa37e8bf2735b659359ae37d81017599)

### feature (1 change)

- [Implemented MC question string method](https://gitlab.com/jbosse3/excel2moodle/-/commit/c4f2081d0000ee60322fe8eec8468fa3317ce7be)

### improvement (1 change)

- [Implemented ClozePart object](https://gitlab.com/jbosse3/excel2moodle/-/commit/878f90f45e37421384c4f8f602115e7596b4ceb9)

## 0.5.1 (2025-06-24)
Minor docs improvement and question variant bugfix

### bugfix (1 change)

- [Bullet points variant didn't get updated](https://gitlab.com/jbosse3/excel2moodle/-/commit/7b4ad9e9c8a4216167ae019859ebaa8def81d57f)

## 0.5.0 (2025-06-20)
settings handling improved

### feature (2 changes)

- [Pixmaps and vector graphics scaled to fit in preview](https://gitlab.com/jbosse3/excel2moodle/-/commit/00a6ef13fb2a0046d7641e24af6cf6f08642390e)
- [feature: category Settings implemented](https://gitlab.com/jbosse3/excel2moodle/-/commit/d673cc3f5ba06051aa37bc17a3ef0161121cb730)

### improvement (1 change)

- [Tolerance is harmonized by questionData.get()](https://gitlab.com/jbosse3/excel2moodle/-/commit/8d1724f4877e1584cc531b6b3f278bdea68b5831)

### Settings Errors are logged (1 change)

- [Log Errors in settings Sheet](https://gitlab.com/jbosse3/excel2moodle/-/commit/07e58f957c69ea818db1c5679cf89e287817ced3)


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "excel2moodle",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "moodle, XML, teaching, question, converter, open educational Ressource",
    "author": "Jakob Bosse",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/7f/d5/6229611b21594a69e19dac9521b6fa34cc0d9d288ad50e664ae2f52765dd/excel2moodle-0.6.1.tar.gz",
    "platform": null,
    "description": "# excel 2 Moodle\n![Logo](excel2moodleLogo.png \"Logo excel2moodle\"){width=35%}\n\nThis Python program helps to create Moodle questions in less time.\nThe idea is to write the questions data into a spreadsheet file, from which the program generates the moodle compliant xml Files. \nAll questions or a selection of questions can be exported into one xml file to be imported into moodle.\n\n## Concept\nThe 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.\n\nA `settings` sheet contains global settings to be used for all questions and categories.\nAnother sheet stores metadata for the different categories of questions.\nAnd each category lives inside a separate sheet inside the spreadsheet document. \n\n## Getting Started\n\n### Installation\nTo get started with excel2moodle first have a look at the [installation](https://jbosse3.gitlab.io/excel2moodle/howto.html#excel2moodle-unter-windows-installieren)\nIf you already have python and uv installed, it is as easy as running `uv tool install excel2moodle`.\n\n### [ Documentation ](https://jbosse3.gitlab.io/excel2moodle/index.html)\nOnce excel2moodle is installed you can checkout the [example question sheet](https://gitlab.com/jbosse3/excel2moodle/-/tree/master/example?ref_type=heads) \nin the repository.\n\nSome steps are already documented as [ tutorials ](https://jbosse3.gitlab.io/excel2moodle/howto.html)\nyou can follow along.\n\nAnd please have a look into the [**user Reference**](https://jbosse3.gitlab.io/excel2moodle/userReference.html)\nof the documentation. \nThat part explains each part of defining a question.\n\n\n## Functionality\n* Equation Verification:\n    + this tool helps you to validate the correct equation for the parametrized Questions.\n* Question Preview:\n    + This helps you when selecting the correct questions for the export.\n* Export Options:\n    + you can export the questions preserving the categories in moodle\n\n### Question Types\n* Generate multiple Choice Questions:\n    + The answers can be pictures or normal text\n* Generate Numeric Questions\n* Generate parametrized numeric Questions\n* Generate parametrized cloze Questions\n\n\n![MainWindow](mainWindow.png \"Logo excel2moodle\"){width=80%}\n\n## Licensing and authorship\nexcel2moodle is lincensed under the latest [GNU GPL license](https://gitlab.com/jbosse3/excel2moodle/-/blob/master/LICENSE)\nInitial development was made by Richard Lorenz, and later taken over by Jakob Bosse\n\n## Supporting\nA special thanks goes to the [Civil Engineering Departement of the Fachhochschule Potsdam](https://www.fh-potsdam.de/en/study-further-education/departments/civil-engineering-department) \nwhere i was employed as a student associate to work on this project.\n\nIf You want to support my work as well, you can by me a [coffee](https://ko-fi.com/jbosse3)\n\n# Changelogs\n\n## 0.6.1 (2025-07-12)\nFixing import error caused by dumping pyside meta package\n\n### bugfix (1 change)\n\n- [fixing pyside import error](https://gitlab.com/jbosse3/excel2moodle/-/commit/e5e0fc7695caa1a6864785828ff7311fa9624ad4)\n\n## 0.6.0 (2025-07-12)\nAdded variable generator and other architechtural improvements\n\n### documentation (1 change)\n\n- [Documenting variable generator usage](https://gitlab.com/jbosse3/excel2moodle/-/commit/3e4d3019b29872b5cfddf5539d5ebe7638bca049)\n\n### feature (5 changes)\n\n- [Opening spreadsheet file works from within excel2moodle](https://gitlab.com/jbosse3/excel2moodle/-/commit/9470f12ea5f098745a3210b281a5144a938ae8b5)\n- [Variables are copied to clipboard](https://gitlab.com/jbosse3/excel2moodle/-/commit/87a7e5ec75f899b293e89ad3c1742567e3ec1c29)\n- [Removed dependence on pyside6-addons](https://gitlab.com/jbosse3/excel2moodle/-/commit/2b3a7cf48581c14bd9cb570cd61d1d41aa410e11)\n- [Var Generator ready](https://gitlab.com/jbosse3/excel2moodle/-/commit/ea97f0639dc35a4c99a64ae3976ccc8a0ac5d109)\n- [Merge development of BulletsObj, Parametrization and VarGenerator](https://gitlab.com/jbosse3/excel2moodle/-/commit/40b46f3c143e082f1bb985d6c8c4e68bb6b6a7a8)\n\n### improvement (7 changes)\n\n- [Adapted Param. Parser to use bullet Obj](https://gitlab.com/jbosse3/excel2moodle/-/commit/194cab7cc6aecb2d25d1cb9c1538ed7d607dd9e1)\n- [Added bulleList Object](https://gitlab.com/jbosse3/excel2moodle/-/commit/4ea982b8d8dc270675d2cb059c59fa980ce38894)\n- [Parametrics in beta stage](https://gitlab.com/jbosse3/excel2moodle/-/commit/7d04d8ef2fc603c1b12b6934c827ce079df5d540)\n- [Refactor parse() method, to construct complete xml-Tree](https://gitlab.com/jbosse3/excel2moodle/-/commit/8dc4bea9aa0673d39357115254dd55b02c04114e)\n- [Refactored question assembly to only update fields.](https://gitlab.com/jbosse3/excel2moodle/-/commit/d7accb69be3b4a1e65f59eeecfb463f2663fabd4)\n- [Adapted NFM Question to parametricResult](https://gitlab.com/jbosse3/excel2moodle/-/commit/fe552cd2b538ca8886415c200e4a2a3ecc1fbb2f) ([merge request](https://gitlab.com/jbosse3/excel2moodle/-/merge_requests/5))\n- [Implemented ParametricResult Object](https://gitlab.com/jbosse3/excel2moodle/-/commit/e36d025955f1cab8e0542d66263ab70e3d8980df) ([merge request](https://gitlab.com/jbosse3/excel2moodle/-/merge_requests/5))\n\n## 0.5.2 (2025-06-30)\nExtended Documentation and bugfix for import Module\n\n### bugfix (2 changes)\n\n- [Default question variant saved and reused.](https://gitlab.com/jbosse3/excel2moodle/-/commit/097705ba83727463a9b27cd76e99814a7ecf28df)\n- [bugfix: Import module working again](https://gitlab.com/jbosse3/excel2moodle/-/commit/5f293970bcdac3858911cdcc102b72714af057bd)\n\n### documentation (1 change)\n\n- [documentation: Added how to build question database](https://gitlab.com/jbosse3/excel2moodle/-/commit/71ceb122aa37e8bf2735b659359ae37d81017599)\n\n### feature (1 change)\n\n- [Implemented MC question string method](https://gitlab.com/jbosse3/excel2moodle/-/commit/c4f2081d0000ee60322fe8eec8468fa3317ce7be)\n\n### improvement (1 change)\n\n- [Implemented ClozePart object](https://gitlab.com/jbosse3/excel2moodle/-/commit/878f90f45e37421384c4f8f602115e7596b4ceb9)\n\n## 0.5.2 (2025-06-30)\nExtended Documentation and bugfix for import Module\n\n### bugfix (2 changes)\n\n- [Default question variant saved and reused.](https://gitlab.com/jbosse3/excel2moodle/-/commit/097705ba83727463a9b27cd76e99814a7ecf28df)\n- [bugfix: Import module working again](https://gitlab.com/jbosse3/excel2moodle/-/commit/5f293970bcdac3858911cdcc102b72714af057bd)\n\n### documentation (1 change)\n\n- [documentation: Added how to build question database](https://gitlab.com/jbosse3/excel2moodle/-/commit/71ceb122aa37e8bf2735b659359ae37d81017599)\n\n### feature (1 change)\n\n- [Implemented MC question string method](https://gitlab.com/jbosse3/excel2moodle/-/commit/c4f2081d0000ee60322fe8eec8468fa3317ce7be)\n\n### improvement (1 change)\n\n- [Implemented ClozePart object](https://gitlab.com/jbosse3/excel2moodle/-/commit/878f90f45e37421384c4f8f602115e7596b4ceb9)\n\n## 0.5.1 (2025-06-24)\nMinor docs improvement and question variant bugfix\n\n### bugfix (1 change)\n\n- [Bullet points variant didn't get updated](https://gitlab.com/jbosse3/excel2moodle/-/commit/7b4ad9e9c8a4216167ae019859ebaa8def81d57f)\n\n## 0.5.0 (2025-06-20)\nsettings handling improved\n\n### feature (2 changes)\n\n- [Pixmaps and vector graphics scaled to fit in preview](https://gitlab.com/jbosse3/excel2moodle/-/commit/00a6ef13fb2a0046d7641e24af6cf6f08642390e)\n- [feature: category Settings implemented](https://gitlab.com/jbosse3/excel2moodle/-/commit/d673cc3f5ba06051aa37bc17a3ef0161121cb730)\n\n### improvement (1 change)\n\n- [Tolerance is harmonized by questionData.get()](https://gitlab.com/jbosse3/excel2moodle/-/commit/8d1724f4877e1584cc531b6b3f278bdea68b5831)\n\n### Settings Errors are logged (1 change)\n\n- [Log Errors in settings Sheet](https://gitlab.com/jbosse3/excel2moodle/-/commit/07e58f957c69ea818db1c5679cf89e287817ced3)\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A package for converting questions from a spreadsheet, to valid moodle-xml",
    "version": "0.6.1",
    "project_urls": {
        "Documentation": "https://jbosse3.gitlab.io/excel2moodle",
        "Repository": "https://gitlab.com/jbosse3/excel2moodle.git"
    },
    "split_keywords": [
        "moodle",
        " xml",
        " teaching",
        " question",
        " converter",
        " open educational ressource"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aefaa8d5ad4143845ac5fc31f6127e46632c10eb0c2d5fd4f559889b16689358",
                "md5": "550b5f6fa6009a8b5b00b5beea7925ca",
                "sha256": "e87fac076ae82687a286f9648cfc6ad3c9b875522958ff4efb23aa5501bb2172"
            },
            "downloads": -1,
            "filename": "excel2moodle-0.6.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "550b5f6fa6009a8b5b00b5beea7925ca",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 73472,
            "upload_time": "2025-07-12T20:34:31",
            "upload_time_iso_8601": "2025-07-12T20:34:31.615191Z",
            "url": "https://files.pythonhosted.org/packages/ae/fa/a8d5ad4143845ac5fc31f6127e46632c10eb0c2d5fd4f559889b16689358/excel2moodle-0.6.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fd56229611b21594a69e19dac9521b6fa34cc0d9d288ad50e664ae2f52765dd",
                "md5": "aede0436358173bee79cc2f4f06152e6",
                "sha256": "b7c7a712a4a75739ffae328fb389e636688c90fe77b90629dfb6dd2015eaf074"
            },
            "downloads": -1,
            "filename": "excel2moodle-0.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "aede0436358173bee79cc2f4f06152e6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 64541,
            "upload_time": "2025-07-12T20:34:32",
            "upload_time_iso_8601": "2025-07-12T20:34:32.495099Z",
            "url": "https://files.pythonhosted.org/packages/7f/d5/6229611b21594a69e19dac9521b6fa34cc0d9d288ad50e664ae2f52765dd/excel2moodle-0.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-12 20:34:32",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "jbosse3",
    "gitlab_project": "excel2moodle",
    "lcname": "excel2moodle"
}
        
Elapsed time: 1.34253s