Catalog PyPI
Back to packageRELEASE DETAILS

1.2.1

PyPI

adaptivetesting

adaptivetesting is a Python package that can be used to simulate and evaluate custom CAT scenarios as well as implement them in real-world testing scenarios from a single codebase

computerized-adaptive-testingitem-response-theorypsychologystatistics
Published29 Jun 2026
Direct dependencies6
Transitive dependenciesNot calculated

README

Version 1.2.1 documentation

adaptivetesting

An open-source Python package for simplified, customizable Computerized Adaptive Testing (CAT) using Bayesian methods.

Key Features

  • Bayesian Methods: Built-in support for Bayesian ability estimation with customizable priors
  • Flexible Architecture: Object-oriented design with abstract classes for easy extension
  • Item Response Theory: Full support for 1PL, 2PL, 3PL, and 4PL models, GRM, GPCM
  • Multiple Estimators:
    • Maximum Likelihood Estimation (MLE)
    • Bayesian Modal Estimation (BM)
    • Expected A Posteriori (EAP)
  • Item Selection Strategies: Maximum information criterion
  • Content Balancing: Maximum Priority Index, Weighted Penalty Model
  • Exposure Control: Randomesque Item Selection, Maximum Priority Index
  • Simulation Framework: Comprehensive tools for CAT simulation and evaluation
  • Real-world Application: Direct transition from simulation to production testing
  • Stopping Criteria: Support for standard error and test length criteria
  • Data Management: Built-in support for CSV and pickle data formats

Installation

Install from PyPI using pip:

pip install adaptivetesting

For the latest development version:

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

Documentation

You can find our documentation in the GitHub wiki.

Contributing

We welcome contributions! Please see our GitHub repository for:

  • Issue tracking
  • Feature requests
  • Pull request guidelines
  • Development setup

Research and Applications

This package is designed for researchers and practitioners in:

  • Educational assessment
  • Psychological testing
  • Cognitive ability measurement
  • Adaptive learning systems
  • Psychometric research

The package facilitates the transition from research simulation to real-world testing applications without requiring major code modifications.

Citation

If you use this package for your academic work, please provide the following reference: Engicht, J., Bee, R. M., & Koch, T. (2025). Customizable Bayesian Adaptive Testing with Python – The adaptivetesting Package. Open Science Framework. https://doi.org/10.31219/osf.io/d2xge_v1

@online{engichtCustomizableBayesianAdaptive2025,
  title = {Customizable {{Bayesian Adaptive Testing}} with {{Python}} – {{The}} Adaptivetesting {{Package}}},
  author = {Engicht, Jonas and Bee, R. Maximilian and Koch, Tobias},
  date = {2025-08-06},
  eprinttype = {Open Science Framework},
  doi = {10.31219/osf.io/d2xge_v1},
  url = {https://osf.io/d2xge_v1},
  pubstate = {prepublished}
}

License

This project is licensed under the terms specified in the LICENSE file.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 6

Native requirements
6 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
numpy>=2.1.0runtime
pandas
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pandas>=2.3.0runtime
scipy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
scipy>=1.15.0runtime
tqdm
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
tqdm>=4.66.0runtime
matplotlib
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
matplotlib>=3.10.0runtime
numdifftools
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
numdifftools>=0.9.42runtime

Distribution files

2 collected
adaptivetesting-1.2.1-py3-none-any.whl

bdist_wheel · 95.79 KB · Python py3

Source file
adaptivetesting-1.2.1.tar.gz

sdist · 66.12 KB · Python source

Source file

Repository

PENDING
condecon/adaptivetesting

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:08 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:871f2b7ae10a51f910c4e28be581ce4b80680395c843ae2eccf77e68525672dc

Other collected versions

View all collected versions →