🌄 Overview
Pyrception is a simulation framework for biosensors. Currently, it provides the base ingredients for simulating key parts of the structural and functional elements of visual processing observed in the mammalian retina. The long-term goal of Pyrception is to support multiple sensory modalities (such as auditory, olfactory and tactile), and to provide methods for integrating those inputs into a unified multisensory input signal (such as spike trains). Alongside this, Pyrception can also serve as an input conversion for encoding raw multimodal sensory input into a uniform spike train suitable for processing with spiking neural networks.
🪛 Installation
You can install Pyrception from PyPI:
pip install pyrception
or directly from GitHub (optionally in development mode):
git clone git@github.com:cantordust/pyrception.git
cd pyrception
pip install -e .
♻️ Optional dependencies
Pyrception supports several dependency groups:
cli: Command-line interface.events: Support for processing events (including from event cameras).dev: Development tools (for testing, profiling, etc.).torch: PyTorch support.ipy: ipykernel & ipywidgets (for running inside notebooks).docs: Tools for building the documentation.all: All of the above.
Use the --group with pip to enable a dependency group (repeat for each group). For instance:
pip install -e . --group events --group docs
will pull in all dependencies necessary for event-based input and building the documentation.
⏯️ Usage
Please refer to the documentation, which contains step-by-step notebooks demonstrating how to use Pyrception with a static image and an RGB video. More notebooks are currently being developed, including sparse event input from an event camera. Stay tuned.
📈 Development
Please open an issue if you discover a bug, feature. That said, contributions are welcome!
To generate and view the documentation locally, clone the repository and run the MkDocs build pipeline (note that you have to install Pyrception with the docs dependency group):
git clone git@github.com:cantordust/pyrception.git
cd pyrception
pip install -e . --group docs
mkdocs build
Then, to view the documentation locally, start the MkDocs server:
mkdocs serve
📋 ToDo
Short-term
👁️ Visual package
- All major types of retinal cells.
- Receptors (raw input, Weber's law).
- Horizontal cells (mean local brightness, normalising feedback).
- Bipolar cells (positive and negative contrast, temporal filter, excitatory input to ganglion cells).
- Amacrine cells (inhibitory input to ganglion cells, modulatory signal to bipolar cells).
- Ganglion cells (spiking).
- Logpolar kernel arrangement.
- Uniform or Gaussian kernels.
- Arbitrary kernel, size, shape and orientation.
- 🚧 Colour vision (with colour opponency).
- 🚧 Temporal dynamics.
- 🚧 Events as input.
- Saccadic movements.
👂 Auditory package
WIP.
👃 Olfactory package
WIP.
🔧 Others
- 🚧 Support alternative backends for sparse matrix operations (CuPy, PyTorch, Sparse).
- 🚧 Interfacing with (neuromorphic) hardware, such as event cameras.
Contributing to Pyrception
Please read the contribution guide
Metadata
Release files for pyrception 0.3.5.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyrception-0.3.5.post1.tar.gz | 32.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyrception-0.3.5.post1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.4 MB
Release files / pyrception-0.3.5.post1.tar.gz
| Download URL | pyrception-0.3.5.post1.tar.gz |
|---|---|
| Size | 32.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad9ae0dff30c32d931cbd6c1f881c4a312fcfbc5b58375eab5ded6ee75d2e091
|
|
BLAKE2b-256 checksum How to use checksums |
52b8e8cba9cd0d1b92b0be05e01096469e2304e3f98677a633f9cdbe307312d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 17, 2026.
Transparency logRelease files / pyrception-0.3.5.post1-py3-none-any.whl
| Download URL | pyrception-0.3.5.post1-py3-none-any.whl |
|---|---|
| Size | 37.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
39961e1a072cbdca92de45b7663bcc6d883f0ace57980118ae8de145ccf63071
|
|
BLAKE2b-256 checksum How to use checksums |
14473fe82b1c90eafc052618cb44a5f0f34d428ac948b54473854093a8828e40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 17, 2026.
Transparency log