Arbor

Latest version: v0.9.0

Safety actively analyzes 619599 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.9.0

** 2023 08 09 **

After much more delay than anticipated, we are very happy to present a new Arbor release. Nearly 8 months of work is in it, much of which focussed on speed, optimisation, fixes and build system changes. This release includes Python 3.12 wheels as probably one of the first packages on PyPI 😄.

Major new features

* External Connectivity: Arbor can now interface with other simulators or processes through MPI. Contexts now accept a second MPI communicator and Recipes can implement a ``external_connections_on`` method to specify how simulations might be interacting. [See documentation for more.](https://docs.arbor-sim.org/en/latest/concepts/interconnectivity.html#cross-simulator-interaction)
* Arbor now supports checkpointing and resume from a previously stored checkpoint. Useful when a certain point in time needs to be explored in multiple directions, when you want to rewind to a previous state, etc. [See documentation for more.](https://docs.arbor-sim.org/en/latest/fileformat/serdes.html)
* More painted parameters are now scalable through `iexpr`: temperature, capacitance, resistivity, membrane potential and the following ionic parameters: internal and external concentration, diffusivity, and reversal potential. [See documentation.](https://docs.arbor-sim.org/en/latest/concepts/decor.html#scaling-mechanism-and-membrane-parameters)
* A set of ANN activation functions for NMODL have been added: `sigmoid(x)`, `relu(x)` and `tanh(x)`. Control volume `area` is exposed through NMODL.
* A revamped backend for ARM CPU's that support Scalable Vector Extension (SVE). Arbor and modcc are now fully compatible, so users who have access to A64FX-based HPC can take full advantage of that hardware.

0.8.1

** 2022 12 22 **

A 🎄 holiday release! Not much has changed in a month, but we'd like to share it all the same. Notably, the [Arbor GUI](https://github.com/arbor-sim/gui/) [is co-released](https://github.com/arbor-sim/gui/releases/tag/v0.8) as of Arbor v0.8, and v0.8.1 will be no different.

Major new features

- Voltage Processes: add the VOLTAGE_PROCESS mechanism kind to modcc, allowing for direct writing to the membrane voltage (2033)
- Spack gpu option: added conditional variant for cuda builds to enable GPU-based random number generation (2043)
- SDE Tutorial (2044)

0.8

** 2022 11 15 **

Welcome to another installment of the Arbor simulator!

In this release we add a CHANGELOG, where major new features and breaking changes will be mentioned specifically.

Major new features

- Stochastic Differential Equations. Introduces sources of white noise to arbor (and nmodl). Both point and density mechanisms may now use white noise as part of the state updates, turning the ODEs effectively into SDEs. The noise sources are provided per connection end point (point mech.) or control volume (density mech.) and are uncorrelated (spatially, temporally and across different mechanism instantiations). https://github.com/arbor-sim/arbor/pull/1884
- Mutable connection table. Add functionality, docs, and examples on editing the connection table. This is a first, small PR
on the topic, further functionality will come as requested. https://github.com/arbor-sim/arbor/pull/1919
- Allow editing morphologies. Supported operations: join_at, split_at, equivalence, equality, apply isometry. https://github.com/arbor-sim/arbor/pull/1957
- Arbor cable cell exporter and backend support in BluePyOpt. https://github.com/arbor-sim/arbor/pull/1959
- Make LIF cells probeable. https://github.com/arbor-sim/arbor/pull/2021

0.7

** 2022 07 20 **

What's Changed

Neuroscience/documentation
* prep extracellular potentials tutorial. Updated corresponding example by espenhgn in https://github.com/arbor-sim/arbor/pull/1825
* Add documentation on faster NMODL. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1840
* Add tstop doc in recipe API doc by schmitts in https://github.com/arbor-sim/arbor/pull/1852
* Use list comprehension to speed up creation of connections by schmitts in https://github.com/arbor-sim/arbor/pull/1864
* Support markers in neurolucida ascii files by bcumming in https://github.com/arbor-sim/arbor/pull/1867
* simplified `create_polygon` function in lfpykit example by espenhgn in https://github.com/arbor-sim/arbor/pull/1881
* Better key for the `lfpykit` intersphinx mapping by Helveg in https://github.com/arbor-sim/arbor/pull/1878
* Sort (in python) the mechanism names (for convenience). by thorstenhater in https://github.com/arbor-sim/arbor/pull/1882
* Always emit weight expression. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1875
* Add support for epoch callbacks by bcumming in https://github.com/arbor-sim/arbor/pull/1873
* Add introspection for global properties. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1890
* Add point probes to demo by schmitts in https://github.com/arbor-sim/arbor/pull/1891
* Tut/use avail threads by brenthuisman in https://github.com/arbor-sim/arbor/pull/1900
* Allen tutorial by brenthuisman in https://github.com/arbor-sim/arbor/pull/1781
* New policy 'round_robin_halt' by jlubo in https://github.com/arbor-sim/arbor/pull/1868
* Axial Diffusion by thorstenhater in https://github.com/arbor-sim/arbor/pull/1729
* Add some convenience to simulation creation. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1904
* Predefine SWC Regions. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1911
* Diffusion Example Improvements (and a bit of clean-up) by thorstenhater in https://github.com/arbor-sim/arbor/pull/1914
* Inhomogeneous parameters by AdhocMan in https://github.com/arbor-sim/arbor/pull/1887
* Fix line numbers in tutorials and assorted doc corrections by brenthuisman in https://github.com/arbor-sim/arbor/pull/1917

Core
* 🐍 Be more lenient when accepting args to file I/O by thorstenhater in https://github.com/arbor-sim/arbor/pull/1819
* modcc: generate missing `node_index` read needed for reading time `t` in the mechanisms by noraabiakar in https://github.com/arbor-sim/arbor/pull/1866
* Add Developer Documentation by thorstenhater in https://github.com/arbor-sim/arbor/pull/1639
* Isolate external catalogues from libarbor.a. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1837

Build, testing, CI
* Build Python 3.10 binary wheels. Add v0.6 to spackfile. by brenthuisman in https://github.com/arbor-sim/arbor/pull/1817
* export API by boeschf in https://github.com/arbor-sim/arbor/pull/1824
* export doc by boeschf in https://github.com/arbor-sim/arbor/pull/1849
* Include CMAKE+CUDA iff NVCC is needed. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1855
* Bit more on Spack, fix in tutorial by brenthuisman in https://github.com/arbor-sim/arbor/pull/1838
* json submodule added by brenthuisman in https://github.com/arbor-sim/arbor/pull/1871
* Fix a bug where Debian/Ubuntu's Python malfunctions by brenthuisman in https://github.com/arbor-sim/arbor/pull/1894
* Have dependency version policy by brenthuisman in https://github.com/arbor-sim/arbor/pull/1865
* random123 submodule added by brenthuisman in https://github.com/arbor-sim/arbor/pull/1872
* Fix tool installation paths. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1905
* Adopt Black for Python. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1906
* add cmake checks for non-bundled random123 by bcumming in https://github.com/arbor-sim/arbor/pull/1907
* Temporarily disable A64FX CI by bcumming in https://github.com/arbor-sim/arbor/pull/1910
* Adopt flake8 by thorstenhater in https://github.com/arbor-sim/arbor/pull/1908
* Move Python build to `pyproject.toml`, bump Python minver to 3.7, fix macos wheel generation by brenthuisman in https://github.com/arbor-sim/arbor/pull/1916
* Weekly CI Python wheel build pushes to Test.PyPI.org by brenthuisman in https://github.com/arbor-sim/arbor/pull/1921

Fixes, optimization
* Users may not give dt < 0. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1821
* Fix `ubenches` compilation errors by noraabiakar in https://github.com/arbor-sim/arbor/pull/1828
* death test: wrong signal by boeschf in https://github.com/arbor-sim/arbor/pull/1858
* Make brunel.py setup faster. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1854
* add a better error. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1846
* Fix load_component for label-dict by noraabiakar in https://github.com/arbor-sim/arbor/pull/1859
* Found out the hard way that this is still needed :/ by thorstenhater in https://github.com/arbor-sim/arbor/pull/1860
* Elide memcpy where not needed by thorstenhater in https://github.com/arbor-sim/arbor/pull/1863
* Bug fix: Fix voltage vector size in threshold_watcher contstructor by noraabiakar in https://github.com/arbor-sim/arbor/pull/1820
* remove test statements for move ctor by boeschf in https://github.com/arbor-sim/arbor/pull/1899
* Code Quality: PVS Studio Finds by thorstenhater in https://github.com/arbor-sim/arbor/pull/1901
* Two context decomp swaps were forgotten by brenthuisman in https://github.com/arbor-sim/arbor/pull/1912

New Contributors
* jlubo made their first contribution in https://github.com/arbor-sim/arbor/pull/1868
* AdhocMan made their first contribution in https://github.com/arbor-sim/arbor/pull/1887

**Full Changelog**: https://github.com/arbor-sim/arbor/compare/v0.6...v0.7

0.6

** 2022 01 26 **

What's Changed

Core API:

* Add S-Exp for CV Policies by thorstenhater in https://github.com/arbor-sim/arbor/pull/1511
* Clean-up and extend mech cat iterator interface. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1564
* Mech ABI: The final step. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1452
* Add `dim3` to gridDim constructor in generated mechanism code by noraabiakar in https://github.com/arbor-sim/arbor/pull/1630
* Added an empty catalogue by Helveg in https://github.com/arbor-sim/arbor/pull/1677
* Allow to limit Poisson schedule with a stop time (closes 1617) by schmitts in https://github.com/arbor-sim/arbor/pull/1684
* Expose profiler to Python by Helveg in https://github.com/arbor-sim/arbor/pull/1688
* Added a debug mode to `build-catalogue` by Helveg in https://github.com/arbor-sim/arbor/pull/1686
* Write build-catalogue (c)make errors to `stdout` and `stderr` by Helveg in https://github.com/arbor-sim/arbor/pull/1679
* Makejobs arg by Helveg in https://github.com/arbor-sim/arbor/pull/1673
* Feature/python clean memory by max9901 in https://github.com/arbor-sim/arbor/pull/1670
* Feature/label dict by apeyser in https://github.com/arbor-sim/arbor/pull/1711
* Add locset expressions for proximal and distal translation of locations by bcumming in https://github.com/arbor-sim/arbor/pull/1671
* Gap Junction mechanisms by noraabiakar in https://github.com/arbor-sim/arbor/pull/1682
* Solve non-linear systems that are not kinetic schemes. by noraabiakar in https://github.com/arbor-sim/arbor/pull/1724
* Add cos and sin SVE implementations by noraabiakar in https://github.com/arbor-sim/arbor/pull/1744
* Deal with zero radius points in a morphology by halfflat in https://github.com/arbor-sim/arbor/pull/1719
* Simplify default proc_allocation generation. by halfflat in https://github.com/arbor-sim/arbor/pull/1725
* Find morphology location from a coordinate by bcumming in https://github.com/arbor-sim/arbor/pull/1751
* resurrect lmorpho by schmitts in https://github.com/arbor-sim/arbor/pull/1746
* Expose information about the CV discretization to the public inteface by noraabiakar in https://github.com/arbor-sim/arbor/pull/1758
* Allow the use of string s-expression CV-policies in pyarb by noraabiakar in https://github.com/arbor-sim/arbor/pull/1799
* Construct `domain_decomposition` given a list of `group_descriptions`. by noraabiakar in https://github.com/arbor-sim/arbor/pull/1788
* Profile externally loaded mechanisms by noraabiakar in https://github.com/arbor-sim/arbor/pull/1691
* Have option to set thread count to local maximum by brenthuisman in https://github.com/arbor-sim/arbor/pull/1716

CI/build/testing:

* Python unit test clean-up by noraabiakar in https://github.com/arbor-sim/arbor/pull/1595
* Add CI for the in-repo Spack package by schmitts in https://github.com/arbor-sim/arbor/pull/1544
* Ci/sanitize by thorstenhater in https://github.com/arbor-sim/arbor/pull/1521
* Update spack package to include fmt for arbor0.5.3: by bcumming in https://github.com/arbor-sim/arbor/pull/1609
* Cache Spack for GHA by schmitts in https://github.com/arbor-sim/arbor/pull/1619
* Run examples via scripts (closes 1566) by schmitts in https://github.com/arbor-sim/arbor/pull/1631
* Build a catalogue in CI by schmitts in https://github.com/arbor-sim/arbor/pull/1632
* Switch to PyPA's `cibuildwheel` action repo's. by Helveg in https://github.com/arbor-sim/arbor/pull/1703
* Automatic test discovery sans boilerplate by Helveg in https://github.com/arbor-sim/arbor/pull/1693
* build external mechanism catalogues in release mode by noraabiakar in https://github.com/arbor-sim/arbor/pull/1713
* `make VERBOSE=1` in verbose mode by Helveg in https://github.com/arbor-sim/arbor/pull/1715
* Bump pybind to 2.8.1 by brenthuisman in https://github.com/arbor-sim/arbor/pull/1742
* Better error reporting in python context interface by bcumming in https://github.com/arbor-sim/arbor/pull/1732
* Better error diagnostic in python when invalid cell properties are provided. by bcumming in https://github.com/arbor-sim/arbor/pull/1743
* Test separately built catalogues by bcumming in https://github.com/arbor-sim/arbor/pull/1748
* Weekly cron job checking for submodule updates by brenthuisman in https://github.com/arbor-sim/arbor/pull/1741
* Added local Python testsuite instructions by Helveg in https://github.com/arbor-sim/arbor/pull/1809
* CMake CUDA clean-up. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1804
* Add dry run benchmark cell model for testing communication scaling by bcumming in https://github.com/arbor-sim/arbor/pull/1627
* v0.6-rc by brenthuisman in https://github.com/arbor-sim/arbor/pull/1814
* More robust build-catalogue by thorstenhater in https://github.com/arbor-sim/arbor/pull/1784

Documentation:

* `arbor.mechanism_catalogue.extend()` documentation added. by brenthuisman in https://github.com/arbor-sim/arbor/pull/1597
* zenodo 0.5.2 entry by brenthuisman in https://github.com/arbor-sim/arbor/pull/1598
* mpi.py updated for new synapse labelling by brenthuisman in https://github.com/arbor-sim/arbor/pull/1602
* Tutorial structure: remove deduplication, includify by brenthuisman in https://github.com/arbor-sim/arbor/pull/1575
* Docs mechabi by brenthuisman in https://github.com/arbor-sim/arbor/pull/1610
* Improved documentation about weights by brenthuisman in https://github.com/arbor-sim/arbor/pull/1620
* Adapt to changes in Pandas requiring unique indices by brenthuisman in https://github.com/arbor-sim/arbor/pull/1625
* Add implies default license by kanzl in https://github.com/arbor-sim/arbor/pull/1635
* Update Slack to Gitter by brenthuisman in https://github.com/arbor-sim/arbor/pull/1637
* Better Python installation instructions by brenthuisman in https://github.com/arbor-sim/arbor/pull/1622
* Add example based on LFPykit example Example_Arbor_swc.ipynb by espenhgn in https://github.com/arbor-sim/arbor/pull/1652
* Name and describe arguments to constructors where ambiguous. by brenthuisman in https://github.com/arbor-sim/arbor/pull/1678
* improved Github Issue templates by brenthuisman in https://github.com/arbor-sim/arbor/pull/1698
* Add some comments about units to network ring examples by schmitts in https://github.com/arbor-sim/arbor/pull/1697
* Fix link (closes 1664) by schmitts in https://github.com/arbor-sim/arbor/pull/1701
* Fix class members in cable example by schmitts in https://github.com/arbor-sim/arbor/pull/1641
* Correctify and seabornize dendrite tutorial by brenthuisman in https://github.com/arbor-sim/arbor/pull/1706
* Polish GJ example readme by thorstenhater in https://github.com/arbor-sim/arbor/pull/1726
* Completed the docs with more `config()` flags by Helveg in https://github.com/arbor-sim/arbor/pull/1708
* Make connectivity example more complete by brenthuisman in https://github.com/arbor-sim/arbor/pull/1721
* Add description of arbor and NEURON's `nernst` application rules to the docs. by noraabiakar in https://github.com/arbor-sim/arbor/pull/1638
* Show docs version info more prominently on RTD by brenthuisman in https://github.com/arbor-sim/arbor/pull/1737
* Update/fix tinyopt README.md by halfflat in https://github.com/arbor-sim/arbor/pull/1747
* Add python gap junction example by kanzl in https://github.com/arbor-sim/arbor/pull/1750
* Documentation: add expected nmodl units by noraabiakar in https://github.com/arbor-sim/arbor/pull/1756
* Fixed broken link from `get_probes` to `probes` by Helveg in https://github.com/arbor-sim/arbor/pull/1763
* Removed double preposition by Helveg in https://github.com/arbor-sim/arbor/pull/1762
* Fixed MD to RST typo by Helveg in https://github.com/arbor-sim/arbor/pull/1760
* Fix broken links in `probe_sample.rst` by Helveg in https://github.com/arbor-sim/arbor/pull/1761
* Docs/contrib updates by brenthuisman in https://github.com/arbor-sim/arbor/pull/1736
* Add Release procedure to docs by brenthuisman in https://github.com/arbor-sim/arbor/pull/1738
* Example and tutorial for two cells connected via a gap junction by schmitts in https://github.com/arbor-sim/arbor/pull/1771
* Have single source for citation info, compatible with Github citation UI by brenthuisman in https://github.com/arbor-sim/arbor/pull/1791
* Advertise GH Discussions for modelling by brenthuisman in https://github.com/arbor-sim/arbor/pull/1793
* Add release cycle info to docs by brenthuisman in https://github.com/arbor-sim/arbor/pull/1798
* Added a warning when users are reading latest docs. by Helveg in https://github.com/arbor-sim/arbor/pull/1800

Fixes/optimization:

* Fix GPU compile. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1601
* Compile all arbor source files with `-fvisibility=hidden` by noraabiakar in https://github.com/arbor-sim/arbor/pull/1599
* Bug/assorted static analysis by thorstenhater in https://github.com/arbor-sim/arbor/pull/1615
* Fix ambiguous Region/Locset expressions by thorstenhater in https://github.com/arbor-sim/arbor/pull/1629
* Clean-up AVX routine and global def [EOM] by thorstenhater in https://github.com/arbor-sim/arbor/pull/1618
* Categorise ASSIGNED RANGE variables as STATE-ish. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1624
* Check that mechanisms have the right kind by noraabiakar in https://github.com/arbor-sim/arbor/pull/1633
* Resolve uninitialised values. by thorstenhater in https://github.com/arbor-sim/arbor/pull/1616
* Correctly parse diameter in ASCII files by bcumming in https://github.com/arbor-sim/arbor/pull/1640
* Attempt fixing a64fx build by bcumming in https://github.com/arbor-sim/arbor/pull/1636
* Fix simulation::add_sampler cell_group dispatch by noraabiakar in https://github.com/arbor-sim/arbor/pull/1654
* Fix on-components on empty cable bug by halfflat in https://github.com/arbor-sim/arbor/pull/1658
* Fix cv_policy parse and write in ACC by noraabiakar in https://github.com/arbor-sim/arbor/pull/1665
* Fixed MRO and code duplication in `setup.py` by Helveg in https://github.com/arbor-sim/arbor/pull/1672
* Rephrase exception message in case of missing segment by schmitts in https://github.com/arbor-sim/arbor/pull/1659
* Fix modcc simd generation by noraabiakar in https://github.com/arbor-sim/arbor/pull/1681
* Segfault on instantiating mechanisms on empty regions by thorstenhater in https://github.com/arbor-sim/arbor/pull/1657
* Add missing closing bracket to mechanism repr (closes 1667) by schmitts in https://github.com/arbor-sim/arbor/pull/1699
* Better handling of errors during dynamic catalogue loading by thorstenhater in https://github.com/arbor-sim/arbor/pull/1702
* Swap && and || operator precedence in modcc by noraabiakar in https://github.com/arbor-sim/arbor/pull/1710
* Remove use of removed INSTRUMENT_MALLOC symbols from Glibc 2.34 by brenthuisman in https://github.com/arbor-sim/arbor/pull/1730
* Generate correct simd code for reading `peer_index` and `v_peer` by noraabiakar in https://github.com/arbor-sim/arbor/pull/1735
* fixes for non-standard code by boeschf in https://github.com/arbor-sim/arbor/pull/1769
* Modcc: Forward declare procedure kernels in generated GPU code by noraabiakar in https://github.com/arbor-sim/arbor/pull/1787
* modcc: exit solvers early if errors encountered. by noraabiakar in https://github.com/arbor-sim/arbor/pull/1755
* Fix cmake configuration of out-of-core fmt library by bcumming in https://github.com/arbor-sim/arbor/pull/1796
* Bug fix: properly partition networks containing one-sided gap-junction connections by noraabiakar in https://github.com/arbor-sim/arbor/pull/1774
* Remove footgun: Catalogue Lifetimes by thorstenhater in https://github.com/arbor-sim/arbor/pull/1807


New Contributors
* kanzl made their first contribution in https://github.com/arbor-sim/arbor/pull/1635
* max9901 made their first contribution in https://github.com/arbor-sim/arbor/pull/1670
* boeschf made their first contribution in https://github.com/arbor-sim/arbor/pull/1769

**Full Changelog**: https://github.com/arbor-sim/arbor/compare/v0.5.2...v0.6

0.5.2

** 2021 06 24 **

This release fixes an error in the CI generated Python wheels, which are as of this release available on PyPI. Other than those fixes, this release is identical to v0.5.1.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.