Skip to main content
psyphy logo

Active-learning-driven adaptive experimentation in psychophysics

Installation | Documentation | Examples | Contributing

Overview

psyphy is an open-source, JAX-based framework for psychophysics research. It leverages GPU acceleration and efficient approximate inference to power Bayesian, active-learning-driven adaptive experiments.

Designed to be modular and extensible, psyphy accelerates research workflows and enables real-time adaptive experiments. While currently focused on human color perception, it can be adapted to other perceptual modalities.

The package is under active development, and we welcome contributions.

Install

psyphy only supports python 3.10+. We recommend installing psyphy under a virtual environment. Once you've created a virtual environment for psyphy and activated it, you can install psyphy using pip:

pip install psyphy

If you're developer or want to use the latest features, you can install from GitHub using:

git clone https://flatironinstitute.github.io/psyphy.git
cd psyphy
pip install -e .

Contributors can also use uv, which installs from the committed uv.lock for a reproducible environment instead of resolving the loose ranges above fresh each time; see CONTRIBUTING.md for the uv-based workflow.

GPU support

The commands above install a CPU-only jax. For an NVIDIA/CUDA GPU (including the Flatiron cluster), install the cuda extra instead:

pip install "psyphy[cuda]"     # from PyPI
pip install -e ".[cuda]"       # from a clone

This pulls in JAX's own cuda12 extra, which bundles a matching CUDA/cuDNN runtime as pip packages — no system CUDA module needs to be loaded alongside it.

Apple Silicon (M-series) GPUs are not supported. JAX's Metal backend cannot do float64, which some psyphy examples require for published-precision comparisons (Apple/Google's own jax-metal package is also no longer maintained). On a Mac, psyphy runs on CPU.

Quickstart

  • Go here for a light-weight tutorial that demonstrates how to instantiate, evaluate and fit a model quickly. You should be able to run the underlying script on your CPU.
  • Go here for a more comprehensive example visualizing a spatially varying covariance field, also explaining the underlying math. The underlying script for this tutorial requires a GPU.

Contributing

For contributors, see CONTRIBUTING.md for full doc guidelines and NumPy-style docstrings.

Metadata

Release files for psyphy 0.0.5

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

Source distribution (sdist)

Source distribution for psyphy 0.0.5
File Size Uploaded
psyphy-0.0.5.tar.gz 106.9 kB Details

Built distribution (wheel)

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

Total release size: 181.2 kB

Release files / psyphy-0.0.5.tar.gz

Download URL psyphy-0.0.5.tar.gz
Size 106.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0927cfa38e7d341631c2623d25e9aa04887243fdffa03bbf84aa3b076bd7fe55
BLAKE2b-256 checksum
How to use checksums
200ab864a0af6f6a819f5916e89cf896db3e6f90c54425b24a130dc477bafb72
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 Oct 9, 2026.

Transparency log

Release files / psyphy-0.0.5-py3-none-any.whl

Download URL psyphy-0.0.5-py3-none-any.whl
Size 74.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f254108d01e9a94275a2ced938af25b45871b11a0cefb851c8ee0f0a919abc8a
BLAKE2b-256 checksum
How to use checksums
442603c46ac4d5aa56c65d192d51e846a448175c5d940ede156f8d50b8b007dc
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 Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.2

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