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, BrianObjectException


BrianObject(**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


check_dt(new_dt, old_dt, target_t) Check that the target time can be represented equally well with the new dt.


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.
exprel Represents (exp(x) - 1)/x.


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.
timestep(t, dt) Converts a given time to an integer time step.

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_random_state]) 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


find_name(name[, names]) Determine a unique name.

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


Network(*objs[, name]) The main simulation controller in Brian
ProfilingSummary(net[, show]) Class to nicely display the results of profiling.
SchedulingSummary(objects) Object representing the schedule that is used to simulate the objects in a network.
TextReport(stream) Helper object to report simulation progress in


profiling_summary([net, show]) Returns a ProfilingSummary of the profiling info for a run.
schedule_propagation_offset([net]) Returns the minimal time difference for a post-synaptic effect after a spike.
scheduling_summary([net]) Returns a SchedulingSummary object, representing the scheduling information for all objects included in the given Network (or the “magic” network, if none is specified).

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, owner, size, device[, …]) An object providing information about a model variable stored in an array (for example, all state variables).
AuxiliaryVariable(name[, dimensions, dtype, …]) Variable description for an auxiliary variable (most likely one that is added automatically to abstract code, e.g.
Constant(name, value[, dimensions, owner]) A scalar constant (e.g.
DynamicArrayVariable(name, owner, size, device) 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, owner, expr, device[, …]) An object providing information about a named subexpression in a model.
Variable(name[, dimensions, owner, dtype, …]) An object providing information about model variables (including implicit variables such as t or xi).
VariableView(name, variable, group[, dimensions]) 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)