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
Project description
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
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adaptivetesting-1.2.tar.gz.
File metadata
- Download URL: adaptivetesting-1.2.tar.gz
- Upload date:
- Size: 67.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a80a58a2f657a8dc1d663974bb5d020564c4ab7fddf008ffb944345ce1256f7
|
|
| MD5 |
c2d99996c87df5b7cdc6090a764082b7
|
|
| BLAKE2b-256 |
b4364bec0002b4e0751e349a91f487949290f814a9fb4782a3c88b20b399956a
|
File details
Details for the file adaptivetesting-1.2-py3-none-any.whl.
File metadata
- Download URL: adaptivetesting-1.2-py3-none-any.whl
- Upload date:
- Size: 97.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80e343d344ffb0085d8e81585426a5567ed24e864003aa8588ab3ae801da9a8f
|
|
| MD5 |
a320c539cf97b541bd67716a8a761a96
|
|
| BLAKE2b-256 |
a2b5296ab9c1ef44d2121f8f66ee671e0a71c0d033ae1390c565fdd5028e750e
|