BETSE 1.4.0: The Resurrection of BETSE
Welcome to **BETSE 1.4.0,** the first stable release of BETSE in (*almost exactly*) two years! Let's model some bioelectricity. :partying_face:
Like all prior BETSE releases, **BETSE 1.4.0** is publicly available via both [`pip` + PyPI](https://pypi.org/project/betse) and [`conda` + @conda-forge](https://anaconda.org/conda-forge/betse). Pick your open-source packaging ~~poison~~ solution:
* **"I choose `pip`!"** *Excellent choice.* Everyone feels peppy with `pip`:
```bash
pip install --upgrade betse
```
* **"I choose `conda`!"** *Also excellent.* You can't go wrong with reptiles:
```bash
conda config --add channels conda-forge
conda install betse
```
After upgrading to *any* new BETSE version (including **BETSE 1.4.0**), it's a great idea to validate that BETSE still behaves itself. Just run the ``betse try`` subcommand from a temporary directory you don't particularly care about: e.g.,
```bash
cd /tmp
betse try
```
You should see an animated plot of a sample bioelectric simulation subject to a **cut profile** (i.e., sudden removal of cells mimicking a tissue wound). If you see something *other* than that, see the "B-b-but Nothing Works..." section below. :face_exhaling:
**Everything.** Literally everything. **BETSE 1.4.0** is a whole new computational beast.
Prior versions of BETSE (like BETSE 1.3.0) no longer run under a modern Python workflow. Incompatibilities with recent scientific dependencies (like NumPy 2.0.0, SciPy 1.14.0, and Matplotlib 3.9.0) render prior versions of BETSE all but unusable.
**BETSE 1.4.0** resolves *all* outstanding issues, deprecations, exceptions, and warnings by:
* Requiring a modern version of CPython: **CPython ≥ 3.11.** :full_moon_with_face:
* Requiring recent versions of most scientific dependencies, including:
* **NumPy ≥ 2.0.0.** :heavy_check_mark:
* **SciPy ≥ 1.14.0.** :heavy_check_mark:
* **Matplotlib ≥ 3.9.0.** :heavy_check_mark:
* **@beartype ≥ 0.18.0.** :heavy_check_mark:
* Refactoring the BETSE build system from the antiquated `setuptools` + `setup.py` <sup> :vomiting_face: </sup> to [**Hatch**](https://github.com/pypa/hatch) + `pyproject.toml`. <sup> :clinking_glasses: </sup>
* Runtime type-checking the entire BETSE codebase with @beartype – a [hyper-fast standards-compliant type-checker designed from the ground-up for scientific workloads](https://github.com/beartype/beartype/). :open_mouth:
Having issues... *again*? Seeing a slew of exceptions? Drowning in a deluge of warnings? Fear not. We are here for you and your exciting research. Please submit:
* All [**issues** and **feature requests** directly to our friendly issue tracker here on **GitHub**](https://github.com/betsee/betse/issues). Let us assuage your valid problems.
* All [**scientific inquiries** and **collaborative inspiration** directly to Dr. Alexis Pietak at **ResearchGate**](https://www.researchgate.net/profile/Alexis-Pietak). Science!
The principal authors of BETSE – [Dr. Alexis Pietak (@pietakio)](https://www.researchgate.net/profile/Alexis-Pietak) and [Cecil Curry (@leycec)](https://github.com/leycec) – humbly thank *everyone* for your renewed interest in BETSE. Together, we will model all the bioelectricity.
We'd also like to congratulate [Dr. Andre Norfleet](https://bioengineering.gatech.edu/index.php/user/andre-norfleet) on his [recent explosive Cells 2024 submission: **"Identification of Distinct, Quantitative Pattern Classes from Emergent Tissue-Scale hiPSC Bioelectric Properties"**](https://www.mdpi.com/2073-4409/13/13/1136). This *super*-exciting paper leverages BETSE to validate experimental bioelectric findings. Due in large part to this paper's high-profile inclusion in the [Cells 2024 Special Issue **"Multiscale Studies of Cell Behavior"**](https://www.mdpi.com/journal/cells/special_issues/49AYA0UO06), we've fielded a sudden uptick of interest in using BETSE to validate similar findings *and* concern over the future well-being of BETSE.
Allow us to now say:
> **BETSE is here to stay.**
And BETSE 1.4.0 is the proof in the bioelectric pudding.