diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 07:31:27 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 07:31:27 +0000 |
commit | eb7d1701cd9964a81f6b81e767a388dfa363abf9 (patch) | |
tree | cd78d5a2bdf5a5cd7c2148fe85fd872c28cb610b /python-catsim.spec | |
parent | 5b4a480076fbba5ca4b76d897963f8ffdc89408e (diff) |
automatic import of python-catsimopeneuler20.03
Diffstat (limited to 'python-catsim.spec')
-rw-r--r-- | python-catsim.spec | 386 |
1 files changed, 386 insertions, 0 deletions
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 +[](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml) +[](https://coveralls.io/github/douglasrizzo/catsim?branch=master) +[](https://badge.fury.io/py/catsim) +[](https://requires.io/github/douglasrizzo/catsim/requirements/?branch=master) +[](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 +[](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml) +[](https://coveralls.io/github/douglasrizzo/catsim?branch=master) +[](https://badge.fury.io/py/catsim) +[](https://requires.io/github/douglasrizzo/catsim/requirements/?branch=master) +[](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 +[](https://github.com/douglasrizzo/catsim/actions/workflows/test-on-push.yml) +[](https://coveralls.io/github/douglasrizzo/catsim?branch=master) +[](https://badge.fury.io/py/catsim) +[](https://requires.io/github/douglasrizzo/catsim/requirements/?branch=master) +[](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 |