Skip to content

Commit

Permalink
BETSE 1.4.0: The Resurrection of BETSE
Browse files Browse the repository at this point in the history
Welcome to **BETSE 1.4.0,** the first stable release of BETSE in (*almost exactly*) two years! Let's model some bioelectricity. 🥳

## Install All this Good Stuff! 👇

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

## Verify That BETSE Still Behaves Itself! 👌

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. 😮‍💨

## What's So Good about BETSE 1.4.0, Anyway? 🤔

**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.** 🌝
* Requiring recent versions of most scientific dependencies, including:
  * **NumPy ≥ 2.0.0.** ✔️
  * **SciPy ≥ 1.14.0.** ✔️
  * **Matplotlib ≥ 3.9.0.** ✔️
  * **@beartype ≥ 0.18.0.** ✔️
* Refactoring the BETSE build system from the antiquated `setuptools` + `setup.py` <sup> 🤮 </sup> to [**Hatch**](https://github.com/pypa/hatch) + `pyproject.toml`. <sup> 🥂 </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/). 😮

## "B-b-but Nothing Works, Everything Is Busted, and My Paper Is Due in 5 Minutes!"

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!

## This Is Where We Thank You 👏

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.
  • Loading branch information
leycec committed Sep 24, 2024
1 parent 47966b6 commit 193ee03
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. # ------------------( DIRECTIVES )------------------
.. # ------------------( DIRECTIVES )------------------
.. # Fallback language applied to all code blocks failing to specify an
.. # explicit language. Since the majority of all code blocks in this document
.. # are Bash one-liners intended to be run interactively, this is "console".
Expand All @@ -9,7 +9,7 @@
.. # thus disabled until more widely supported. *collective shrug*
.. # highlight:: console
.. # ------------------( SYNOPSIS )------------------
.. # ------------------( SYNOPSIS )------------------
=====
BETSE
Expand All @@ -27,7 +27,7 @@ BETSE is `portably implemented <codebase_>`__ in pure `Python 3`_,
pytest_ **×** Codecov_, and `permissively distributed <license_>`__ under the
`BSD 2-clause license`_.

.. # ------------------( TABLE OF CONTENTS )------------------
.. # ------------------( TABLE OF CONTENTS )------------------
.. # Blank line. By default, Docutils appears to only separate the subsequent
.. # table of contents heading from the prior paragraph by less than a single
.. # blank line, hampering this table's readability and aesthetic comeliness.
Expand All @@ -42,7 +42,7 @@ pytest_ **×** Codecov_, and `permissively distributed <license_>`__ under the
.. contents:: **Contents**
:local:

.. # ------------------( DESCRIPTION )------------------
.. # ------------------( DESCRIPTION )------------------
Installation
============
Expand All @@ -53,7 +53,7 @@ BETSE is universally installable with either:

.. code-block:: console
pip3 install betse
pip install betse
- Anaconda_, a third-party Python package manager:

Expand Down

0 comments on commit 193ee03

Please sign in to comment.