pilotr (Python)
Python implementation of pilotr. It simulates experimental and behavioural data from a portable JSON design specification.
This is the feature-parity twin of the R package of
the same name. The two share the design specification and the random-number generator, so the
same specification and seed produce identical data in either language, bit for bit apart from a
documented tolerance of a few units in the last place where an unrounded response family applies
exp() or log() to the linear predictor. See the
project README for the full toolkit (the no-code
app, the R package and the specification format).
Install
pip install pilotr # core engine (pure Python, dependency-free)
pip install "pilotr[power]" # + scipy, for the simulation-based power demo
pip install "pilotr[mixed]" # + scipy, statsmodels and pandas, for crossed mixed-effects power
Requires Python 3.9 or later. The generative core has no dependencies.
For development, install from a checkout of the repository instead. Clone
https://github.com/pablobernabeu/pilotr and run pip install . (or pip install ".[dev]")
from the python directory.
Quick start
A design specification is an ordinary dictionary, so the shortest example needs nothing beyond the package itself.
from pilotr import simulate
spec = {
"name": "two_group", "seed": 2024,
"units": {"subject": {"n": 64}},
"factors": [{"name": "group", "levels": ["control", "treatment"],
"contrasts": {"effect": [-0.5, 0.5]}, "between": "subject"}],
"fixed": {"intercept": 100, "coefficients": {"effect": 5}},
"response": {"family": "gaussian", "name": "score", "sigma": 10},
}
data = simulate(spec) # 64 rows
Given the same specification and seed, this reproduces the data generated by the R package to full floating-point precision.
Try it without installing
A serverless build runs entirely in your browser, with no installation required and no data uploaded. It is available as a no-code app.
Learn more
The Python documentation site walks through the quick start, the response families, power and design analysis, the specification format and the API reference. The full repository, including the R package and the no-code app, is at https://github.com/pablobernabeu/pilotr.
Citation
If pilotr contributes to published work, please cite it.
Bernabeu, P. (2026). pilotr: Simulate experimental and behavioural data from a portable design specification (R and Python package version 0.3.0). https://doi.org/10.5281/zenodo.21266313
The About page carries the same citation
with a BibTeX entry, and a short note on the developer. The repository also ships
CITATION.cff, which is what
GitHub's Cite this repository button reads.
Licence
MIT. See LICENSE.
Contributing
Issues and pull requests are welcome. The contributing guide describes the development setup and the conventions the package follows, and everyone taking part is asked to honour the Code of Conduct.
Metadata
Release files for pilotr 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pilotr-0.3.0.tar.gz | 48.6 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pilotr-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 91.6 kB
Release files / pilotr-0.3.0.tar.gz
| Download URL | pilotr-0.3.0.tar.gz |
|---|---|
| Size | 48.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
14a16f3521b76c9b0a8210d004636f5ff1c450ad792b822e3213c89eff24f653
|
|
BLAKE2b-256 checksum How to use checksums |
e85b55684bd7f9bb403a8f574054a446ea7163919f30c955044c8e75488f82ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logRelease files / pilotr-0.3.0-py3-none-any.whl
| Download URL | pilotr-0.3.0-py3-none-any.whl |
|---|---|
| Size | 42.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49cec8a76c03420dade1370136cfe32e45acb98271580d9589b046d88630da14
|
|
BLAKE2b-256 checksum How to use checksums |
31976e773f64c2e4b184cd43eb8fdfc188a7c1ffc995ae7813bbacc8fd06ff68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logSecurity for pilotr 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pilotr-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.