diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-18 05:51:15 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-18 05:51:15 +0000 |
| commit | e753fa7fcbda33d8118592646bf25f66691d4c91 (patch) | |
| tree | db2169c6c2fd04d471f0a6e1ddfbdd1699672c1b | |
| parent | 145f88219382607609fec64b7d7c179135a80108 (diff) | |
automatic import of python-qpt-generator
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-qpt-generator.spec | 260 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 262 insertions, 0 deletions
@@ -0,0 +1 @@ +/qpt_generator-0.1.7.tar.gz diff --git a/python-qpt-generator.spec b/python-qpt-generator.spec new file mode 100644 index 0000000..4d3a387 --- /dev/null +++ b/python-qpt-generator.spec @@ -0,0 +1,260 @@ +%global _empty_manifest_terminate_build 0 +Name: python-qpt-generator +Version: 0.1.7 +Release: 1 +Summary: Question Paper Template Generator +License: MIT +URL: https://github.com/Niraj-Kamdar/qpt_generator +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c0/38/1fbb5213305467fdb47108d9401120feb81c0cec6108eaf945e51d8d3a88/qpt_generator-0.1.7.tar.gz + + +%description +# qpt_generator +An implementation of Question Paper Template Generation Algorithm written in C++ to provide high performance. It uses Cython internally to create python package. + +## Introduction +Generation of question papers through a question bank is an important activity in learning management systems and educational institutions. The quality of question paper is based on various design constraints such as whether a question paper assesses different problem solving skills as per Bloom's taxonomy, whether it covers all units from the syllabus of a course and whether it covers various difficulty levels. + +I have implemented algorithm written by Vaibhav M. Kale and Arvind W. Kiwelekar for question paper template generation in C++ to provide fast performance. Implementation is extensible in terms of constriant it support to create question paper template. + +The qpt_generator package was motivated by the needs of my academic project [Question Paper Generator](https://github.com/Niraj-Kamdar/question-paper-generator). + +## Installation +You can install qpt_generator using easy_install with following command: +```console +pip install qpt-generator +``` +or +```console +easy_install qpt-generator +``` +## Usage +After installing module, you can import it using following command: +```python +from qpt_generator import QPTGenerator +``` +You have to provide two inputs to the constructor of QPTGenerator: + 1. A dictionary of constraints and lists of distribution of mark</br> + Ex: if you want to generate paper with 4 constraint: + - Unit-wise distribution of marks + - Difficulty level-wise distribution of marks + - Cognitive level-wise distribution of marks + - Question-wise distribution of marks + 2. A list of question no. associated with list of question-wise mark distributions. Repitition of same question no. indicates subquestions of that question. + +Output will be generated when you call generate method of the QPTGenerator class. Here, output is a dictionary of list of the alloted unit, cognitive level, difficulty and mark by question no. + +```python +from qpt_generator import QPTGenerator +mark_distributions = { + "question": [5, 5, 10, 4, 6, 5, 5], + "unit": [8, 8, 8, 5, 11], + "difficulty": [13, 15, 12], + "cognitive": [12, 18, 10], +} +question_no = [1, 1, 2, 3, 3, 4, 4] +qpt = QPTGenerator(mark_distributions, question_no) +output = qpt.generate() + +# output = {'cognitive': [2, 3, 2, 3, 3, 1, 3, 1, 1, 2], +# 'difficulty': [3, 1, 2, 2, 1, 3, 3, 1, 2, 3], +# 'question': [5, 5, 8, 2, 2, 1, 1, 6, 5, 5], +# 'question_no': [1, 1, 2, 2, 3, 3, 3, 3, 4, 4], +# 'unit': [4, 5, 1, 3, 2, 2, 3, 5, 2, 3]} +``` +To satisfy all given constraints: +question 1 should have 2 subquestions: +- first question should have cognitive_level = 2, difficulty = 3, unit no.= 4 and mark = 5 +- second question should have cognitive_level = 3, difficulty = 1, unit no.= 5 and mark = 5 + +You can randomly select this kind of questions from your question bank database if it exists. + +## References +1) [An Algorithm for Question Paper Template +Generation in Question Paper Generation System](https://ieeexplore.ieee.org/document/6557281?arnumber=6557281&tag=1) + +%package -n python3-qpt-generator +Summary: Question Paper Template Generator +Provides: python-qpt-generator +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-qpt-generator +# qpt_generator +An implementation of Question Paper Template Generation Algorithm written in C++ to provide high performance. It uses Cython internally to create python package. + +## Introduction +Generation of question papers through a question bank is an important activity in learning management systems and educational institutions. The quality of question paper is based on various design constraints such as whether a question paper assesses different problem solving skills as per Bloom's taxonomy, whether it covers all units from the syllabus of a course and whether it covers various difficulty levels. + +I have implemented algorithm written by Vaibhav M. Kale and Arvind W. Kiwelekar for question paper template generation in C++ to provide fast performance. Implementation is extensible in terms of constriant it support to create question paper template. + +The qpt_generator package was motivated by the needs of my academic project [Question Paper Generator](https://github.com/Niraj-Kamdar/question-paper-generator). + +## Installation +You can install qpt_generator using easy_install with following command: +```console +pip install qpt-generator +``` +or +```console +easy_install qpt-generator +``` +## Usage +After installing module, you can import it using following command: +```python +from qpt_generator import QPTGenerator +``` +You have to provide two inputs to the constructor of QPTGenerator: + 1. A dictionary of constraints and lists of distribution of mark</br> + Ex: if you want to generate paper with 4 constraint: + - Unit-wise distribution of marks + - Difficulty level-wise distribution of marks + - Cognitive level-wise distribution of marks + - Question-wise distribution of marks + 2. A list of question no. associated with list of question-wise mark distributions. Repitition of same question no. indicates subquestions of that question. + +Output will be generated when you call generate method of the QPTGenerator class. Here, output is a dictionary of list of the alloted unit, cognitive level, difficulty and mark by question no. + +```python +from qpt_generator import QPTGenerator +mark_distributions = { + "question": [5, 5, 10, 4, 6, 5, 5], + "unit": [8, 8, 8, 5, 11], + "difficulty": [13, 15, 12], + "cognitive": [12, 18, 10], +} +question_no = [1, 1, 2, 3, 3, 4, 4] +qpt = QPTGenerator(mark_distributions, question_no) +output = qpt.generate() + +# output = {'cognitive': [2, 3, 2, 3, 3, 1, 3, 1, 1, 2], +# 'difficulty': [3, 1, 2, 2, 1, 3, 3, 1, 2, 3], +# 'question': [5, 5, 8, 2, 2, 1, 1, 6, 5, 5], +# 'question_no': [1, 1, 2, 2, 3, 3, 3, 3, 4, 4], +# 'unit': [4, 5, 1, 3, 2, 2, 3, 5, 2, 3]} +``` +To satisfy all given constraints: +question 1 should have 2 subquestions: +- first question should have cognitive_level = 2, difficulty = 3, unit no.= 4 and mark = 5 +- second question should have cognitive_level = 3, difficulty = 1, unit no.= 5 and mark = 5 + +You can randomly select this kind of questions from your question bank database if it exists. + +## References +1) [An Algorithm for Question Paper Template +Generation in Question Paper Generation System](https://ieeexplore.ieee.org/document/6557281?arnumber=6557281&tag=1) + +%package help +Summary: Development documents and examples for qpt-generator +Provides: python3-qpt-generator-doc +%description help +# qpt_generator +An implementation of Question Paper Template Generation Algorithm written in C++ to provide high performance. It uses Cython internally to create python package. + +## Introduction +Generation of question papers through a question bank is an important activity in learning management systems and educational institutions. The quality of question paper is based on various design constraints such as whether a question paper assesses different problem solving skills as per Bloom's taxonomy, whether it covers all units from the syllabus of a course and whether it covers various difficulty levels. + +I have implemented algorithm written by Vaibhav M. Kale and Arvind W. Kiwelekar for question paper template generation in C++ to provide fast performance. Implementation is extensible in terms of constriant it support to create question paper template. + +The qpt_generator package was motivated by the needs of my academic project [Question Paper Generator](https://github.com/Niraj-Kamdar/question-paper-generator). + +## Installation +You can install qpt_generator using easy_install with following command: +```console +pip install qpt-generator +``` +or +```console +easy_install qpt-generator +``` +## Usage +After installing module, you can import it using following command: +```python +from qpt_generator import QPTGenerator +``` +You have to provide two inputs to the constructor of QPTGenerator: + 1. A dictionary of constraints and lists of distribution of mark</br> + Ex: if you want to generate paper with 4 constraint: + - Unit-wise distribution of marks + - Difficulty level-wise distribution of marks + - Cognitive level-wise distribution of marks + - Question-wise distribution of marks + 2. A list of question no. associated with list of question-wise mark distributions. Repitition of same question no. indicates subquestions of that question. + +Output will be generated when you call generate method of the QPTGenerator class. Here, output is a dictionary of list of the alloted unit, cognitive level, difficulty and mark by question no. + +```python +from qpt_generator import QPTGenerator +mark_distributions = { + "question": [5, 5, 10, 4, 6, 5, 5], + "unit": [8, 8, 8, 5, 11], + "difficulty": [13, 15, 12], + "cognitive": [12, 18, 10], +} +question_no = [1, 1, 2, 3, 3, 4, 4] +qpt = QPTGenerator(mark_distributions, question_no) +output = qpt.generate() + +# output = {'cognitive': [2, 3, 2, 3, 3, 1, 3, 1, 1, 2], +# 'difficulty': [3, 1, 2, 2, 1, 3, 3, 1, 2, 3], +# 'question': [5, 5, 8, 2, 2, 1, 1, 6, 5, 5], +# 'question_no': [1, 1, 2, 2, 3, 3, 3, 3, 4, 4], +# 'unit': [4, 5, 1, 3, 2, 2, 3, 5, 2, 3]} +``` +To satisfy all given constraints: +question 1 should have 2 subquestions: +- first question should have cognitive_level = 2, difficulty = 3, unit no.= 4 and mark = 5 +- second question should have cognitive_level = 3, difficulty = 1, unit no.= 5 and mark = 5 + +You can randomly select this kind of questions from your question bank database if it exists. + +## References +1) [An Algorithm for Question Paper Template +Generation in Question Paper Generation System](https://ieeexplore.ieee.org/document/6557281?arnumber=6557281&tag=1) + +%prep +%autosetup -n qpt-generator-0.1.7 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-qpt-generator -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.7-1 +- Package Spec generated @@ -0,0 +1 @@ +a4d9b1cec051a4feba3daafce9750d39 qpt_generator-0.1.7.tar.gz |
