core package

Essential Brian modules, in particular base classes for all kinds of brian objects.

Built-in preferences

Core Brian preferences

core.default_float_dtype = float64

Default dtype for all arrays of scalars (state variables, weights, etc.).

Currently, this is not supported (only float64 can be used).

core.default_integer_dtype = int32

Default dtype for all arrays of integer scalars.

core.outdated_dependency_error = True

Whether to raise an error for outdated dependencies (True) or just a warning (False).

base module

All Brian objects should derive from BrianObject.

Exported members: BrianObject, weakproxy_with_fallback(), BrianObjectException, brian_object_exception()


BrianObject(*args, **kwds) All Brian objects derive from this class, defines magic tracking and update.
BrianObjectException(message, brianobj, ...) High level exception that adds extra Brian-specific information to exceptions


brian_object_exception(message, brianobj, ...) Returns a BrianObjectException derived from the original exception.
device_override(name) Decorates a function/method to allow it to be overridden by the current Device.
weakproxy_with_fallback(obj) Attempts to create a weakproxy to the object, but falls back to the object if not possible.

clocks module

Clocks for the simulator.

Exported members: Clock, defaultclock


Clock(dt[, name]) An object that holds the simulation time and the time step.
DefaultClockProxy Method proxy to access the defaultclock of the currently active device


defaultclock The standard clock, used for objects that do not specify any clock or dt

core_preferences module

Definitions, documentation, default values and validation functions for core Brian preferences.



functions module

Exported members: DEFAULT_FUNCTIONS, Function, implementation(), declare_types()


Function(pyfunc[, sympy_func, arg_units, ...]) An abstract specification of a function that can be used as part of model equations, etc.
FunctionImplementation([name, code, ...]) A simple container object for function implementations.
FunctionImplementationContainer(function) Helper object to store implementations and give access in a dictionary-like fashion, using CodeGenerator implementations as a fallback for CodeObject implementations.
SymbolicConstant(name, sympy_obj, value) Class for representing constants (e.g.



declare_types(**types) Decorator to declare argument and result types for a function
implementation(target[, code, namespace, ...]) A simple decorator to extend user-written Python functions to work with code generation in other languages.

magic module

Exported members: MagicNetwork, magic_network, MagicError, run(), stop(), collect(), store(), restore(), start_scope()


MagicError Error that is raised when something goes wrong in MagicNetwork
MagicNetwork() Network that automatically adds all Brian objects


collect([level]) Return the list of BrianObjects that will be simulated if run() is called.
get_objects_in_namespace(level) Get all the objects in the current namespace that derive from BrianObject.
restore([name, filename]) Restore the state of the network and all included objects.
run(duration[, report, report_period, ...]) Runs a simulation with all “visible” Brian objects for the given duration.
start_scope() Starts a new scope for magic functions
stop() Stops all running simulations.
store([name, filename]) Store the state of the network and all included objects.


magic_network Automatically constructed MagicNetwork of all Brian objects

names module

Exported members: Nameable


Nameable(name) Base class to find a unique name for an object



namespace module

Implementation of the namespace system, used to resolve the identifiers in model equations of NeuronGroup and Synapses

Exported members: get_local_namespace(), DEFAULT_FUNCTIONS, DEFAULT_UNITS, DEFAULT_CONSTANTS


get_local_namespace(level) Get the surrounding namespace.

network module

Module defining the Network object, the basis of all simulation runs.


Network preferences = ['start', 'groups', 'thresholds', 'synapses', 'resets', 'end']

Default schedule used for networks that don’t specify a schedule.

Exported members: Network, profiling_summary()


Network(*objs[, name]) The main simulation controller in Brian
ProfilingSummary(net[, show]) Class to nicely display the results of profiling.
TextReport(stream) Helper object to report simulation progress in


profiling_summary([net, show]) Returns a ProfilingSummary of the profiling info for a run.

operations module

Exported members: NetworkOperation, network_operation()


NetworkOperation(function[, dt, clock, ...]) Object with function that is called every time step.


network_operation([when]) Decorator to make a function get called every time step of a simulation.

preferences module

Brian global preferences are stored as attributes of a BrianGlobalPreferences object prefs.

Exported members: PreferenceError, BrianPreference, prefs, brian_prefs


BrianGlobalPreferences() Class of the prefs object.
BrianGlobalPreferencesView(basename, all_prefs) A class allowing for accessing preferences in a subcategory.
BrianPreference(default, docs[, validator, ...]) Used for defining a Brian preference.
DefaultValidator(value) Default preference validator
PreferenceError Exception relating to the Brian preferences system.


check_preference_name(name) Make sure that a preference name is valid.
parse_preference_name(name) Split a preference name into a base and end name.


prefs Preference categories:

spikesource module

Exported members: SpikeSource


SpikeSource A source of spikes.

tracking module

Exported members: Trackable


InstanceFollower Keep track of all instances of classes derived from Trackable
InstanceTrackerSet A set of weakref.ref to all existing objects of a certain class.
Trackable Classes derived from this will have their instances tracked.

variables module

Classes used to specify the type of a function, variable or common sub-expression.

Exported members: Variable, Constant, ArrayVariable, DynamicArrayVariable, Subexpression, AuxiliaryVariable, VariableView, Variables, LinkedVariable, linked_var()


ArrayVariable(name, unit, owner, size, device) An object providing information about a model variable stored in an array (for example, all state variables).
AuxiliaryVariable(name, unit[, dtype, scalar]) Variable description for an auxiliary variable (most likely one that is added automatically to abstract code, e.g.
Constant(name, unit, value[, owner]) A scalar constant (e.g.
DynamicArrayVariable(name, unit, owner, ...) An object providing information about a model variable stored in a dynamic array (used in Synapses).
LinkedVariable(group, name, variable[, index]) A simple helper class to make linking variables explicit.
Subexpression(name, unit, owner, expr, device) An object providing information about a named subexpression in a model.
Variable(name, unit[, owner, dtype, scalar, ...]) An object providing information about model variables (including implicit variables such as t or xi).
VariableView(name, variable, group[, unit]) A view on a variable that allows to treat it as an numpy array while allowing special indexing (e.g.
Variables(owner[, default_index]) A container class for storing Variable objects.


get_dtype(obj) Helper function to return the numpy.dtype of an arbitrary object.
get_dtype_str(val) Returns canonical string representation of the dtype of a value or dtype
linked_var(group_or_variable[, name, index]) Represents a link target for setting a linked variable.
variables_by_owner(variables, owner)