Brian to pakiet Python o otwartym kodzie źródłowym służący do tworzenia symulacji impulsowych sieci neuronowych.
Szczegóły projektu Brian skierowany jest do badaczy opracowujących modele oparte na impulsowych sieciach neuronowych. Projekt ma na celu maksymalizację elastyczności, prostoty i szybkości tworzenia sieci przez użytkownika. Użytkownicy określają modele neuronów, podając swoje równania różniczkowe w standardowej formie matematycznej jako ciągi znaków, tworzą grupy neuronów i łączą je za pomocą synaps. Jest to przeciwieństwo podejścia stosowanego w wielu symulatorach neuronowych, w których użytkownicy wybierają z uprzednio zdefiniowanego zestawu modeli neuronów.
Brian jest napisany w języku Python. Pod względem obliczeniowym opiera się na koncepcji generowania kodu: użytkownicy określają model w Pythonie, ale w tle Brian generuje, kompiluje i uruchamia kod w jednym z kilku języków (w tym Python, Cython i C++). Dodatkowo istnieje tryb „standalone”, w którym Brian generuje całe drzewo kodu źródłowego C++ bez zależności, co pozwala na uruchamianie modeli na platformach, na których Python nie jest dostępny.