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 below).

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.13

3.12

3.11

3.10

3.9

3.8

3.7

3.6

3.5

p2p 0.9.1

Yes

Yes

Yes

Yes

p2p 0.9

Yes

Yes

Yes

Yes

p2p 0.8

Yes

Yes

Yes

Yes

p2p 0.7

Yes

Yes

Yes

Yes

p2p 0.6

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.9.1.tar.gz (11.2 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.9.1-cp313-cp313-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.13Windows x86-64

pulse2percept-0.9.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.5 MB view details)

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

pulse2percept-0.9.1-cp313-cp313-macosx_11_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

pulse2percept-0.9.1-cp313-cp313-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pulse2percept-0.9.1-cp312-cp312-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.12Windows x86-64

pulse2percept-0.9.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.5 MB view details)

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

pulse2percept-0.9.1-cp312-cp312-macosx_11_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

pulse2percept-0.9.1-cp312-cp312-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pulse2percept-0.9.1-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11Windows x86-64

pulse2percept-0.9.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.5 MB view details)

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

pulse2percept-0.9.1-cp311-cp311-macosx_11_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

pulse2percept-0.9.1-cp311-cp311-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pulse2percept-0.9.1-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10Windows x86-64

pulse2percept-0.9.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.4 MB view details)

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

pulse2percept-0.9.1-cp310-cp310-macosx_11_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

pulse2percept-0.9.1-cp310-cp310-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for pulse2percept-0.9.1.tar.gz
Algorithm Hash digest
SHA256 f6f465389527bbafe7cf4436713e8b3e84e8ff9ff82135980414fe27a97d319e
MD5 077be19db0e8eeb2188382a3891dfdf1
BLAKE2b-256 ef4cd206345f3d5d3bb6bb0648221f2882ae741a217c152bddc697a7508e26f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6e93dc7c6fc43d04650f0a563e606bd288fcb78e65131f0f0bef2e4fa96d42e4
MD5 dd63a51db05e983dec3dab7690122c72
BLAKE2b-256 03cdf719786206fc4a339035b4602bda03a4b264245c231b34b6bcc38481988a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff18514adf5e02a47f1663f57ccee4741ab9fd0a02fca2ca08287b1761c2f160
MD5 0d70c4a67fc1019a3de9fc5a606527a5
BLAKE2b-256 11ed81946505855304ee7e837579f4d652566c6f8dc193e95c917eea97e8336e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 05eef3aecf49ac9f2c1a03444db5ba11e9d4bb0f63c547563cb5a70ba4d0bc64
MD5 487c0ae63352c38b0373180249c0d130
BLAKE2b-256 1e6db5ce6f6ce8cad64d2afe011a74214eda1f9eab1a1d75b36b24f73b632063

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7ed636880617a0613bfb3109bd223fc2e5cb1994430fea648fbfc84df282570
MD5 74bd9770627ddcdd9dc43b2eb8e6853c
BLAKE2b-256 62ad0919b995f7f14013c7206a0662a6625bce400f96f77526447c0e3e1392c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 045b6189a7d65ea313fe59b4f64f8bf887176305500f5d16970ce87723433c0d
MD5 558b9ef093d1743a584922e51b000b18
BLAKE2b-256 ea0acdda805488a747c48b0af0ac59917ec872d55431eab811a2dba723458cc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e90f4966b4e18f7db1eefbd6e726efa8489de603bc569a7faceb47cff994d296
MD5 4256105d0facf5453f59c4a26f300a00
BLAKE2b-256 055c0a876ce06d40f5c217c89992ce038a20a7fa5e1b7224d37550fd1aea7120

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 c26ea619c4724fe6ea7b47d12b1961ddfb89d7a96462c3442f8126de5251897b
MD5 ed15a704ec8fcd17a566cfa7bcf39395
BLAKE2b-256 1e24d03542dca396844cb6f3049ae7d24b67cdd38063a1276dfd4ea40678b5fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79b592a7bae5ce4db31c69e40c0a5208d8954316ef9ab8c4064c8ca9fae9e31a
MD5 32309165c9d3f40aaa0dab4cc280e9f3
BLAKE2b-256 4c39d281d44348bf35b34af8d6376218b99e6efb878361451e8df7ff5f963dc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6cf2d56e62330d98ff8e3434d7b01a1c9610d6980c2f0441b7fcb18c9fd08853
MD5 d807ead0a371eecc626e90a02dfaa8e4
BLAKE2b-256 9cb5baf84924e0241f77eeb915669a5ada86d2c2f0df1292fda2cca27b2303e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf0475ea143a97e83c5fa35c3d84308ed0f960387f45473285507ce9ffd7efe1
MD5 4960c895c0b4564391fbdd2fc66e9609
BLAKE2b-256 eb077b0a8ebf539ce0cd0c3513f3dacde707e5463768640b63e0624128aca395

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 34ae544893153471a24ec2616d9eb6ed3c454f5c6b6c89057e2dfecd35f9e618
MD5 74c72abf6f2397246eeafa3b4e16bf12
BLAKE2b-256 96ef3ea1b132f67a65eae39645afc1eefc5124adf86b2feccf02b8fd10f58bf4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 345548367a7b1e17e142d454e046637c827ce0ef09e88d04e6e7b0879dd8165f
MD5 ad42b53ff08a0575d7cef8e0c25e9161
BLAKE2b-256 7bab444190de418320b025253dc2ed874a4eccf297f8e19592797d1bebb68d63

See more details on using hashes here.

File details

Details for the file pulse2percept-0.9.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 84a985838b2aa91eb5be386d776b5c68798efc6411dbe8abc8901b7654cba208
MD5 186118b65cf7d576b49d3b11100ed10c
BLAKE2b-256 ce0c130f6ed82dcf0f41f56a42d5ce92f5467fcd3ae650aeaecc88bbdf263d6b

See more details on using hashes here.

File details

Details for the file pulse2percept-0.9.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 badc9e7a39bc13d885ca0e9d8f8be2e6e8ac0cab6b164ca911f121d7ef8f6871
MD5 b9daa4689ef8f24b888028c0fdc8dfaf
BLAKE2b-256 178a7a236bccc578ecad74e21c5d217b8cf4c6596e945dde410761c01e53b179

See more details on using hashes here.

File details

Details for the file pulse2percept-0.9.1-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 f3274ca5aa416fccc8357b54ce468119d1fa76b8c40134b81ae862e9f6bd6b77
MD5 6fb0c51bd06ceda8d6bb0aa55af851dc
BLAKE2b-256 5c6a3dba4bec65b4b163ba464019f7e8c383cdc9dadcef9163bcad5b05b83964

See more details on using hashes here.

File details

Details for the file pulse2percept-0.9.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pulse2percept-0.9.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b618a12a1acc82bd6c6172548691df26394c988aa2478bd56064a114141ff43
MD5 6ca93a390743e4a02a8178a101707323
BLAKE2b-256 f4cf7a46e1cee171de71593c0af02b58ef155e41efc666af0cc18b8c8d94ec8e

See more details on using hashes here.

Release history Release notifications | RSS feed

0.10.0

17 files

This release

0.9.1 This release

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