NEST 3.1
NEST 3.1 is the result of 460 commits by 17 developers since NEST 3.0 which was released on 2021-06-10.
This release contains many bug fixes and improvements, especially in the Python setup where support for Python environments was improved.
The PyNEST API was extended to support a more intuitive way of setting and retrieving kernel parameters. Where you previously had nest.SetKernelStatus({"resolution": 0.2})
in your simulation script, you can now just write nest.resolution = 0.2
. Kernel attributes now come with their own docstrings and even tab-completion works for them! Additionally, PyNEST functions are now directly linked to the API reference throughout the documentation.
The testsuite now handles MPI tests more consistently and uses pytest for all Python tests.
Enhancements
Normal
- Add support for different virtual environment types for Python
- Link PyNEST functions in documentaton
- Automatic conversion of integers to doubles when setting parameters
- Add Arbor backend to GitHub Actions testing matrix
- Modify and improve colors in style sheet for user documentation
- Add intersphinx to NEST documentation with links to related projects
- Check validity of parameters given to SetKernelStatus
- Implement time limit for duration of update cycles
- Add kernel attributes and get/set functions to PyNEST module
- Automatically flag issues and pull-requests as stale
- Link to Zenodo citation page in docs
Bug fixes
Critical
High
- Set
have_connections_changed
correctly when we have fewer connections than MPI ranks - Correct documentation of
local_spike_counter
- Fix setting of
PYEXECDIR
- Fix use of thread-specific distributions in random parameters
- Restrict calls to
set_connections_have_changed()
to thread 0 - Fix examples to make them run
- Undo link to PyNEST API in SLI documentation
- Detect pytest executable more robustly
- Fix import nest in NEST Server
- Check that timeout package is installed before running pytests
- Fix out of bound access on
pp_pop_psc_delta
andpulsepacket_generator
- Fix access of first element of an empty vector in pynestkernel
Normal
- Support apt-installed uwsgi in nest-server
- Fix build log parser failed test list
- Align
pkg_resources
query withsetup.py
name - Fix mismatched parenthesis in setup.py.in
Maintenance
Critical
High
- Replace PEP8 by pycodestyle
- Clean up NEST Server and fix deadlock
- Remove Arbor recording backend
- Add
pp_pop_psc_delta
to deprecation list
Normal
- Add functions to access information about simulation time
- Refactor the
Parameter
classes - Add user-level documentation for built-in timers
- Remove outdated CMake options
- Remove 'nest-' from setup.py version
- Update citation information
- Remove machine-specifc code for K computer
- Warn users they are using latest on ReadtheDocs
- Minor improvement to microcircuit example
- Remove undocumented
weighted_spikes_{ex,in}
fromiaf_psc_{alpha,exp}
recordables - Add license to jupyter notebooks
- Fix figure in spatially structured networks tutorial
- Replace pass-by-value with pass-by-const-reference in
Vose
constructor - Turn docstring with math into raw string
- Add default values to
SetKernelStatus
parameters - Update security support for new release
- Relocate and refactor PyNEST testsuite
- Undo Markdown-to-reStructuredText conversion in doxygen comment
- Pave the way for per-version transition guides
- Remove outdated comment on Python dynamic library flags
- Update Python version check in
__init__.py
- Add warning about synaptic plasticity mechanisms and precise spike timing
- Replace the
Vose
class withstd::discrete_distribution
- Copy
syn_spec
to prevent it being modified - Update Random123 library to v1.14.0
- Warn about the removal of
nest.hl_api
- Update security support for 3.1 release