Latest version: v3.10.5

PyUp actively tracks 471,271 Python packages for vulnerabilities to keep your Python environments secure.

Scan your dependencies


Breaking changes

* Bumped to `bsb-hdf5~=0.3.1`, to fix 579.
* Renamed `MPI.*` functions to lowercase.


* BSB now requires bsb-hdf5 v 0.2.5



* Removed the `voxels` property of the `Voxels` partition, instead the children ``nrrd``
and ``allen`` are now available directly as partitions.
* Renamed the `AllenStructureLoader` to `AllenStructure`


Breaking changes

* Renamed `cls` of placement and connectivity strategies to `strategy`.
* Renamed `cls` of region to `type`.


* Added layouts (492).


* Added `RandomPlacement` strategy.
* Added autolink for config, use it by default.
* Fixed BSB under Jupyter notebook conditions.
* `AllenStructureLoader` has a defined public API now, of classmethods, to lookup structs.


* Improved storage interface documentation.
* Fixed local modules not being found by config (386).
* Fixed inheritance and signatures of `TouchDetector`.
* Documented cell types (424).
* Fixed dynamic node initialization (425).
* Fixed config dictionary copying (432).
* Added `MorphologySet.empty` (426).
* Fixed morphology property loading from MR (434).
* Fixed dissapearance of warnings when config loading errors out (440).
* Allow wildcards in `by_name` morphology selector.
* Added copy button to documentation code blocks (446).
* Warn and skip connections when no cells are placed (442).
* Fixed 2d indexing of VoxelData class (437).
* Load meta dictionary of morphologies (435).
* Fixed error with queued jobs when dependency isn't queued (445).


Breaking changes

* `morphological` changed to `morphologies`.
* `geometrical` changed to `geometry`.


* Added a very basic Arbor adapter



* WARNING: Removed the cell cache API, the cell cache is still there internally but
spoofed and not to be used relied on in any user code anymore!
* Running repeated NEST simulations no longer causes strange IO issues, growing
device labels, or module loading warnings and has an example (280, 292, 295).
* Added support for partial (re)connection of networks (303).
* The PlacementSet API can now be used during labelled connectivity by passing the
`labels` kwarg. The labels of the current connection can be accessed inside the
`connect` function as `self.label_pre` and `self.label_post` (310).
* Added `network.merge` function (278).
* Added `get_rank` and `broadcast` to adapter interface so that `mpi4py` can
remain an optional dependency (283).
* More progress reporting during reconstruction (305).
* Fixed NEST spike recorders (284).
* Added NEST fork installation instructions.
* Added support for external sources of placement and connectivity (273).



* BREAKING: NEURON devices will by default target all sections instead of 1
soma section.
* BREAKING: `section_type` changed to `section_types` list for devices.
* BREAKING: All `NeuronDevice` child implementations need to override
`validate_specifics` where each can validate their config.
* BREAKING: Fixed the long standing bug that spikes in NEURON where recorded
as (2xN) instead of (Nx2) datasets.
* BREAKING: `adapter.collect_output` must be passed the `simulation` object.
* Fixed a bug where `spike_devices` with fixed spike times didn't record data.
* NEURON adapter now uses `nrn-patch` v3.0.0
* Added a `voltage_clamp` NEURON device.
* Added support for weight recorders in the NEST adapter (248).
* NEST adapter's `spike_recorder` stores all cell types that occur in a dataset,
is used later on to infer display information when plotting.
* NEURON adapter's `LocationRecorder` now stores section id.
* Network-cache phased out of targetting mechanisms.
* Added `` for situations where shell command is unavailable.
* Added `network.get_gid_types` to retrieve the cell types of a vector of GIDs.
* Added `network.assert_continuity` to check all `PlacementSet`s form a single
continuous chain of GIDs starting from 0.
* Fixed a bug where relays without targets would cause errors.
* Fixed NEURON adapter's `time` vector in result files.
* Fixed NEURON adapter's `index_relays` for targetless relays.
* Added stricter validation of config for the `SpikeGenerator` device.
* [cerebellum] Optimized Golgi to granule cell connectivity algorithm.
* [cerebellum] Optimized mossy to glomerulus connectivity algorithm.
* Added `branch.children`.
* Added `cell_type.get_placement_set`.
* Added `get_result_config`.
* Added a `--version` command to the CLI.
* The `time` recorder for NEURON simulations is fixed.
* `*.h5` files and the `build` directory are gitignored.
* Added `range` kwarg to `plot_traces`.
* `plot_traces` will pass all extra kwargs to the `make_subplots` call.
* Added `gaps` kwarg to `hdf5_plot_psth` to control gaps in Bar graph.
* Plot axis labels now display units in square brackets.
* Added an example that shows how to color the branches of a morphology by type.


* Fixed broken on release `by_label` targetting
* `mouse_cerebellum_cortex.json` is now scalable and ID-free.


* Added `by_label` targetting mechanism
* Changed `mouse_cerebellum_cortex.json` to avoid the use of concrete IDs


* Cell IDs persistently increment across Python sessions.
* NEST devices can be configured without targets, for manual targetting.
* NEST master seed is determined by clocktime but can be fixed.
* Added `bsb.core.Scaffold.get_connectivity_sets`


