News

Recommendations for GSoC 2022 applications

The application period for the Google Summer of Code 2022 starts on April 4th (full timeline for GSoC 2022). With this post we give some general information about the ideal contributor application from our point of view. The recommendations we give here hold for all of the proposed projects, but we will also try to give information specific to the respective projects in the corresponding neurostars threads. For a full list of Brian-related projects, see the end of this post.

Before you consider submitting an application, make sure you fit the general eligibility criteria. Note that several online sources, including the GSoC FAQ, still sometimes refer to Google Summer of Code students instead of contributors. This is now a misnomer, though, since the program is open to all “open source beginners” (at least 18 years of age), regardless of whether they are enrolled as students or not. That said, you need to be available to invest around 175h to 350h (depending on the project) over the summer, so this program is hardly compatible with a full-time employment.

Please contact us in the respective neurostars discussion, to make us aware that you are interested in the project. This is also the best place to ask about anything that is unclear in the project description, or about any questions or doubts you have.

Your application should convince us that:

  1. You understand what the project is about: what is the problem or missing feature in Brian (or related project) that the project is trying to address? How does the proposed project solve the problem or adds the feature?
  2. You understand what steps are necessary to implement the proposed solution, and can give rough estimates of how long these steps will take.
  3. You have most or all of the necessary skills to implement the proposed solution and can acquire the missing skills during the project.
  4. You can commit the required time over the summer. Note that the program has some flexibility in the schedule. Importantly, please be realistic and honest – do not try to make the schedule work by planning with, say, 70h of work in a single week.

For all of the above points, please fill it out with concrete details and link to other sources where helpful. For example, you might want to link to specific bits of the documentation that you deem relevant to the project and discuss them. Regarding your skills, they are ideally illustrated by concrete evidence as well, e.g. a link to a student project you wrote in Python, or a link to a website you set up.

While it is not a strict requirement, we highly recommend to base your application on the INCF GSoC Application template. As soon as you have a draft that you’d like to have feedback on, please contact us directly (e.g. over a direct message on neurostars) with a link to the draft – a Google Docs document is probably the easiest solution.

As a final note: we cannot promise how many students we can accept to work on Brian with GSoC this year – it is even possible that we cannot accept anyone! To give you a rough idea of how the process works: after reviewing the received applications, all the projects participating under the umbrella of the INCF will come up with a list of students they’d like to accept. The INCF will then transmit the number of requested “slots” to Google, which will finally decide the number of slots that it assigns to each organisation. This number of assigned slots is typically lower than the requested number, therefore not all students that were reviewed positively can be accepted. For a project like Brian, realistically we can only expect to receive a single slot and therefore only accept a single student for one of our proposed projects…

We hope that this makes the application process a bit clearer, looking forward to discussing your applications, and hopefully to work with one of you over this summer!

Neurostars discussions for Brian-related projects

New release: Brian 2.5

It took us a while, but we are very happy to finally announce a new release, Brian 2.5 🎉. This release comes with a large number of bug fixes, various small improvements to the C++ code generation process, new examples and improved documentation, as well as a more powerful “generator syntax” for synapse generation. In particular, it is now possible to generate a fixed number of synapses randomly – either for each pre-synaptic or for each post-synaptic cell. We have also updated our build and testing infrastructure, and now provide binary pip-installable packages for all platforms, including the fancy new Apple hardware. Please let us know if you run into any issues!

As always, Brian 2 can be installed with Anaconda from the conda-forge channel (packages are provided for Python 3.7–3.10), or with pip from the pypi repository. See the installation instructions for more details.

Thanks to everyone who contributed 🤝!

For all the details about this new release, please have a look at the release notes.

New release: Brian 2.4

In these very particular times, we are nevertheless happy to announce a new release, Brian 2.4. This release fixes a large number of bugs and includes a number of small improvements. As announced with the previous release, Brian 2.4 is the first release that no longer supports Python 2. For a full list of changes, see the release notes. We recommend all users of Brian 2 to update.

As always, Brian 2 can be installed with Anaconda from the conda-forge channel (packages are provided for Python 3.6, 3.7, 3.8), or with pip from the pypi repository. See the installation instructions for more details.

