Python

bsb

Latest version: v3.10.5

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

Scan your dependencies

40.0.0a32

Breaking changes

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

40.0.0a30

* BSB now requires bsb-hdf5 v 0.2.5

4.0.0

4.0.0a19

* 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`

4.0.0a18

Breaking changes

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

Features

* Added layouts (492).

4.0.0a9

* 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.

4.0.0a8

* 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).

4.0.0a7

Breaking changes

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

3.10

* Added a very basic Arbor adapter

3.9

3.9.0

* 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).

3.8

3.8.0

* 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 `__main__.py` 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.

3.7.7

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

3.7.6

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

3.7.5

* Cell IDs persistently increment across Python sessions.
* Added CONTRIBUTING & CODE_OF_CONDUCT
* 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`

3.7.4

* Added raw config string to result files for reference.

3.7.3

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

3.7.2

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

3.7.1

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

3.7

3.7.0

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

3.6.7

* Altered NMDA channels.

3.6.6

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

3.6.5

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

3.6.4

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

3.6.3

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

3.6.2

* New ionic recorder device for NEURON adapter.

3.6

3.6.0b1

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

3.6.0b0

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

3.5.0

* Blender support

3.3.0

* FiberIntersection added.

3.2.13

* First version with a functional multicompartmental network.

3.2.1

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

3.2

3.2.0

* Added parallel neuron simulations

3.0.4

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

3.0.3

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

3.0.2

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

3.0.1

* 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.

3.0

3.0.0

* 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
dbbs-scaffold[with-plotting]`
* NEST modules to load can be specified in the configuration.
* scipy.stats.distributions classes can be configured using
`DistributionConfiguration`s.
* 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
sublayer.
* Renamed `addCellType` to `add_cell_type` in `configuration.py`.
* Added a `report` function to `scaffold.py` for verbosity compliant prints.
* IllegalConnection errors by NEST are now caught to display the device that
causes them.

Tests

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

2.3

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
`devices`.
* Implemented a NestAdapter with NestCells, NestConnections and NestDevices.

2.2.2

* Changed dependency list for installs outside of Anaconda.

2.2.1

* Removed obsolete files transferred by bad merge.

2.2

2.2.0

2.1.3

* Removed dependency on pandas
* Added a list of dependencies to setup.py

2.1.2

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

2.1.1

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

2.1

2.1.0

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

2.0.1

* README updated.

2.0

2.0.0

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