Releases: chaobrain/braincell
Version 0.0.8
Compatible with latest brainevent.
Version 0.0.7
This release focuses on structural refactoring to improve codebase organization, specifically grouping morphology and integrator components into dedicated sub-packages (braincell.morph and braincell.quad).
Refactoring & Code Organization
-
Morphology Sub-package (
braincell.morph)- Moved and renamed morphology-related modules into
braincell/morph/:_morphology.py->morph/_morphology.py_morphology_branch_tree.py->morph/_branch_tree.py_morphology_from_asc.py->morph/_from_asc.py_morphology_from_swc.py->morph/_from_swc.py_morphology_utils.py->morph/_utils.py
- Moved and renamed morphology-related modules into
-
Integrator Sub-package (
braincell.quad)- Moved all integrator and solver modules into
braincell/quad/:_integrator*.pyfiles moved tobraincell/quad/.
- This improves the clarity of the top-level namespace.
- Moved all integrator and solver modules into
Documentation
- Structure Updates
- Updated API documentation to reflect the new module structure.
- Simplified
index.rstand reorganized API reference pages. - Updated copyright to reflect membership in the BrainX Ecosystem.
CI/CD
- Workflow Updates
- Bumped versions for
actions/checkout,upload-artifact, anddownload-artifact.
- Bumped versions for
What's Changed
- ⬆️ Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #57
- ⬆️ Bump actions/download-artifact from 4 to 6 by @dependabot[bot] in #58
- ⬆️ Bump actions/checkout from 5 to 6 by @dependabot[bot] in #59
- ⬆️ Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #60
- ⬆️ Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #61
- ⬆️ Bump styfle/cancel-workflow-action from 0.12.1 to 0.13.0 by @dependabot[bot] in #62
- Refactor morphology and integrators into morph/quad subpackages by @chaoming0625 in #63
Full Changelog: v0.0.6...v0.0.7
Version 0.0.6
This release focuses on major dependency updates, code modernization, and extensive refactoring to improve compatibility with the latest BrainPy ecosystem.
Breaking Changes
- Dependency Version Updates
- Updated
brainstatefrom>=0.1.0to>=0.2.0 - Updated
brainpyfrom>=3.0.0to>=2.7.0 - These updates may require users to upgrade their BrainPy ecosystem packages
- Updated
Refactoring & Code Improvements
-
Core Architecture Simplification (2acd212)
- Refactored
HHTypedNeuronto usebrainpydirectly for better integration - Simplified
_base.pywith significant code reduction (221 insertions, 282 deletions) - Removed deprecated
_integrator_diffrax.pymodule (29 lines removed) - Streamlined integrator implementations in
_integrator_runge_kutta.py - Cleaned up
_single_compartment.pyand integration protocol
- Refactored
-
Parameter Initialization Migration (fa71171, a79c306, 18b053c, 77a11ac)
- Migrated parameter initialization from
brainstate.nntobraintoolsacross the entire codebase - Updated parameter initialization in ion channels (calcium, potassium, sodium, hyperpolarization-activated)
- Refactored parameter initialization in synapse models (markov)
- Updated HTC and EINet classes to use
braintools - Updated all example scripts and notebooks to use
braintoolsfor parameter initialization
- Migrated parameter initialization from
-
API Migration (e84351a, bf50e6e)
- Migrated from
brainstate.nntobrainpy.stateandbraintools - Fixed
_baseerrors in brainpy integration - Updated
CurrentProjreferences across the codebase
- Migrated from
Documentation
- Updated Documentation (#54, 2acd212)
- Updated braincell logo image
- Refreshed tutorial notebooks (cell, channel, ion tutorials in both English and Chinese)
- Updated advanced tutorial examples (sc02-sc05 notebooks)
- Revised quickstart concepts documentation
- Updated all documentation to reflect API changes and new parameter initialization patterns
Examples
- Example Updates
- Updated all example scripts to use new APIs:
SC01_fitting_a_hh_neuron.pySC03_COBA_HH_2007_braincell.pySC05_thalamus_single_compartment_neurons.pySC06_unified_thalamus_model.pySC07_Straital_beta_oscillation_2011.pyMC11_simple_dendrite_model.pyMC13_golgi_model/simulations
- Updated all example scripts to use new APIs:
CI/CD
- Publishing Workflow Enhancement (2acd212)
- Updated
.github/workflows/Publish.ymlwith improved configuration
- Updated
Code Statistics
- Overall changes: 48 files changed, 1,307 insertions(+), 1,408 deletions(-)
- Net reduction of ~100 lines while improving code quality and maintainability
Version 0.0.5
This release brings significant performance improvements, new integration methods, enhanced morphology support, expanded documentation, and modernized packaging infrastructure.
New Features
-
Pallas Kernel Acceleration (#51)
- Added Pallas kernel support for voltage solver to accelerate multi-compartment simulations
- Introduced optimized triangular matrix computation with GPU/CPU backend support
- Added debug kernels for Pallas backend testing
-
Backward Euler Solver (#49)
- Added backward Euler integration method for improved numerical stability
- Enhanced integration infrastructure with new solver options
-
Morphology Enhancements (#41, #46, #51)
- Added support for immutable sections
- Implemented DHS (Diagonal Hines Solver) support
- Added lazy loading of networkx for better performance
- Improved morphology branch tree handling and documentation
- Enhanced ASC/SWC file support for morphology loading
Performance Improvements
-
Sodium Channel Integration (da6697f, 7f91bbe, 7c218f1)
- Refactored sodium integration from backward Euler to RK4 solver for better accuracy
- Updated population size handling in simulations
- Optimized voltage solver performance
-
Integration System Refactoring (#47)
- Refactored integrators to get time from
brainstate.environfor better consistency - Streamlined solver logic and improved code structure
- Refactored integrators to get time from
Documentation
-
Expanded Chinese Documentation (#45)
- Added comprehensive Chinese language documentation
- Included advanced tutorial examples and API references
-
New Documentation Structure (#40, #42)
- Added quickstart guides, tutorials, and advanced tutorials
- Reorganized documentation for better navigation
- Enhanced code documentation and type hints (#44)
Infrastructure & Dependencies
-
Packaging Modernization
- Migrated from
setup.pyto modernpyproject.toml-only configuration - Updated license format to SPDX identifier (
Apache-2.0) - Improved package metadata and dependency specifications
- Migrated from
-
Dependencies
- Added
brainpy>=3.0.0as core dependency - Added
braintools>=0.1.0for enhanced tooling - Updated CI/CD configurations for Python 3.13 support
- Added
-
CI/CD Updates
Code Quality
- Refactoring & Improvements (#44)
- Improved external current registration and error handling
- Enhanced type hints across the codebase
- Better code organization and readability
Examples & Testing
- Added linear solver test notebooks
- Enhanced Golgi model simulation examples
- Updated example scripts for better demonstration of features
What's Changed
- Add morphology representation and splitting solvers by @TLDSZ in #28
- Simplify HH neuron and simulation by @chaoming0625 in #31
- Refactor documentation by @chaoming0625 in #32
- Refactor diffrax integration into step methods by @chaoming0625 in #33
- Refactor integrators and morphology; add implicit diffrax by @chaoming0625 in #34
- Add independent exp euler solver; refactor and update examples by @chaoming0625 in #35
- Add synapse models; refactor channels/integrators; reorganize examples by @chaoming0625 in #36
- Refactor and modernize example scripts by @chaoming0625 in #37
- Refactor morphology/MultiCompartment for ASC/SWC; add staggered solver by @chaoming0625 in #39
- Add Documentation Structure: Quickstart, Tutorials, and Advanced Tutorials by @YangJesse in #40
- Finished updating documentation; no modifications made to braincell code. by @YangJesse in #42
- Standardize Units, Refactor Current Handling, and Enhance Examples by @chaoming0625 in #44
- Refactor morphology; add immutable sections and DHS support by @chaoming0625 in #41
- Expand Chinese documentation; add advanced examples & API refs by @chaoming0625 in #45
- Refactor morphology branch tree: lazy load networkx and improve doc by @chaoming0625 in #46
- Refactor integrators: Get time from brainstate.environ by @chaoming0625 in #47
- ⬆️ Bump actions/checkout from 4 to 5 by @dependabot[bot] in #48
- Add Backward Euler solver; refactor integrations & morphology by @chaoming0625 in #49
- ⬆️ Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #50
- Accelerate voltage solver with Pallas kernels; update morphology by @chaoming0625 in #51
- Finished the english version of documents. by @YangJesse in #52
- Compatible with
brainstate>=0.2.0by @chaoming0625 in #53
New Contributors
- @dependabot[bot] made their first contribution in #48
Full Changelog: v0.0.1...v0.0.5
Version 0.0.1
This release is the basic feature about braincell. It supports modeling of single-compartment neurons. (The full support for multi-compartment models will come in the next release).
New Features
- Hierarchical structure for
neuron-ion-channel. - Single compartment neuron modeling.
- Numerical integration.
What's Changed
- fix tests by @chaoming0625 in #2
- New style to define the model by @chaoming0625 in #3
- Fix setup.py by @chaoming0625 in #4
- update package access by @chaoming0625 in #5
- Support for multi-compartmental neurons by @chaoming0625 in #6
- update doc by @chaoming0625 in #7
- Add example for conductance fitting of a three-compartment neuron by @chaoming0625 in #8
- Update by @chaoming0625 in #9
- fix bugs by @chaoming0625 in #10
- Swl by @TLDSZ in #11
- Support numerical integration using
diffraxby @chaoming0625 in #12 - Swl by @TLDSZ in #13
- add more channel params by @TLDSZ in #14
- add the rest channels and fix bugs by @TLDSZ in #15
- fix bugs by @TLDSZ in #16
- add examples for fitting with Adam optimizer by @chaoming0625 in #18
- Fix gradient fitting by @chaoming0625 in #19
- add a neuron fitting example by @chaoming0625 in #20
- update code to compatible with brainstate>=0.1.0 by @chaoming0625 in #21
- Standardize integration methods by @chaoming0625 in #24
- fix
ICav31_Ma2020bug by @chaoming0625 in #22 - support
exponential eulerintegration by @chaoming0625 in #25 - renaming package to
braincellby @chaoming0625 in #26 - Update code by @chaoming0625 in #27
- Refactor integration functions to use
exprelfor improved numerical… by @chaoming0625 in #29
New Contributors
- @chaoming0625 made their first contribution in #2
Full Changelog: https://github.com/chaobrain/braincell/commits/v0.0.1