In case of questions or issues, please join us in the Brian support forum at brian.discourse.group.

New Brian community forum

Ask questions, chat and learn with other Brian users, show off what you’ve done, suggest new features, … We will try out a brand new forum for support questions and general discussion, replacing our previous forums on Google Groups. The new forum builds on the Discourse platform which gives us exciting new features such as giving credit to users for answering questions.

Please join here 👉 brian.discourse.group.

Forum screenshot

Brian online tutorial

We will experiment with running a Brian tutorial online. The first tutorial of this kind will take place on Friday, August 7th 2020 from 2pm-6pm BST (UTC+1, see here for other timezones). Free (but mandatory) registration here. We will run the tutorial as a Zoom meeting – registering with the link will give you the URL (please don’t share so we can avoid zoombombing). We will record the meeting and if everything goes reasonably well, we will upload the videos later.

Update: The recorded video is now on Youtube:

If you participate, it would be really helpful if you could download and install Brian before the tutorial so that you can work along with it as we go. Instructions are:

  1. Download and install the Anaconda Python 3 distribution
  2. Open a command prompt and run the following lines:
  3. You can now verify this is working by starting a Jupyter notebook server with:
  4. Your browser should open with the Jupyter notebooks interface. Now create a new notebook and put the following code in an empty cell:
    from brian2 import *
  5. Run that cell by pressing Ctrl+Enter. If that works without any errors (you might see a warning) then you’re good to go.
  6. If that doesn’t work or you want to use a different system than Anaconda, take a look at our detailed installation instructions.

If you have trouble installing, don’t worry. You can use the Brian installation on Binder or Google Colab instead.

For Colab, just make the first cell as follows:

!pip install brian2
!pip install brian2tools

Looking forward to seeing you all on Friday!

GSoC 2020: work on Brian during the summer

The INCF is again applying to be a mentor organization in Google’s Summer of Code program, a “a global program focused on bringing more student developers into open source software development”. Changes are quite high that it will be selected, since its participation in the last years was very successful. If this is the case, there will be an opportunity to work on the Brian simulator, please see the list of proposed projects (Brian projects are number 8 and 9). Feel free to ask questions or discuss the project on the Neurostars forum (find all projects in the GSoC category). It is not mandatory to work on one of the proposed projects, though, please contact marcel.stimberg@inserm.fr if you have an idea of your own.

Brian2GeNN paper published: accelerate Brian simulations with GPUs

Our paper on brian2genn was published today. It automatically translates Brian models into a format that can be read by the GPU-enhanced neural network simulator (GeNN) to allow it to run on GPU. Some simulations were 400x faster on GPU compared to a single CPU.

Stimberg M, Goodman DFM, Nowotny T (2020)
Brian2GeNN: a system for accelerating a large variety of spiking neural networks with graphics hardware
Scientific Reports 10, 410. doi: 10.1038/s41598-019-54957-7

New release: Brian 2.3

Happy New Year to all Brian users 🎉! We are happy to announce a new release, Brian 2.3. This release fixes a number of bugs and introduces some new features. It also paves the way for the transition from Python 2 to Python 3 – given that Python 2 is now no longer officially supported, Brian 2.3 will be the last release to support Python 2. For a full list of changes, see the release notes. We recommend all users of Brian 2 to update.

Brian 2 can be installed with Anaconda from the conda-forge channel (packages are provided for Python 2.7, 3.6, 3.7, 3.8), or with pip from the pypi repository.

As always, please report bugs or suggestions to the github bug tracker or to the brian-development mailing list (brian-development@googlegroups.com).

Paper on Brian 2 published in eLife

We are happy to report that our paper “Brian 2, an intuitive and efficient neural simulator” has been accepted for publication in eLife: https://elifesciences.org/articles/47314

In this paper, we describe a number of examples that showcase various features of Brian 2, ranging from non-standard neuronal/synaptic models to interacting with hardware in real time via C++ code. All the code to run these examples is openly available in a github repository.
The examples are provided as interactive jupyter notebooks, and can be tried out without a local installation of Brian by running them on the binder infrastructure.