PyPRF
A free & open source python package for population receptive field (pRF) analysis. With this package you can present visual stimuli for a retinotopic mapping fMRI experiment, and perform a pRF analysis on the fMRI data.
PyPRF has two parts, which are installed and used separately:
| Part | What it does | Where it runs | What you need |
|---|---|---|---|
| 1. Stimulus presentation | Presents the retinotopic mapping stimuli in the MRI scanner. | The stimulus computer of the MRI lab. | PsychoPy and a folder with two scripts. You do not need to install the pyprf package. |
| 2. Analysis | Estimates a pRF for each voxel, and creates retinotopic maps. | Your analysis computer. | pip install pyprf |
The stimuli consist of bars at different locations and orientations, filled with flickering black and white checkerboards. It is important that the participant fixates throughout the experiment. Therefore, there is a central fixation task: the fixation dot occasionally changes its colour, and the participant presses a button in response. At the end of the presentation, the participant's hit rate is provided as feedback.
A pRF is estimated for each voxel (see [1]). The pRF model is a 2D Gaussian; the free parameters are the Gaussian's x- and y-position, and its width (SD). This rather simple pRF model is best suited for early visual cortex (higher cortical areas may require more complex models).
1. Stimulus presentation
The stimulus presentation consists of two scripts that you open and run in PsychoPy. On purpose, they are not part of the pyprf python package: stimulus computers in MRI labs are often shared, and it is easiest to copy a folder and run the scripts from the PsychoPy app.
Installation
- Install PsychoPy (the standalone installer is easiest). The stimulus presentation was tested with PsychoPy 2026.2.4.
- Download
pyprf-stimulus-presentation-v<version>.zipfrom the releases page (below "Assets"), copy it to the stimulus computer, and unzip it. (Alternatively, clone this repository and copy the folderpyprf/stimulus_presentation.)
The folder looks like this. Please do not rename or move the subfolders, the scripts find the design matrices and the log folder relative to their own location.
stimulus_presentation/
├── code/
│ ├── create_design_matrix.py <- step 1: create a design matrix
│ └── stimulus.py <- step 2: present the stimuli
├── design_matrices/ <- design matrices are saved here
│ ├── Run_01.npz (examples, see below)
│ ├── Run_02.npz
│ └── Run_03.npz
└── log/ <- log files & stimulus logs are saved here
Step 1: Create a design matrix
The design matrix specifies the experimental design: which stimulus is shown on each fMRI volume, and when the target events of the fixation task occur. There is one stimulus per fMRI volume, so the design matrix is made for a specific volume TR.
Note: The example design matrices
Run_01toRun_03were made for a TR of 2.079 s (227 volumes each). If your fMRI sequence has a different TR, you need to create your own design matrices. Because the order of the stimuli is randomised, you can create a different design matrix for each run of your experiment.
Open code/create_design_matrix.py in PsychoPy (Coder view) and click Run (or run python create_design_matrix.py in a terminal). Set the parameters in the dialog:
- Output file name: By default, the first unused name (e.g.
Run_04). If a design matrix with this name already exists, you can choose a different name, or overwrite the existing one. - TR [s]: The volume TR of your fMRI sequence.
- Number of bar orientations: 4 (horizontal, vertical, and two diagonals), or 2 (horizontal & vertical).
- Number of bar positions on x-axis / y-axis: Number of bar positions along the width / height of the screen.
- Number of blocks: How often each combination of bar position & orientation is shown.
- Number of rest trials: Number of additional rest periods (3 volumes each) at random times.
- Inter-trial interval for targets [s]: Average time between target events (colour changes of the fixation dot).
- Initial / final rest period [volumes]: Rest (fixation only) at the beginning and end of the run.
- Full screen: If
True, the bars cover the entire screen. IfFalse, they cover a central square (with a side length equal to the screen height). - Stimulus contrasts: One or two contrast levels of the bars.
After the design matrix is saved, a dialog shows its number of volumes and duration. Your fMRI sequence has to acquire (at least) this number of volumes.
Step 2: Present the stimuli
Open code/stimulus.py in PsychoPy and click Run (or run python stimulus.py in a terminal).
- Design matrix: Choose a design matrix. The list shows the TR and the number of volumes of each design matrix, please check that they match your fMRI sequence.
- Logging mode:
Falseduring the experiment (see step 3). - Scanner trigger key: The key that the scanner sends as trigger pulse (see below).
- Response key: The key that the participant presses after a target event.
- Width of monitor [cm], Distance between observer and monitor [cm], Width / Height of monitor [pixels]: The properties of the screen in the scanner.
After you click OK, the fixation dot is shown, and the presentation waits for the trigger from the scanner. The presentation starts with the first trigger.
| Key | Default | |
|---|---|---|
| Scanner trigger key | 5 |
Starts the stimulus presentation. The MRI scanner sends a key press at the start of each volume. Which key depends on your MRI lab (common are 5 and t). |
| Response key | 1 |
The participant presses this key when the fixation dot changes its colour. |
e + x |
Abort the presentation (keep e pressed, and press x). |
Keys are specified with their PsychoPy key names, for instance 5, t, or num_5 (number pad).
A log file of the presentation, including the participant's hits & misses, is saved in the log folder.
Step 3: Create the stimulus log for the analysis
For the analysis, you need a log of the stimuli, i.e. an image of the visual stimulus on each fMRI volume. To create it, run stimulus.py again with Logging mode set to True, for each design matrix that you used, with the same screen settings as in the experiment. (This does not need a scanner trigger, and runs faster than the experiment. Don't use logging mode during an experiment.)
The stimulus log is saved as PNG images (one per volume) in log/<design matrix>_frames/, e.g. log/Run_01_frames/frame_001.png. Copy these folders to your analysis computer.
Please check that the bar stimuli are visible in the PNG images. (On some virtual or remote displays, the screen content cannot be captured, and the images are empty.)
2. Analysis
Installation
Install pyprf from PyPI, preferably in a virtual environment:
pip install pyprf
pyprf requires Python 3.11 or newer. All dependencies are installed automatically.
Configuration
The analysis parameters are set in a config file. Copy the example config file and adjust it to your data (see the comments in the file). The most important parameters are:
lstPathNiiFunc: The fMRI data (nii files, one per run).lstPathPng: The stimulus logs from step 3 of the stimulus presentation (one per run, in the same order as the fMRI data), e.g.['/my_data/Run_01_frames/frame_', '/my_data/Run_02_frames/frame_'].strPathNiiMask: A brain mask (the pRF analysis is only performed within the mask).varTr: The volume TR.varExtXmin,varExtXmax,varExtYmin,varExtYmax: The extent of the stimulated area of the screen, in degrees of visual angle from the fixation point. In full screen mode, this is the entire screen; otherwise it is a central square with a side length equal to the screen height.strVersion:'cython'(recommended, considerably faster) or'numpy'.varPar: Number of processes to run in parallel.strPathOut: The basename of the output files.
On Windows, please use forward slashes in paths (e.g. 'C:/my_data/run_01.nii.gz').
Run the analysis
pyprf -config /path/to/config.csv
The results are saved as nii files, e.g. <strPathOut>_x_pos.nii.gz, _y_pos, _SD (pRF size), _R2, _polar_angle, _eccentricity, and the parameter estimates _PE_01 (one per stimulus contrast).
If the data do not fit into memory, you can switch on the hdf5 mode (lgcHdf5 = True). The data are then kept on disk instead of in memory, which is slower.
Upgrading from pyprf 2
pyprf3 requires Python 3.11 or newer.- The tensorflow (GPU) version of the analysis has been removed. Please set
strVersion = 'cython'in your config file (if you usedstrVersion = 'gpu'). - The analysis results are unchanged (this is checked by the tests).
- Design matrices in full screen mode: previously, one of the horizontal bar positions was outside of the screen (i.e. no stimulus was visible on these volumes). This has been fixed, so new design matrices are slightly shorter (with the default settings, 223 instead of 227 volumes).
Contributions
Contributions are welcome! Please see CONTRIBUTING.md for how to set up a development environment and run the tests.
References
This application is based on the following work:
[1] Dumoulin, S. O. & Wandell, B. A. (2008). Population receptive field estimates in human visual cortex. NeuroImage 39, 647–660.
If you use pyprf, please cite it via its Zenodo DOI.
Support
Please use the GitHub issues for questions or bug reports.
License
The project is licensed under GNU General Public License Version 3.
Release files for pyprf 3.0.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 | |
|---|---|---|---|
| pyprf-3.0.0.tar.gz | 63.9 kB | Details |
Built distributions (wheels)
Total release size: 19.2 MB
Release files / pyprf-3.0.0.tar.gz
| Download URL | pyprf-3.0.0.tar.gz |
|---|---|
| Size | 63.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
54c382621ee4f742c1da095f970e4334ad244b6e4789da1ecd5837c1f5907c75
|
|
BLAKE2b-256 checksum How to use checksums |
8c73914be47bb7ba8f8437505e67bc61eca98dc534d3f779cea68bad5510f937
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp314-cp314-win_amd64.whl
| Download URL | pyprf-3.0.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 820.2 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fb43deb3867f59bdd3f1a21d6dd8a651203ee88f76da56dae3e03ba9ade0ba38
|
|
BLAKE2b-256 checksum How to use checksums |
59b6cb98ef3cf8ed57a445bcc92e1b35a31282b1f2e610f7752525019aa8fa19
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyprf-3.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
927638acad68f06e675e8881fd843e2aacd655cb2c2272a1761a82333cf84d99
|
|
BLAKE2b-256 checksum How to use checksums |
fbdba2258f4b4ba4c01d2bbea9f13a1e4373a99ee8b11082d422ef71f4a46b10
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyprf-3.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
8346c9fdbc92cf6ea1a128684d4bb45210e5f2dfe8a0f21bfe6e0ef141f6de54
|
|
BLAKE2b-256 checksum How to use checksums |
e187c7bbebedcb9669914f06dbefe97ebca7e67fdfa080ce20adf806916d8b68
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | pyprf-3.0.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 324.3 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
745efcf77901cffbba20d8f842172740d6e9fa778c4e2890a1a2c6b0cfa0d8a2
|
|
BLAKE2b-256 checksum How to use checksums |
246b35c92cba26248c80bbd302697a2f0d9b3f2fe606d67f4cc268ce2812df2e
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | pyprf-3.0.0-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 321.1 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
31ee2deeaeb466f729a69ab66caf1a290085556f04ea9e1300942afe513ad887
|
|
BLAKE2b-256 checksum How to use checksums |
f0bd18189f24827300e4354bf6125ebf130686077a9417719feabb48c765e2f7
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp313-cp313-win_amd64.whl
| Download URL | pyprf-3.0.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 818.3 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1daff0bfe7365042d5c5a42301586263517808ec0cd2b311a8bce97136a11fc1
|
|
BLAKE2b-256 checksum How to use checksums |
6ba20edfd86226b723a224cf754df12e191cd3ebdcdf63f0837ff3f49747a34b
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyprf-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6f88bc54b0a1d0d247ec805a76aba1d25ff58736030e397b4decdf19bfa7582f
|
|
BLAKE2b-256 checksum How to use checksums |
da53641922b621598e50ded84d4d44bbd95e9002f173ea7a2e2003fb7e8a5071
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyprf-3.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
25258fc9ef7098f5c4f7b986df3c5d3ae12bbe4862c65fb830518481e17d899e
|
|
BLAKE2b-256 checksum How to use checksums |
fd47e0042dd333570724fe4f7c7ba34c7e0e8317396e0dd1616f472f3a9f589e
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pyprf-3.0.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 322.5 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b847a455cf6e7a6e780eb4c9d94862621ca5d4384203e39f19bd444e8cb17f82
|
|
BLAKE2b-256 checksum How to use checksums |
40883063a002dd1e2fb1f0b70b6fad8a6bc9b03cbbb0066e357180e54ef697db
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | pyprf-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 320.8 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
e4c450ba2a5b7a52dd272eb0cc1d95eb8b0cd9568b2db52b141b9ebbb728bb8f
|
|
BLAKE2b-256 checksum How to use checksums |
9d0a47e4f9a527a35a84f61f6e2cf616037f8244bc1c50ff2841797179f50b53
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp312-cp312-win_amd64.whl
| Download URL | pyprf-3.0.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 819.4 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e006efd70bab5e1f2ed1ab5b5bfaae8555a41083f9fb7d61f2334d63af1e6535
|
|
BLAKE2b-256 checksum How to use checksums |
14111d410185aca9e046f0b923d642625ea2c27278f8097401e82e4f25aeb4aa
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyprf-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
91cad41e1f9e400f1904a0236df2b8992e244ddac47fed569d2c8db19982b256
|
|
BLAKE2b-256 checksum How to use checksums |
d74f416f82da83d2f19b464df7907128f7ea78ec6e99435ee4dd1e64a71b89dc
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyprf-3.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a38d886bb52eb044c52da84ba6cc4e1022ed3249983a93960612a39c81b735bd
|
|
BLAKE2b-256 checksum How to use checksums |
110fd3bc9d58cd1afa8dcd421f2b79ac6349bb6658e8b1f80db9212b5a7aae6d
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pyprf-3.0.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 324.1 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7b01a4f39dba34809badf37f70b7d7cdf02f8e591632f5bc86452f3f6431862f
|
|
BLAKE2b-256 checksum How to use checksums |
c2372a139f8c05aa9b7a03fe03049ecfe9596bf739558175c5e945fc894f0a9e
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | pyprf-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 321.8 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
a8032dd15adae4aaab38d73eedea019c547e64cb78e4f967be91b7309e3a2702
|
|
BLAKE2b-256 checksum How to use checksums |
d321180640fbc528b7a2c2c9e3e235589df2e81904c09aa06848fe8ba3a83c01
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp311-cp311-win_amd64.whl
| Download URL | pyprf-3.0.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 813.4 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
48213f28d7b7c39409ded59743c13b37e1f2b4b740601efdb64d38344338a204
|
|
BLAKE2b-256 checksum How to use checksums |
2033f04e01adc53e80174d4ccd53fefa364ae6151bd2692b1849887ed71f9f3e
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyprf-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c2477057e20cc95a59a1bae95349984e650bf240d05469c079d79097f4400cb9
|
|
BLAKE2b-256 checksum How to use checksums |
a157c70e398bfeba15257873bf141196239f12d034e483e1f329bc1d7a3d4214
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyprf-3.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
4ff8b5ccadb0f147db514cb26deb8203fd8d46625afdc477a37db1b37a8936ae
|
|
BLAKE2b-256 checksum How to use checksums |
55ee5dd57e6db67a5440d6c4b91cc86ddf6318642870126f4e342a26f8f08c62
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | pyprf-3.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 324.6 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a61d9443de4113b642f4c5de5209e97ceeb6985f3592606a1e910aee03aeb2b0
|
|
BLAKE2b-256 checksum How to use checksums |
b95ef07911be85c374419ae874d3cb1127342ec0d0547244628bdfc975b0e621
|
| 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 Sep 25, 2026.
Transparency logRelease files / pyprf-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | pyprf-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 319.7 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
f7a171a29f2d50a59c94a1912e85246d92905df51b07630016c1a9f7fc2a0e2f
|
|
BLAKE2b-256 checksum How to use checksums |
16de83ead7e797b84efa5208cf838f168efe2641dfa256e279bcba55439e5313
|
| 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 Sep 25, 2026.
Transparency log