Bug 1150105 (python-pynn)

Summary: Review Request: python-pynn - Simulator-independent specification of neuronal network models
Product: [Fedora] Fedora Reporter: Ankur Sinha (FranciscoD) <sanjay.ankur>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, zebob.m
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: NOTREADY
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 1150067, 1150099, 1273579, 1662526    
Bug Blocks: 1276941    

Description Ankur Sinha (FranciscoD) 2014-10-07 12:46:20 UTC
Spec URL: https://ankursinha.fedorapeople.org/python-pynn/python-pynn.spec
SRPM URL: https://ankursinha.fedorapeople.org/python-pynn/python-pynn-0.7.5-1.fc22.src.rpm

Description: A Python package for simulator-independent specification of neuronal network

In other words, you can write the code for a model once, using the PyNN API and
the Python programming language, and then run it without modification on any
simulator that PyNN supports (currently NEURON, NEST, PCSIM and Brian).

The API has two parts, a low-level, procedural API (functions create(),
connect(), set(), record(), record_v()), and a high-level, object-oriented API
(classes Population and Projection, which have methods like set(), record(),
setWeights(), etc.).

The low-level API is good for small networks, and perhaps gives more
flexibility. The high-level API is good for hiding the details and the
book-keeping, allowing you to concentrate on the overall structure of your

The other thing that is required to write a model once and run it on multiple
simulators is standard cell and synapse models. PyNN translates standard
cell-model names and parameter names into simulator-specific names, e.g.
standard model IF_curr_alpha is iaf_neuron in NEST and StandardIF in NEURON,
while SpikeSourcePoisson is a poisson_generator in NEST and a NetStim in

Even if you don't wish to run simulations on multiple simulators, you may
benefit from writing your simulation code using PyNN's powerful, high-level
interface. In this case, you can use any neuron or synapse model supported by
your simulator, and are not restricted to the standard models.

PyNN is a work in progress, but is already being used for several large-scale
simulation projects.

Fedora Account System Username: ankursinha

Comment 1 Ankur Sinha (FranciscoD) 2014-10-07 17:01:15 UTC
Updated to the latest upstream commit - it has py3 support. Also corrected some left over py2 to 3 porting and opened a pull request upstream:



Comment 2 Ankur Sinha (FranciscoD) 2014-10-09 09:54:46 UTC
This isn't very useful until we have NEURON, NEST and BRIAN packaged. Marking as not ready.

Comment 3 Robert-André Mauchin 2018-11-18 18:58:44 UTC
Do you still need this reviewed?

Comment 4 Ankur Sinha (FranciscoD) 2018-11-18 20:17:25 UTC
It requires neuron, more work on NEST (it needs to be built with libneurosim which requires upstream to do a bit of work), and brian (which is packaged). Since neuron and NEST need work, I don't want to make pynn available to users via Fedora yet. So, it isn't ready for review yet.