summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 05:51:15 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 05:51:15 +0000
commite753fa7fcbda33d8118592646bf25f66691d4c91 (patch)
treedb2169c6c2fd04d471f0a6e1ddfbdd1699672c1b
parent145f88219382607609fec64b7d7c179135a80108 (diff)
automatic import of python-qpt-generator
-rw-r--r--.gitignore1
-rw-r--r--python-qpt-generator.spec260
-rw-r--r--sources1
3 files changed, 262 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..f8f8a05 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..5dc965c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a4d9b1cec051a4feba3daafce9750d39 qpt_generator-0.1.7.tar.gz