Skip to main content

Library for computing persistent homology

Project description

Dionysus is a computational topology package focused on persistent homology. It is written in C++, with Python bindings. The second version (previous version) is re-written from scratch, which helps it accomplish a few goals:

  • Modified BSD license (because GPL causes too many problems in academic software).

  • No dependency on Boost.Python; Dionysus 2 uses (and includes) PyBind11 instead, which greatly simplifies installation.

  • Cleaner, more consistent internal design (for example, all algorithms support arbitrary fields).

  • Some new algorithms, e.g., omni-field persistence and Wasserstein and bottleneck distance computation from Hera.

  • A few plotting routines, based on Matplotlib.

  • Better integration with NumPy.

Dionysus 2 also includes vineyards for updating persistence under adjacent filtration transpositions and linear homotopies. Alpha shape filtrations are available via DioDe.

Dependencies:
  • Boost, although Dionysus 2 doesn’t link any of its libraries, so it’s considerably easier to build the project.

  • (Optional) SciPy for the LSQR routine used in circular coordinates.

  • (Optional) Matplotlib for plotting.

Requirements:
  • Boost needs to be at least version 1.55.

  • If you are using GCC, the oldest supported version is 5.4.

Contact:
  • please use the dionysus mailing list for all questions and discussion related to the library;

  • GitHub’s issue tracker is a central location for bug reports and feature requests.

Get, Build, Install

The simplest way to install Dionysus, as a Python package, is from PyPI:

pip install --verbose dionysus

Pass --upgrade to pip, if you have already installed some version of Dionysus.

Alternatively, you can install it directly from the development repository (this gives you the latest version):

pip install --verbose git+https://github.com/mrzv/dionysus.git

Alternatively, you can clone and build everything by hand. To get Dionysus 2, either clone its repository:

git clone https://github.com/mrzv/dionysus.git

or download it as a Zip archive.

To build the project:

mkdir build
cd build
cmake ..
make

To use the Python bindings, either launch Python from .../build/bindings/python or add this directory to your PYTHONPATH variable, by adding:

export PYTHONPATH=.../build/bindings/python:$PYTHONPATH

to your ~/.bashrc or ~/.zshrc.

Documentation

Documentation for Dionysus can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dionysus-2.2.2.tar.gz (714.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dionysus-2.2.2-cp314-cp314-manylinux_2_39_x86_64.whl (778.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

dionysus-2.2.2-cp314-cp314-macosx_26_0_arm64.whl (611.7 kB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

dionysus-2.2.2-cp313-cp313-manylinux_2_39_x86_64.whl (777.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

dionysus-2.2.2-cp313-cp313-macosx_26_0_arm64.whl (610.3 kB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

dionysus-2.2.2-cp312-cp312-manylinux_2_39_x86_64.whl (777.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

dionysus-2.2.2-cp312-cp312-macosx_26_0_arm64.whl (610.3 kB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

dionysus-2.2.2-cp311-cp311-manylinux_2_39_x86_64.whl (773.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

dionysus-2.2.2-cp311-cp311-macosx_26_0_arm64.whl (608.0 kB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

dionysus-2.2.2-cp310-cp310-manylinux_2_39_x86_64.whl (768.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

dionysus-2.2.2-cp310-cp310-macosx_26_0_arm64.whl (607.1 kB view details)

Uploaded CPython 3.10macOS 26.0+ ARM64

File details

Details for the file dionysus-2.2.2.tar.gz.

File metadata

  • Download URL: dionysus-2.2.2.tar.gz
  • Upload date:
  • Size: 714.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for dionysus-2.2.2.tar.gz
Algorithm Hash digest
SHA256 7f53918de43b36ce7659962305a35f394ce1ed33d2172e22c782bbb144843c8d
MD5 54a3c90157ad1a4c97407a6cad7915dc
BLAKE2b-256 522972bb24026ef32592faccd31f25d798e0659803b0bb989f818707f4c2f765

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp314-cp314-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 bbe0fe04027b1da228ec4af6c145411573868ac9dca88715662d748216cd4a6e
MD5 f11f78d55cfb950a3d5caffc30a4d2b2
BLAKE2b-256 bbd25cbc86fcf9e20a3271a9195e861a87ae33f2b677900000e7949d048d5afb

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 7466c9bb79819ea12d2477f970af97d7bdf0a5a4680ae9873f95f2d234d56fb5
MD5 b4f57c4e84eec91df2a9075040a163a1
BLAKE2b-256 ad5a5fa27f5d73701df424d2d337cac35ad807c58438a148d3648b783fccdc86

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 0680fefb23cc071fb2698c575336d6dbadf8959ac337e518a008451c20513792
MD5 b31e738f50526420c7a9c4a562d1dcee
BLAKE2b-256 451cfc09b4f4d37c3b2256752416e7fc8370464e895dbcaf361eb448141125d6

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 76d550aa8b6b8c18a1795fb11c42652044efd80ebea2ec177daf5911440bb088
MD5 8aa6fad88852b604b0c9d202fe8506fa
BLAKE2b-256 2bce5af5497f680bf2722e8209d8dba4ef0da441369af2ec37f394c5df303f07

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 0d291e3b8851659480ca8ad1bf117d6291c27bfb7a2cea87f6e59f0b8f39b9d3
MD5 58dc91a14884150ffadd31c36ad83db7
BLAKE2b-256 547a572027d399f65c8de1c9e3bf13654780acdec6d269a538fe40ce3d67d048

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 25b9b171e1f668980c2274631f94e86a66ebf0a227d237e4a2be355a2ee1e8e3
MD5 545e1953ffca41e4d90e1ffde29a5e35
BLAKE2b-256 cf53e6ab4ba751083f5c92c781104c0622c87501011f7897dcb6bb7c0bbca650

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 1acb78c4f92c95f78cdd6e8a637100558aa2f465ec9b3b29a98a40ae42df47f0
MD5 ae2c8941020cd975ea4f89efb0625e86
BLAKE2b-256 0461020d3c4ab185517e1ababb6244c89092ca223ee3b27a12a33d6bdf03a2d9

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 1b1cc7b6c47ab24cf0dfa146ae2877d7e72393a268e2314d908e61f53f802616
MD5 14c23e1ef17049d08d323b6fa5ba18de
BLAKE2b-256 187953ac01da3b06602e54341cfce275cf78f033100171059a86acd1bc685ada

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 72405415792785d60541e30f60bb3406bbf600804f5324a6f6cee7c13d735f97
MD5 d1bd376a35fde7c37b009f6a5a43a997
BLAKE2b-256 b05a0574f5d5805f281bac7bf1312bbf57c37c562d840795f92d23b3847a0185

See more details on using hashes here.

File details

Details for the file dionysus-2.2.2-cp310-cp310-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.2.2-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 7d4058e16a61c3ebc4d9381c8fdeb2ed5be77c571842331a798bf8da1e8c5d36
MD5 4891ffa8a7e87df04190799e09c48cf5
BLAKE2b-256 1036c3d9939cd3255266f92840c7917074b928e0940bb45183fd372711e0c3b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page