BETSE 0.9.1 (Luckier Levin) released. Significant changes include: * Cell boundary search radius increased, improving simulation stability in worst-case spatial layouts for user-defined cell clusters. * MetaAppABC API added. The new object-oriented "betse.metaapp" submodule replaces the prior procedural "betse.pathtree" submodule, enabling inheritance-fueled reuse from downstream consumers (e.g., BETSEE). The MetaAppABC API is intended to eventually encompass all general-purpose functionality required.to implement BETSE-like applications -- including application initialization, dependency resolution and initialization, and a nominal command-line interface (CLI). * Git API generalized. The new betse.util.path.gits.get_package_worktree_dirname_or_none() function queries whether a given top-level Python package is in Git-based development mode. * Numpy API generalized. The new betse.lib.numpy.nparray.get_subarray_indices() function efficiently yields the indices of all items of one Numpy array residing in another. * Path API generalized. The new high-level betse.util.files.copy_overwritable() function, wrapping the existing lower-level betse.util.files.copy() function for the common case of silently overwriting arbitrary target files. * String API generalized to support substantially enhanced truncation operations in the "betse.util.type.text.strs" submodule, including: * The new high-level truncate() function, truncating strings to caller-defined barriers (e.g., maximum length, terminal substring) and then replacing the truncated suffixes with arbitrary strings (e.g., ellipses). * The new replace_suffix_prefixed() function, prematurely truncating strings on impermissible substrings (e.g., newline). * The existing remove_suffix_with_prefix() function reduced to a one-liner, a substantial optimization preventing this function from erroneously raising exceptions in edge cases both common and uncommon. * The existing betse.util.type.text.regexes.die_unless_replace_substrs_line() function, now truncating internally raised exception messages for readability. * Version API generalized. The formerly mostly empty "betse.util.type.numeric.versions" submodule has been substantially improved, despite the inability of the setuptools-bundled "pkg_resources" API to preserve backward compatibility across stable releases. Our version API now portably allows versions in any of several formats (i.e., string, tuple, or setuptools-specific "Version" or "LegacyVersion" objects) to be reliably compared. PEP 440-compliant versions (e.g., "5.9.0") and PEP 440-uncompliant versions (e.g., "5.9.0~a1") are explicitly supported. * Version API tested. Unit tests fully exercising all edge cases of the "betse.util.type.numeric.versions" submodule have been added.