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

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()


BrianObject(*args, **kwds) All Brian objects derive from this class, defines magic tracking and update.


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.


defaultclock An object that holds the simulation time and the time step.

core_preferences module

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



functions module

Exported members: DEFAULT_FUNCTIONS, Function, implementation()


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.


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(), reinit(), 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.
reinit() Reinitialises all Brian objects.
restore([name]) 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]) Store the state of the network and all included objects.


magic_network Network that automatically adds 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

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, AttributeVariable, 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).
AttributeVariable(name, unit, obj, attribute) An object providing information about a value saved as an attribute of an object.
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)