Changelog¶
All notable changes to this project are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.2.1] - 2026-07-23¶
Changed¶
- The guides load a bundled design specification through
pilotr_example()rather than by a path relative to the repository. The path resolved only inside a checkout, so a reader who had installed pilotr and copied the line met a missing-file error.
0.2.0 - 2026-07-15¶
Added¶
pilotr_example()lists the design specifications shipped with the package, one per design family, and returns the path to each forload_spec(). The eight JSON files now travel inside the wheel, so the Worked examples page and any installed copy can reach them. This matches the R twin'spilotr_example().
0.1.0 - 2026-07-10¶
The first public version of the Python package. It simulates experimental and behavioural data from a portable JSON design specification, producing output that is bit-identical to the R package of the same name given the same specification and seed.
Added¶
simulategenerates a dataset from a design specification supplied as a plain dictionary or a JSON file, withload_specreading a specification authored elsewhere, such as one downloaded from the no-code app. Aper_subjectvalue below 1 or above the number of items is rejected with a clearValueError; the R package raises on the same inputs.- Response families for Gaussian outcomes, reaction times, accuracy, counts, ordinal responses and Beta-distributed proportions.
- Power and design analysis through
power,power_curveandpower_mixed, withscipyandstatsmodelssupplied as optional extras so the generative core stays dependency-free. A specification without an item unit is rejected bypower_mixedwith a clearValueErrorrather than yieldingnanpower. - A cross-language random-number contract that reproduces the R package's data to
full floating-point precision. Every Monte Carlo replicate seeds the shared RNG
as
seed + (replicate - 1), the same indexed-seed rule as the R package across all analyses. power,power_mixedandpower_curvetake aworkersargument that spreads the Monte Carlo replicates across local processes withconcurrent.futures.ProcessPoolExecutor. Because every replicate seeds the shared RNG from its own index, any worker count returns results identical to a serial run, andpower_curvestarts one process pool and reuses it across the whole sweep.- A documentation site whose guides execute their examples at build time, so the
tables and figures shown are real
pilotroutput.