Skip to main content

DOI BSD 3-clause PyPI build GitHub forks GitHub stars

pulse2percept: A Python-based simulation framework for bionic vision

Globally, an estimated 43 million people are blind, with limited treatment options available for many causes of vision loss. For certain conditions, visual neuroprostheses - such as retinal and cortical implants - may be the only viable intervention.

However, understanding the perceptual experience generated by these devices remains a significant challenge. The artificial vision they provide is shaped by complex interactions between neural stimulation, underlying neurophysiology, and device-specific parameters.

pulse2percept (p2p) is an open-source Python package that offers spatiotemporal models of common retinal and cortical implants, providing a computational framework to simulate and study artificial vision.

Input stimulus and predicted percept

(left: input stimulus, right: predicted percept)

Simulations such as the above are likely to be critical for providing realistic estimates of prosthetic vision, thus providing regulatory bodies with guidance into what sort of visual tests are appropriate for evaluating prosthetic performance, and improving current and future technology.

If you use p2p in a scholarly publication, please cite as:

M Beyeler, GM Boynton, I Fine, A Rokem (2017). pulse2percept: A Python-based simulation framework for bionic vision. Proceedings of the 16th Python in Science Conference (SciPy), p.81-88, doi:10.25080/shinma-7f4c6e7-00c.

Installation

To install the stable release of p2p, run:

pip install pulse2percept

pip installs NumPy and the other dependencies for you, and will only select a release that supports the Python version you are running (see Compatibility and Building from Source).

We publish prebuilt wheels on PyPI for 64-bit Linux (manylinux, x86-64), macOS 11 and later (both Apple silicon and Intel), and 64-bit Windows. These wheels are not tied to a particular distribution or OS release beyond those minimums.

You can find the full documentation here.

Compatibility and Building from Source

We do not publish wheels for 32-bit platforms or for musl-based distributions such as Alpine Linux. While other platforms are not explicitly supported, you may still be able to run p2p with minimal modifications: if pip does not find a prebuilt wheel for your system, it will attempt to install from source.

Supported Python versions:

Python

3.14

3.13

3.12

3.11

3.10

3.9

3.8

3.7

3.6

3.5

p2p 0.10 Encoders

Yes

Yes

Yes

Yes

p2p 0.9.1

Yes

Yes

Yes

Yes

p2p 0.9 Cortex

Yes

Yes

Yes

Yes

p2p 0.8 Retina

Yes

Yes

Yes

Yes

p2p 0.7 Implants

Yes

Yes

Yes

Yes

p2p 0.6 API

Yes

Yes

Yes

Yes

Our GitHub Action Runners build and test p2p on the ubuntu-latest, windows-latest, and macos-latest images, on every Python version listed for the current release above. Those labels track whatever image GitHub currently ships, so the exact OS releases we test against change over time.

Upgrading and Uninstalling

To upgrade p2p to the latest stable version:

pip install -U pulse2percept

To uninstall:

pip uninstall pulse2percept -y

Installing the Bleeding-Edge Version

If you want to install the latest development version from source, make sure you have a C compiler available (see the note above), then run:

pip install git+https://github.com/pulse2percept/pulse2percept

For more details, see our Installation Guide.

If you encounter issues, check our Issue Tracker on GitHub for solutions or contribute fixes for unsupported platforms.

