summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 07:31:27 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 07:31:27 +0000
commiteb7d1701cd9964a81f6b81e767a388dfa363abf9 (patch)
treecd78d5a2bdf5a5cd7c2148fe85fd872c28cb610b
parent5b4a480076fbba5ca4b76d897963f8ffdc89408e (diff)
automatic import of python-catsimopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-catsim.spec386
-rw-r--r--sources1
3 files changed, 388 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..20533e6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/catsim-0.17.2.tar.gz
diff --git a/python-catsim.spec b/python-catsim.spec
new file mode 100644
index 0000000..db9199c
--- /dev/null
+++ b/python-catsim.spec
@@ -0,0 +1,386 @@
+%global _empty_manifest_terminate_build 0
+Name: python-catsim
+Version: 0.17.2
+Release: 1
+Summary: Computerized Adaptive Testing Simulator
+License: GNU Lesser General Public License v3 (LGPLv3)
+URL: https://pypi.org/project/catsim/
+Source0: https://mirrors.aliyun.com/pypi/web/packages/9f/7f/575bce3050aa4d3c387a1bdfb0bfcaf3d4b8edbf5d37ef9b18abac9e7e22/catsim-0.17.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-scipy
+Requires: python3-numexpr
+Requires: python3-matplotlib
+Requires: python3-scikit-learn
+Requires: python3-json-tricks
+Requires: python3-tqdm
+Requires: python3-numpy
+Requires: python3-mypy
+Requires: python3-pylama
+Requires: python3-yapf
+Requires: python3-black
+Requires: python3-isort
+Requires: python3-Sphinx
+Requires: python3-numpydoc
+Requires: python3-sphinx-autodoc-annotation
+Requires: python3-sphinx-rtd-theme
+Requires: python3-m2r2
+Requires: python3-bibtex-pygments-lexer
+Requires: python3-matplotlib
+Requires: python3-nose
+Requires: python3-nose-cov
+Requires: python3-sklearn
+Requires: python3-flake8
+Requires: python3-yapf
+Requires: python3-twine
+Requires: python3-build
+
+%description
+[![Unit tests](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml/badge.svg)](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml)
+[![Test Coverage](https://coveralls.io/repos/github/douglasrizzo/catsim/badge.svg?branch=master)](https://coveralls.io/github/douglasrizzo/catsim?branch=master)
+[![Latest Version](https://badge.fury.io/py/catsim.svg)](https://badge.fury.io/py/catsim)
+[![Requirements Status](https://requires.io/github/douglasrizzo/catsim/requirements.svg?branch=master)](https://requires.io/github/douglasrizzo/catsim/requirements/?branch=master)
+[![Digital Object Identifier](https://zenodo.org/badge/doi/10.5281/zenodo.46420.svg)](http://dx.doi.org/10.5281/zenodo.46420)
+**catsim** is a Python package for computerized adaptive testing (CAT)
+simulations. It provides multiple methods for:
+- [test initialization](https://douglasrizzo.com.br/catsim/initialization.html) (selecting the initial ability of the examinees)
+- [item selection](https://douglasrizzo.com.br/catsim/selection.html)
+- [ability estimation](https://douglasrizzo.com.br/catsim/estimation.html)
+- [test stopping](https://douglasrizzo.com.br/catsim/stopping.html)
+These methods can either be used in a standalone fashion
+[\[1\]](https://douglasrizzo.com.br/catsim/introduction.html#autonomous-usage)
+to power other software or be used with *catsim* to simulate the
+application of computerized adaptive tests
+[\[2\]](https://douglasrizzo.com.br/catsim/introduction.html#running-simulations),
+given a sample of examinees, represented by their ability levels,
+and an item bank, represented by their parameters according to some
+[logistic Item Response Theory
+model](https://douglasrizzo.com.br/catsim/introduction.html#item-response-theory-models).
+## What's a CAT
+Computerized adaptive tests are educational evaluations, usually taken
+by examinees in a computer or some other digital means, in which the
+examinee\'s ability is evaluated after the response of each item.
+The new ability is then used to select a new item, closer to the
+examinee\'s real ability. This method of test application has
+several advantages compared to the traditional paper-and-pencil method
+or even linear tests applied electronically, since high-ability
+examinees are not required to answer all the easy items in a test,
+answering only the items that actually give some information regarding
+his or hers true knowledge of the subject at matter. A similar, but
+inverse effect happens for those examinees of low ability level.
+More information is available [in the
+docs](https://douglasrizzo.com.br/catsim/introduction.html) and over
+at
+[Wikipedia](https://en.wikipedia.org/wiki/Computerized_adaptive_testing).
+## Installation
+Install it using `pip install catsim`.
+## Basic Usage
+**NEW:** there is now [a Colab Notebook](https://colab.research.google.com/drive/1dBcpXxHuc9YXv9yGllxlahx585hEmdbn?usp=sharing) teaching the basics of catsim!
+1. Have an [item matrix](https://douglasrizzo.com.br/catsim/item_matrix.html);
+2. Have a sample of examinee proficiencies, or a number of examinees to be generated;
+3. Create an [initializer](https://douglasrizzo.com.br/catsim/initialization.html),
+ an item [selector](https://douglasrizzo.com.br/catsim/selection.html), a
+ ability [estimator](https://douglasrizzo.com.br/catsim/estimation.html)
+ and a [stopping criterion](https://douglasrizzo.com.br/catsim/stopping.html);
+4. Pass them to a [simulator](https://douglasrizzo.com.br/catsim/simulation.html)
+ and start the simulation.
+5. Access the simulator\'s properties to get specifics of the results;
+6. [Plot](https://douglasrizzo.com.br/catsim/plot.html) your results.
+```python
+from catsim.initialization import RandomInitializer
+from catsim.selection import MaxInfoSelector
+from catsim.estimation import NumericalSearchEstimator
+from catsim.stopping import MaxItemStopper
+from catsim.simulation import Simulator
+from catsim.cat import generate_item_bank
+initializer = RandomInitializer()
+selector = MaxInfoSelector()
+estimator = NumericalSearchEstimator()
+stopper = MaxItemStopper(20)
+Simulator(generate_item_bank(100), 10).simulate(initializer, selector, estimator, stopper)
+```
+## Dependencies
+All dependencies are listed on `setup.py` and should be installed
+automatically.
+To run the tests, you\'ll need to install the testing requirements
+`pip install catsim[testing]`.
+To generate the documentation, install the necessary dependencies with `pip install catsim[docs]`.
+To ensure code is valid and formatted before submission, install the necessary development dependencies with `pip install catsim[dev]`.
+## Compatibility
+*catsim* is compatible and tested against Python 3.5, 3.6, 3.7, 3.8 and 3.9.
+## Important links
+- Official source code repo: <https://github.com/douglasrizzo/catsim>
+- HTML documentation (stable release):
+ <https://douglasrizzo.com.br/catsim>
+- Issue tracker: <https://github.com/douglasrizzo/catsim/issues>
+## Citing catsim
+You can cite the package using the following bibtex entry:
+```bibtex
+@article{catsim,
+ author = {Meneghetti, Douglas De Rizzo and Aquino Junior, Plinio Thomaz},
+ title = {Application and simulation of computerized adaptive tests through the package catsim},
+ year = 2018,
+ month = jul,
+ archiveprefix = {arXiv},
+ eprint = {1707.03012},
+ eprinttype = {arxiv},
+ journal = {arXiv:1707.03012 [stat]},
+ primaryclass = {stat}
+}
+```
+## If you are looking for IRT item parameter estimation...
+_catsim_ does not implement item parameter estimation. I have had great joy outsourcing that functionality to the [mirt](https://cran.r-project.org/web//packages/mirt/) R package along the years. However, since many users request packages with item parameter estimation capabilities in the Python ecosystem, here are a few links. While I have not used them personally, specialized packages like these are hard to come by, so I hope these are helpful.
+- [eribean/girth](https://github.com/eribean/girth)
+- [eribean/girth_mcmc](https://github.com/eribean/girth_mcmc)
+- [nd-ball/py-irt](https://github.com/nd-ball/py-irt)
+
+%package -n python3-catsim
+Summary: Computerized Adaptive Testing Simulator
+Provides: python-catsim
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-catsim
+[![Unit tests](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml/badge.svg)](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml)
+[![Test Coverage](https://coveralls.io/repos/github/douglasrizzo/catsim/badge.svg?branch=master)](https://coveralls.io/github/douglasrizzo/catsim?branch=master)
+[![Latest Version](https://badge.fury.io/py/catsim.svg)](https://badge.fury.io/py/catsim)
+[![Requirements Status](https://requires.io/github/douglasrizzo/catsim/requirements.svg?branch=master)](https://requires.io/github/douglasrizzo/catsim/requirements/?branch=master)
+[![Digital Object Identifier](https://zenodo.org/badge/doi/10.5281/zenodo.46420.svg)](http://dx.doi.org/10.5281/zenodo.46420)
+**catsim** is a Python package for computerized adaptive testing (CAT)
+simulations. It provides multiple methods for:
+- [test initialization](https://douglasrizzo.com.br/catsim/initialization.html) (selecting the initial ability of the examinees)
+- [item selection](https://douglasrizzo.com.br/catsim/selection.html)
+- [ability estimation](https://douglasrizzo.com.br/catsim/estimation.html)
+- [test stopping](https://douglasrizzo.com.br/catsim/stopping.html)
+These methods can either be used in a standalone fashion
+[\[1\]](https://douglasrizzo.com.br/catsim/introduction.html#autonomous-usage)
+to power other software or be used with *catsim* to simulate the
+application of computerized adaptive tests
+[\[2\]](https://douglasrizzo.com.br/catsim/introduction.html#running-simulations),
+given a sample of examinees, represented by their ability levels,
+and an item bank, represented by their parameters according to some
+[logistic Item Response Theory
+model](https://douglasrizzo.com.br/catsim/introduction.html#item-response-theory-models).
+## What's a CAT
+Computerized adaptive tests are educational evaluations, usually taken
+by examinees in a computer or some other digital means, in which the
+examinee\'s ability is evaluated after the response of each item.
+The new ability is then used to select a new item, closer to the
+examinee\'s real ability. This method of test application has
+several advantages compared to the traditional paper-and-pencil method
+or even linear tests applied electronically, since high-ability
+examinees are not required to answer all the easy items in a test,
+answering only the items that actually give some information regarding
+his or hers true knowledge of the subject at matter. A similar, but
+inverse effect happens for those examinees of low ability level.
+More information is available [in the
+docs](https://douglasrizzo.com.br/catsim/introduction.html) and over
+at
+[Wikipedia](https://en.wikipedia.org/wiki/Computerized_adaptive_testing).
+## Installation
+Install it using `pip install catsim`.
+## Basic Usage
+**NEW:** there is now [a Colab Notebook](https://colab.research.google.com/drive/1dBcpXxHuc9YXv9yGllxlahx585hEmdbn?usp=sharing) teaching the basics of catsim!
+1. Have an [item matrix](https://douglasrizzo.com.br/catsim/item_matrix.html);
+2. Have a sample of examinee proficiencies, or a number of examinees to be generated;
+3. Create an [initializer](https://douglasrizzo.com.br/catsim/initialization.html),
+ an item [selector](https://douglasrizzo.com.br/catsim/selection.html), a
+ ability [estimator](https://douglasrizzo.com.br/catsim/estimation.html)
+ and a [stopping criterion](https://douglasrizzo.com.br/catsim/stopping.html);
+4. Pass them to a [simulator](https://douglasrizzo.com.br/catsim/simulation.html)
+ and start the simulation.
+5. Access the simulator\'s properties to get specifics of the results;
+6. [Plot](https://douglasrizzo.com.br/catsim/plot.html) your results.
+```python
+from catsim.initialization import RandomInitializer
+from catsim.selection import MaxInfoSelector
+from catsim.estimation import NumericalSearchEstimator
+from catsim.stopping import MaxItemStopper
+from catsim.simulation import Simulator
+from catsim.cat import generate_item_bank
+initializer = RandomInitializer()
+selector = MaxInfoSelector()
+estimator = NumericalSearchEstimator()
+stopper = MaxItemStopper(20)
+Simulator(generate_item_bank(100), 10).simulate(initializer, selector, estimator, stopper)
+```
+## Dependencies
+All dependencies are listed on `setup.py` and should be installed
+automatically.
+To run the tests, you\'ll need to install the testing requirements
+`pip install catsim[testing]`.
+To generate the documentation, install the necessary dependencies with `pip install catsim[docs]`.
+To ensure code is valid and formatted before submission, install the necessary development dependencies with `pip install catsim[dev]`.
+## Compatibility
+*catsim* is compatible and tested against Python 3.5, 3.6, 3.7, 3.8 and 3.9.
+## Important links
+- Official source code repo: <https://github.com/douglasrizzo/catsim>
+- HTML documentation (stable release):
+ <https://douglasrizzo.com.br/catsim>
+- Issue tracker: <https://github.com/douglasrizzo/catsim/issues>
+## Citing catsim
+You can cite the package using the following bibtex entry:
+```bibtex
+@article{catsim,
+ author = {Meneghetti, Douglas De Rizzo and Aquino Junior, Plinio Thomaz},
+ title = {Application and simulation of computerized adaptive tests through the package catsim},
+ year = 2018,
+ month = jul,
+ archiveprefix = {arXiv},
+ eprint = {1707.03012},
+ eprinttype = {arxiv},
+ journal = {arXiv:1707.03012 [stat]},
+ primaryclass = {stat}
+}
+```
+## If you are looking for IRT item parameter estimation...
+_catsim_ does not implement item parameter estimation. I have had great joy outsourcing that functionality to the [mirt](https://cran.r-project.org/web//packages/mirt/) R package along the years. However, since many users request packages with item parameter estimation capabilities in the Python ecosystem, here are a few links. While I have not used them personally, specialized packages like these are hard to come by, so I hope these are helpful.
+- [eribean/girth](https://github.com/eribean/girth)
+- [eribean/girth_mcmc](https://github.com/eribean/girth_mcmc)
+- [nd-ball/py-irt](https://github.com/nd-ball/py-irt)
+
+%package help
+Summary: Development documents and examples for catsim
+Provides: python3-catsim-doc
+%description help
+[![Unit tests](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml/badge.svg)](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml)
+[![Test Coverage](https://coveralls.io/repos/github/douglasrizzo/catsim/badge.svg?branch=master)](https://coveralls.io/github/douglasrizzo/catsim?branch=master)
+[![Latest Version](https://badge.fury.io/py/catsim.svg)](https://badge.fury.io/py/catsim)
+[![Requirements Status](https://requires.io/github/douglasrizzo/catsim/requirements.svg?branch=master)](https://requires.io/github/douglasrizzo/catsim/requirements/?branch=master)
+[![Digital Object Identifier](https://zenodo.org/badge/doi/10.5281/zenodo.46420.svg)](http://dx.doi.org/10.5281/zenodo.46420)
+**catsim** is a Python package for computerized adaptive testing (CAT)
+simulations. It provides multiple methods for:
+- [test initialization](https://douglasrizzo.com.br/catsim/initialization.html) (selecting the initial ability of the examinees)
+- [item selection](https://douglasrizzo.com.br/catsim/selection.html)
+- [ability estimation](https://douglasrizzo.com.br/catsim/estimation.html)
+- [test stopping](https://douglasrizzo.com.br/catsim/stopping.html)
+These methods can either be used in a standalone fashion
+[\[1\]](https://douglasrizzo.com.br/catsim/introduction.html#autonomous-usage)
+to power other software or be used with *catsim* to simulate the
+application of computerized adaptive tests
+[\[2\]](https://douglasrizzo.com.br/catsim/introduction.html#running-simulations),
+given a sample of examinees, represented by their ability levels,
+and an item bank, represented by their parameters according to some
+[logistic Item Response Theory
+model](https://douglasrizzo.com.br/catsim/introduction.html#item-response-theory-models).
+## What's a CAT
+Computerized adaptive tests are educational evaluations, usually taken
+by examinees in a computer or some other digital means, in which the
+examinee\'s ability is evaluated after the response of each item.
+The new ability is then used to select a new item, closer to the
+examinee\'s real ability. This method of test application has
+several advantages compared to the traditional paper-and-pencil method
+or even linear tests applied electronically, since high-ability
+examinees are not required to answer all the easy items in a test,
+answering only the items that actually give some information regarding
+his or hers true knowledge of the subject at matter. A similar, but
+inverse effect happens for those examinees of low ability level.
+More information is available [in the
+docs](https://douglasrizzo.com.br/catsim/introduction.html) and over
+at
+[Wikipedia](https://en.wikipedia.org/wiki/Computerized_adaptive_testing).
+## Installation
+Install it using `pip install catsim`.
+## Basic Usage
+**NEW:** there is now [a Colab Notebook](https://colab.research.google.com/drive/1dBcpXxHuc9YXv9yGllxlahx585hEmdbn?usp=sharing) teaching the basics of catsim!
+1. Have an [item matrix](https://douglasrizzo.com.br/catsim/item_matrix.html);
+2. Have a sample of examinee proficiencies, or a number of examinees to be generated;
+3. Create an [initializer](https://douglasrizzo.com.br/catsim/initialization.html),
+ an item [selector](https://douglasrizzo.com.br/catsim/selection.html), a
+ ability [estimator](https://douglasrizzo.com.br/catsim/estimation.html)
+ and a [stopping criterion](https://douglasrizzo.com.br/catsim/stopping.html);
+4. Pass them to a [simulator](https://douglasrizzo.com.br/catsim/simulation.html)
+ and start the simulation.
+5. Access the simulator\'s properties to get specifics of the results;
+6. [Plot](https://douglasrizzo.com.br/catsim/plot.html) your results.
+```python
+from catsim.initialization import RandomInitializer
+from catsim.selection import MaxInfoSelector
+from catsim.estimation import NumericalSearchEstimator
+from catsim.stopping import MaxItemStopper
+from catsim.simulation import Simulator
+from catsim.cat import generate_item_bank
+initializer = RandomInitializer()
+selector = MaxInfoSelector()
+estimator = NumericalSearchEstimator()
+stopper = MaxItemStopper(20)
+Simulator(generate_item_bank(100), 10).simulate(initializer, selector, estimator, stopper)
+```
+## Dependencies
+All dependencies are listed on `setup.py` and should be installed
+automatically.
+To run the tests, you\'ll need to install the testing requirements
+`pip install catsim[testing]`.
+To generate the documentation, install the necessary dependencies with `pip install catsim[docs]`.
+To ensure code is valid and formatted before submission, install the necessary development dependencies with `pip install catsim[dev]`.
+## Compatibility
+*catsim* is compatible and tested against Python 3.5, 3.6, 3.7, 3.8 and 3.9.
+## Important links
+- Official source code repo: <https://github.com/douglasrizzo/catsim>
+- HTML documentation (stable release):
+ <https://douglasrizzo.com.br/catsim>
+- Issue tracker: <https://github.com/douglasrizzo/catsim/issues>
+## Citing catsim
+You can cite the package using the following bibtex entry:
+```bibtex
+@article{catsim,
+ author = {Meneghetti, Douglas De Rizzo and Aquino Junior, Plinio Thomaz},
+ title = {Application and simulation of computerized adaptive tests through the package catsim},
+ year = 2018,
+ month = jul,
+ archiveprefix = {arXiv},
+ eprint = {1707.03012},
+ eprinttype = {arxiv},
+ journal = {arXiv:1707.03012 [stat]},
+ primaryclass = {stat}
+}
+```
+## If you are looking for IRT item parameter estimation...
+_catsim_ does not implement item parameter estimation. I have had great joy outsourcing that functionality to the [mirt](https://cran.r-project.org/web//packages/mirt/) R package along the years. However, since many users request packages with item parameter estimation capabilities in the Python ecosystem, here are a few links. While I have not used them personally, specialized packages like these are hard to come by, so I hope these are helpful.
+- [eribean/girth](https://github.com/eribean/girth)
+- [eribean/girth_mcmc](https://github.com/eribean/girth_mcmc)
+- [nd-ball/py-irt](https://github.com/nd-ball/py-irt)
+
+%prep
+%autosetup -n catsim-0.17.2
+
+%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-catsim -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.17.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..f292b4f
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+2905d041a0c5900d2c5c79e80b1177bc catsim-0.17.2.tar.gz