* Added raw config string to result files for reference.


* Bumped minimum nrn-patch to 3.0.0b3 to fix transfer variable stalling.


* Advertise compatible Python versions in ``
* Bumped minimum numpy to 1.19.0
* Bumped minimum nrn-patch to 3.0.0b1


* Fixed a bug with nest and MPI. (see 230)



* The NEURON adapter now supports source variables.
* Gap junctions were added to the model of the cerebellum.


* Altered NMDA channels.


* The return values of simulations are now the path to their result file.


* Fixed a bug with the NEURON adapter transmitter map causing loss of spike transmission.


* Slightly changed the `neuron` install workflow. NEURON is now pip installed


* Updated "Getting Started" guide.
* Changed default config to `network_configuration.json`


* New ionic recorder device for NEURON adapter.



* Added GC-GC, SC-SC & BC-BC GABA connections


* Morphology rework: they are now branch centric structures of arrays.
* Backward compatible `compartments` system still available.


* Blender support


* FiberIntersection added.


* First version with a functional multicompartmental network.


* PlacementSets have been introduced (303)
* Obfuscated setup uses scaffold version plus "rc0". (301, 308)
* `` is now its own module. (302)
* ConfigurableClasses can specify classes in the global namespace instead of only inside
of modules. (299)



* Added parallel neuron simulations


* Cilindrical targetting mechanism for devices.
* Fixed `scaffold simulate`


* Added changes for the hackathon.
* Fixed bugs that would have been encountered during the workshop.


* Added obfuscation scripts to create distributions that are obfuscated and
expire after a certain date.


* Fixed particle placement for layers that don't originate in the coordinate
system origin. (PR 150)
* Better NEST warnings/errors for module errors.
* CLI commands `compile` and `run` can resize the configuration with -x and -z.
* Switched to Travis CI
* Optimized AllToAll connectivity strategy.
* Sattelite placement strategy now respects simulation volume bounds.
* Addition of mossy fiber to glomerulus connectivity. (PR 167)
* Fixed some of the issues with ParticlePlacement.



* Multi-instancing

Alpha version 6
* Particle placement for IO
* EvalConfigurations

Alpha version 5
* Merged in the plasticity branch
* IO placement & connectivity
* DCN interneurons

Alpha version 4

Minor changes

* Fixed to a runnable state.

Alpha version 3

Major changes
* Merged touch detection branch
* 3D touch detection, can be reduced to 2 or 1 dimension cell intersection.
* Select from & to cell type & compartment type.
* Ability to auto-discover cell search radius or to specify it yourself.
Compartment needs to be specified (default 5µm)
* Configure amount of synapses with a constant or distribution

Alpha version 2

Major changes

* Cross-platform pip entry-points (console scripts such as `scaffold compile`)
* Merged in the plasticity branch
* Setting `"plastic": true` in a NestConnection configuration will set it up
as a plastic connection with volume transmitters attached
* Specifying to which receptor type a plastic connection is connected can be
done by providing a dictionary mapping the partner cell type to a receptor
type id in the configuration of cell types under `receptors`
* Removed dependency on archaic `matplotlib` and added `plotly`. Plotting
dependencies are optionally installed using `pip install
* NEST modules to load can be specified in the configuration.
* scipy.stats.distributions classes can be configured using
* Datasets in the `/cells/connections` group of an output HDF5 file can store
metadata on them
* The metadata keys `from_cell_types` and `to_cell_types` can help clarify
which cell_types are actually contained within the dataset when the
ConnectionStrategy has multiple types.
* Added a overloadable `boot` method to ConfigurableClass that is executed after
`__init__` and before `validate`

Minor changes

* NEST simulator resolution can be set
* Cells can be placed by an absolute amount instead of just densities.
* For very low amounts of cells to be placed there is a minimum of 1 per
* Renamed `addCellType` to `add_cell_type` in ``.
* Added a `report` function to `` for verbosity compliant prints.
* IllegalConnection errors by NEST are now caught to display the device that
causes them.


* Added single and double cell type creation tests for NEST adapter.


This release is a prerelease of version 3.0 with finished simulator handling for
the NEST simulator and preliminary support for TreeCollections, tree pickling,
MorphologyRepositories, morphologies, voxelization and touch detection.

* Added MorphologyRepositories to preprocess and store morphologies before they
are used in the placement/connectivity.
* Added TreeCollections to load, cache and store trees. OutputFormatters should
know how to handle trees.
* HDF5Formatter can pickle trees.
* Simulations can be configured through SimulatorAdapters, should provide
ConfigurableClasses to configure `cell_models`, `connection_models` and
* Implemented a NestAdapter with NestCells, NestConnections and NestDevices.


* Changed dependency list for installs outside of Anaconda.


* Removed obsolete files transferred by bad merge.




* Removed dependency on pandas
* Added a list of dependencies to


* Reworked/fixed connectivity algorithm between Golgi and granule cells.


* CHANGELOG restructured to show newest first.
* Removed dependency on pint and quantulum3.



* README updated.
* Verbosity added.
* Command line interface added. (Linux version not tested)


* README updated.



* Complete rework of the codebase to ensure flexibility, scalability and
adoption by the community.
* First steps of distribution as a Python package.