Skip to main content

Library for computing persistent homology

Reason this release was yanked:

bug in lazy decomposition

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.1.tar.gz (713.8 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.1-cp314-cp314-manylinux_2_39_x86_64.whl (777.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

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

Uploaded CPython 3.14macOS 26.0+ ARM64

dionysus-2.2.1-cp313-cp313-manylinux_2_39_x86_64.whl (776.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

dionysus-2.2.1-cp313-cp313-macosx_26_0_arm64.whl (610.7 kB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

dionysus-2.2.1-cp312-cp312-manylinux_2_39_x86_64.whl (776.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

dionysus-2.2.1-cp312-cp312-macosx_26_0_arm64.whl (610.6 kB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

dionysus-2.2.1-cp311-cp311-manylinux_2_39_x86_64.whl (774.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

dionysus-2.2.1-cp311-cp311-macosx_26_0_arm64.whl (608.4 kB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

dionysus-2.2.1-cp310-cp310-manylinux_2_39_x86_64.whl (769.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

dionysus-2.2.1-cp310-cp310-macosx_26_0_arm64.whl (607.5 kB view details)

Uploaded CPython 3.10macOS 26.0+ ARM64

File details

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

File metadata

  • Download URL: dionysus-2.2.1.tar.gz
  • Upload date:
  • Size: 713.8 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.1.tar.gz
Algorithm Hash digest
SHA256 44e6bcb8c317d2503a65fb946918f89ce49abb57d67a0c3a22fb6c5f382680b9
MD5 56c974701db722404503f2cb4842234f
BLAKE2b-256 04698182e957912dd2b509b041acc3c81a29bf28fa80b13074f43c4431b0a1b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 dba0b990d7702f42acd8efee999882ba3100f05d2369b6833436b2e1c62150c3
MD5 5a0898b780fd5a60b1fcd1b888bc1696
BLAKE2b-256 9eeba7f522dcd9ec6e784f74a18878ec23d590c3bfc05ab89ec356e4a5574dfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 f3207d92810cd0829de6bb85bf6d209d6c7b0e7c21258e1e76a986ff9e869db9
MD5 5f70c7dd6c8f344794228628ded9412d
BLAKE2b-256 cb7316403aa71fa7c598363a755da60e76935d130ef987095d1454bf966fa2c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 7d1eb44762b21a2b1a5e47e3137b10c44af60951d4cfa07538866f7f09f81957
MD5 89f4ebd73fe6d9d19c7b5c5e22df5b6b
BLAKE2b-256 ae65ac04882ef7b6e6e2eec755488c99f2c77c10424fbb4933a212264a53aa27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 7b64b23956996f2caa46ffd7600d1cb693f5afcca77d399b580343622c0d8c74
MD5 76c2c9a626f287945d5d8d8eaf71c7c4
BLAKE2b-256 351b5396a7254f582d4106834927950c7ade58c2559c5a6cc49fbe87611e2686

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 73607d5d228f1914dac5327b878525d20a3d2fbf85c630cf1e911322c556d849
MD5 094b5754306f45309f4abc74c141bfd8
BLAKE2b-256 04bfbfd8713501c8ee771efaed92371d78e120c086d5f84e12da7e5c4c3968cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 4c9ba969021947680668ab6eb417dc6b5e47978cfb0a94d4e89d241c8ad7d521
MD5 df581470c1b59a3b37993f7a0ed7bee3
BLAKE2b-256 ffd3dd31da61bba9841937fa05cb3a02210f6476c50a549b0556e5f8c1b89cc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 77696c03940af30cad1b80ecd7bd0679b0afeb89ab50af0450ae7b6e0cd9a89e
MD5 77ff2ec59150bd9a7ea73c5c4bc07cc0
BLAKE2b-256 219075e16c4fd2bbd6be98e7d26bc268588760d4b765e4fe141f9d63d4bdd501

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 b67dc1e1f59f6a55592fdb934f791e5f8888aa815acd523bd0101b10ecead902
MD5 c88e00002db272052ce0471fbff50635
BLAKE2b-256 fb8dcb1b1aea03d94aaca0208fa464774189f27c4109a5b9adf7d76eae955b95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 ba16d66275898a42b5836f6bbd39f7ab754bddcc9da4c2e1cde0912f05d0425d
MD5 655b796e7134bbf0c2531c5c45c4595c
BLAKE2b-256 3e6009be39725f4570cb0856e6b6e3baef8cbd50426f22823ac996c5b599dd52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.2.1-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 a260e3f3784067e9437c98231ded3f7fa79525aa7db20db5982926ba8bca4c47
MD5 452c01397a8ecc2369aa410082f3b60f
BLAKE2b-256 176b57018ac37c6614c8183c142255055957e5753df85d1754530ad4389fac83

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