Python bindings for the Basic Applied Topology Subprograms
Project description
BATS.py
Python bindings for the Basic Applied Topology Subprograms (BATS) library. This includes:
- Simplicial, Cubical, and Cell Complexes
- Simplicial, Cubical, and Cellular Maps
- Homology and induced maps
- Persistent homology
- Zigzag homology
- A variety of topolgical constructions
Note that the C++ repository is the main library, and contains more features. This repository provides bindings for a subset of the functionality of BATS, and is under active development.
Documentation, examples, and tutorials can be found at bats-tda.readthedocs.io
Once installed, you can import the bats
namespace:
import bats
Installation with pip
The easiest way to install bats
is using pip
pip install bats-tda # gcc
To use clang (e.g. on a Mac) try
CC=clang pip install bats-tda # clang
Because bats
uses OpenMP, it has to be compiled from source with a C++17 compliant complier. This means installation can take a few minutes. You can pass --verbose
to pip
to see what is going on with installation.
If you don't have OpenMP, you can install with a package manager.
GCC (e.g. on Linux)
dnf install libgomp-devel # Fedora
apt-get install libgomp1-dev # Ubuntu
Clang (e.g. on Mac)
brew install libomp
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.