logo of the adaptivetesting package

adaptivetesting is a Python package for computerized adaptive testing that can be used to simulate and implement custom adaptive tests in real-world testing scenarios.

Getting Started

Required Python version: >= 3.11 (other versions may work, but they are not officially supported)

pip install adaptivetesting

If you want to install the current development version, you can do so by running the following command:

pip install git+https://github.com/condecon/adaptivetesting

Features

  • IRT-Models:
    • 4PL
    • simplified derivates (e.g., 3PL, Rasch model)
  • Ability estimators:
    • Maximum Likelihood Estimation
    • Bayes Modal
  • Item selection algorithm:
    • Urry’s rule
  • Stopping criteria:
    • test length
    • ability estimation standard error
  • Test results output formats
    • SQLITE
    • Pickle
  • Generate response patterns using existing items pool for simulations
  • Functions and wrappers for CAT simulations and application implementations

Any functionality can be modified and extended.

Custom testing procedures

Custom testing procedures can be implemented by implementing the abstract class AdaptiveTest. Any existing functionality can be overridden while still retaining full compatibility with the package’s functionality. For more information, please consult the documentation for the AdaptiveTest class.

Package structure

submodule description
data data management and processing of test results
implementations concrete implementations of the adaptive process, provides actual
math mathematical utilities and functions, such as estimators, item selection, test information
models data model definitions and structures used in the package
services interfaces that concrete implementations inherit from
simulations functions and classes used in CAT simulation
tests Unit test for the entire package

GitHub

To find out more, take a look at the package’s GitHub repo.

adaptivetesting - GitHub