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.

Features that haven’t (yet) made it over from Dionysus 1 include vineyards. 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.1.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

dionysus-2.1.0-cp313-cp313-manylinux_2_39_x86_64.whl (666.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

dionysus-2.1.0-cp313-cp313-macosx_15_0_arm64.whl (488.1 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

dionysus-2.1.0-cp312-cp312-manylinux_2_39_x86_64.whl (667.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

dionysus-2.1.0-cp311-cp311-manylinux_2_39_x86_64.whl (664.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

dionysus-2.1.0-cp311-cp311-manylinux_2_34_x86_64.whl (589.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

dionysus-2.1.0-cp311-cp311-macosx_15_0_arm64.whl (488.1 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

File details

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

File metadata

  • Download URL: dionysus-2.1.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for dionysus-2.1.0.tar.gz
Algorithm Hash digest
SHA256 10442b14a7cc9104ae05c4668f73b8d69475b2def4aa63ea0de8830ca838ae1b
MD5 a0582e5be0ac4ee4332e6c4d627bc99c
BLAKE2b-256 a401ae9f6368261c4c0e4cdcff765edbfceb709968fe7e91acae3f26c3b27104

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.0-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 6a1bda6d271cb41b7b8d4aa60fa15a8a2586e05e6482736fdb9bd1b5841eac08
MD5 5f6cc14db747d49c986a371d162cbe1c
BLAKE2b-256 964d46d5784362b23714dff2e416e81fe0c854c0e5c17aa6f184f62dc550f888

See more details on using hashes here.

File details

Details for the file dionysus-2.1.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.1.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 973339842664c4cbf168203dc26751c6b2522a3b20d959c3b162a363c13f7d38
MD5 74439a0f7549e0221405be07f3b22e9e
BLAKE2b-256 3ac14135f5a92c11fc966315f4dd84d1d094a8d59966b92128cce7cc28f22055

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 fec2b38f57b1371adc8ca9c88d33cd51851326cae275f281faee53873a40d273
MD5 87e9c32d7e5bb33e836fe88d850b8cc0
BLAKE2b-256 290facf307f2522a8957db1709a071a76dce56a994741a92894cb69d6c2ca65c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.0-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 cf740fe44c0cf7d21871e115e9f1739776207a16f4d3a8d3e28f4df358bf1b9b
MD5 85b2009f477537a8b028dc08cc596257
BLAKE2b-256 07798c877f3e04088f09a7d2d827949124987316de4852e89d64d777d9998db2

See more details on using hashes here.

File details

Details for the file dionysus-2.1.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dionysus-2.1.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 eb0921a4fbf85166caec43b3dc8100389e2ff98570a367a6ff7a86222eda9522
MD5 c77eb77197ddbaac7628b016783e636a
BLAKE2b-256 a1519610d096aebc372ebd8ebd0fc1bae9663fa359bb9d24bb48627a85804962

See more details on using hashes here.

File details

Details for the file dionysus-2.1.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.1.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bbc3fd7ccf12e11ae3b1f62ae281a027f766cb692cee6b7a4e810c3e4df96070
MD5 3cc67b78a559d056504c32dee7593cfe
BLAKE2b-256 9ddd00f6046e1a5c396585193609ea40fa425bc3b6f5cafd6b7eaf6daf7741b6

See more details on using hashes here.

Supported by

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