Skip to main content

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.

Metadata

Release files for adaptivetesting 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for adaptivetesting 1.2.1
File Size Uploaded
adaptivetesting-1.2.1.tar.gz 67.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for adaptivetesting 1.2.1
File Interpreter ABI Platform
adaptivetesting-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 165.8 kB

Release files / adaptivetesting-1.2.1.tar.gz

Download URL adaptivetesting-1.2.1.tar.gz
Size 67.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3e7034a5675bd2d94ae5548424f4dc9b83409f98cb8e18acdfd20b90d6a27bd0
BLAKE2b-256 checksum
How to use checksums
bd748ca5d7c8a2ad26fe69afee7b7f2d20ca8d4662a0d1160431f14a54f058fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / adaptivetesting-1.2.1-py3-none-any.whl

Download URL adaptivetesting-1.2.1-py3-none-any.whl
Size 98.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57dda94eaf2cca1e54c615aecc79fe569b46054b1a4ff5120806b9890a31403c
BLAKE2b-256 checksum
How to use checksums
4b128a1c136e1a86fe250351148b3d1585fdd9c85726b2ebd0e16bcf7ecda279
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page