A container for all the connections of a given type (same synapse type and
plasticity mechanisms) between two populations, together with methods to
set the parameters of those connections, including the parameters of
plasticity mechanisms.

Arguments:

presynaptic_neurons and postsynaptic_neurons:

Population, PopulationView or Assembly objects.

source:

string specifying which attribute of the presynaptic cell signals
action potentials. This is only needed for multicompartmental cells
with branching axons or dendrodendritic synapses. All standard cells
have a single source, and this is the default.

receptor_type:

string specifying which synaptic receptor_type type on the postsynaptic cell to connect
to. For standard cells, this can be ‘excitatory’ or ‘inhibitory’.
For non-standard cells, it could be ‘NMDA’, etc. If receptor_type is not
given, the default values of ‘excitatory’ is used.

connector:

a Connector object, encapsulating the algorithm to use for
connecting the neurons.

synapse_type:

a SynapseType object specifying which synaptic connection
mechanisms to use.

Get the values of a given attribute (weight or delay) for all
connections in this Projection.

attribute_names:

name of the attributes whose values are wanted, or a list of such
names.

format:

“list” or “array”.

gather:

if True, get connection information from all MPI nodes, otherwise
only from connections that exist in this node.

With list format, returns a list of tuples. By default, each tuple
contains the indices of the pre- and post-synaptic cell followed by
the attribute values in the order given in attribute_names.
Example:

If with_address is set to False, then the tuples will contain only the
attribute values, not the cell indices.

With array format, returns a tuple of 2D NumPy arrays, one for each
name in attribute_names. The array element X_ij contains the
attribute value for the connection from the ith neuron in the pre-
synaptic Population to the jth neuron in the post-synaptic Population,
if a single such connection exists. If there are no such connections,
X_ij will be NaN. Example:

source and target can both be individual cells or populations/
assemblies of cells, in which case all possible connections are made
with probability p, using either the random number generator supplied,
or the default RNG otherwise. Weights should be in nA or µS.