Where to go from here

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulse2percept-0.10.0.tar.gz (82.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pulse2percept-0.10.0-cp314-cp314-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.14Windows x86-64

pulse2percept-0.10.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pulse2percept-0.10.0-cp314-cp314-macosx_11_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ x86-64

pulse2percept-0.10.0-cp314-cp314-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pulse2percept-0.10.0-cp313-cp313-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.13Windows x86-64

pulse2percept-0.10.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pulse2percept-0.10.0-cp313-cp313-macosx_11_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

pulse2percept-0.10.0-cp313-cp313-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pulse2percept-0.10.0-cp312-cp312-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.12Windows x86-64

pulse2percept-0.10.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pulse2percept-0.10.0-cp312-cp312-macosx_11_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

pulse2percept-0.10.0-cp312-cp312-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pulse2percept-0.10.0-cp311-cp311-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.11Windows x86-64

pulse2percept-0.10.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pulse2percept-0.10.0-cp311-cp311-macosx_11_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

pulse2percept-0.10.0-cp311-cp311-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file pulse2percept-0.10.0.tar.gz.

File metadata

  • Download URL: pulse2percept-0.10.0.tar.gz
  • Upload date:
  • Size: 82.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for pulse2percept-0.10.0.tar.gz
Algorithm Hash digest
SHA256 e14262c24ce6b65a5e235e3838c1b3f7f542e455954cf2049a563152f4577578
MD5 24c89a1a97d9e0d9804699ade144d56b
BLAKE2b-256 0d089185cbe36f90ea84c964faa3f1225a4630529449416748fce3c8fefeeff2

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4b3743501db7808b1972a81aa803678127b96f11ecd6694fc1df3169f910e614
MD5 b3673564395d4740f217dd07933ba040
BLAKE2b-256 ceb86fca437fd728d8ee356dcc72f73038a7eec609728510d24835560703aec6

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7f6fe88d0be7a8859d94e96ff12c5020e77742e424151b25db1b1779c37fc7ba
MD5 ea6eebba04e7c78dac84e1159b6970b6
BLAKE2b-256 5efe99f32f81e800488aa142811a664d2c59fc205cbb3a9eebaee3f643a8cfef

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp314-cp314-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp314-cp314-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ac695ef5843711edff7555ab0401313dba7cb207dcc3b382614a863822a08bfb
MD5 be74e3373499a7f14bc7772592afcdf8
BLAKE2b-256 6e44da17001c97a117095c53a9557ff3f85be1c14283790332a52d786cb2568e

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 faa28836cc0304342e373c48636b79265f6e507b8bd19bcb03f350f00ace5458
MD5 4bc0d8f2e8ecd776b210028b25cffba1
BLAKE2b-256 9cf98bc7f090a0caa2e4a6aceeec431d91d9a95f455a685057297fe0d69e565b

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6444b1f5c57b2db1bf53e82614f9c5894fd4c719f031801f61754cdeada8b4b9
MD5 8ea8f594859925f91f2bf685df50aacd
BLAKE2b-256 71728a213c61043ff41459108b6cf95010c150717a2ce632efb5f779112a18e0

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 70d51528ac5da436755bbcb5008cda42b35dc8390672bd209fd9d454b5afea62
MD5 17ea7acbc9b0fb680cd417278459e3d9
BLAKE2b-256 081b47bad5e54c1499e74a2c4e82b576134e78007d61fb5ecc0c85518befd5c1

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 6941846a92e44531e3378305a11d7b294ee92ef7b2410db1e14d3455bffe699e
MD5 e91a5d6d28167577e5c851883c9983e6
BLAKE2b-256 46d2f9130e94a064c624953615cbb999c5345e4b6eac6d35187bb1db95cd74c8

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe40fba5e61a4d8302eed131f32b23da9a9e75ca371e07220383515780828ba3
MD5 2dab8f8a47ae19038b76c56be547ea79
BLAKE2b-256 77c2fc682560c70789b366c9fa755b52f3b9994816644091ca5e2f5dc90ffce7

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9751a40606bc46e0c4fa5f43cc0c93e09b25312cda53f945eaed906b00029a3e
MD5 96a015a6974a5927d039219b8c841fbc
BLAKE2b-256 e8b3724223de5200f77d8d76c642bb4a2d894668a15d22f3c77c3175799e282c

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba7b59ca4c7b9f5bf0fb4b960247420ef5e94f8bae6ecb6bbda8fa208e8bc5f4
MD5 2d4f6d43c04f2a102a7494899f503e89
BLAKE2b-256 b1ed4049eef385708c13a7f6a77e9fd039a1ce75c5bc8a102d4d0c1e859aa632

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9802ae9590cb92c0d188a0155f5df96564bff9eb0d08ace47eaf72baffe1d282
MD5 42ab7df8cdafe6f9650217f07ede5b7a
BLAKE2b-256 dc69f1e495fb369cddebb260f72e792c84d53d47c6a68035f4363c4256ac1933

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9dda8d9445ecfd960e6519ec25473d3aaf495cfa2ede4cbb358fe9d3af0329d3
MD5 cc88cdc752fe8d889306b1533bff9ed7
BLAKE2b-256 1952a6fbffd52d99a6f9d9d8c56393bcce4785ebd5b915ad5f4d8356437da45a

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 65783f6f13c14676296d36b75ad5950e9509fe38ef1fd2205c6cc4f7eb42beb2
MD5 5aa663b1afc8ff7b9b14139fb4017706
BLAKE2b-256 dee759cbcad158f8631a173ab71222dcf3538b05390b1a155d6550f00de0aa8a

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3bd62d0a1d53f4c4376bd302dcad9ca2b0d5656c660fae23c3df44ae2bd33a3d
MD5 dcbc0de5a12a705e92cd34c7489516ae
BLAKE2b-256 bd4bc7053e458c6aa08181fb6d91c61141755deff7c3799c3ea499a96e88e2f5

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 82b7c94fe54bb6c17fe7e5c7e7d1f39813bd477a612b903387654619fe7fc7cb
MD5 7bbb47b95301f13832f42d59b0dd9809
BLAKE2b-256 0539dde9b9c0c509b5dfed0e7fc9681ff757b0b5f7b3473212ec25ab72528e57

See more details on using hashes here.

File details

Details for the file pulse2percept-0.10.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.10.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97a3cae4c223e1cfa617dec02a7079a102de5d802ee6250388257f085dbc1e13
MD5 41edde0e76647d8cea8679fd25fb5b59
BLAKE2b-256 a56a7de1e084f9bda961b814f33a6bebfb66ddd58ef4881eac45f12fb565fd1e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.10.0 This release

17 files

0.9.1

17 files

0.9.0

12 files

0.8.0

16 files

0.7.1

21 files

0.7.0

21 files

0.6.0

29 files

0.5.2

22 files

0.5.1

22 files

0.5

22 files

0.4.3

11 files

0.4.2

6 files

0.4.1

1 file

0.4

1 file

0.3

2 files

0.2

2 files

0.1.1

2 files

0.1

3 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