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 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.
Metadata
Release files for dionysus 2.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dionysus-2.2.3.tar.gz | 739.8 kB | Details |
Built distributions (wheels)
Total release size: 8.5 MB
Release files / dionysus-2.2.3.tar.gz
| Download URL | dionysus-2.2.3.tar.gz |
|---|---|
| Size | 739.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b115b7867e9dcdfff5ec2ef89c5ca86a4ef5c257a26e8813212e86b5383c4fe0
|
|
BLAKE2b-256 checksum How to use checksums |
2fb0108f941461e9511827b65261f717d3d1c9c3eda224367ef68afe949aee20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp314-cp314-manylinux_2_39_x86_64.whl
| Download URL | dionysus-2.2.3-cp314-cp314-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 868.8 kB |
| Tags | CPython 3.14 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
aff4155ad0c3cc864cef95c7a652c5367fb30f1e0428865f4da9358505cf5bb6
|
|
BLAKE2b-256 checksum How to use checksums |
a6da53be24d8e8b2917f2bc9df9daa3bdef6d97f74b73ea0caba218ee8f4ff05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp314-cp314-macosx_26_0_arm64.whl
| Download URL | dionysus-2.2.3-cp314-cp314-macosx_26_0_arm64.whl |
|---|---|
| Size | 687.5 kB |
| Tags | CPython 3.14 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f082f788c2c68ca9cf07f4d6ecdfb3d3dc22bb917bf9c37fafed968af0a9c0d6
|
|
BLAKE2b-256 checksum How to use checksums |
ced17a133ff2085f39bb63f41ca02b9d4137998fa388f0fdaba041d17e0a5cba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp313-cp313-manylinux_2_39_x86_64.whl
| Download URL | dionysus-2.2.3-cp313-cp313-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 868.2 kB |
| Tags | CPython 3.13 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
5bc660a428c458819ade20dc889c8519efdbadaebf3272f793b3f5b5dc10f7a4
|
|
BLAKE2b-256 checksum How to use checksums |
683cecef678637f787d9b82679d3d0176447bfbf03e2e16529265f8f4359f1ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp313-cp313-macosx_26_0_arm64.whl
| Download URL | dionysus-2.2.3-cp313-cp313-macosx_26_0_arm64.whl |
|---|---|
| Size | 686.2 kB |
| Tags | CPython 3.13 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
73b3095046d1a9eeeea19b478b93d6431cd475e19dd81bdcbdfaebeab82a51e3
|
|
BLAKE2b-256 checksum How to use checksums |
f9053917bc39c66fdf4bb915d0fbe37397414574c6b0729173ea123f84fa175a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp312-cp312-manylinux_2_39_x86_64.whl
| Download URL | dionysus-2.2.3-cp312-cp312-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 868.1 kB |
| Tags | CPython 3.12 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
fc17ccb475f1161f31906927bfded906f166e4e6c237c3173f8bf006c0797ec9
|
|
BLAKE2b-256 checksum How to use checksums |
cb85cb88f8e8dd860eda72cad87ebcc5f6b9cfa0da739f02586f0875550a4e4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp312-cp312-macosx_26_0_arm64.whl
| Download URL | dionysus-2.2.3-cp312-cp312-macosx_26_0_arm64.whl |
|---|---|
| Size | 686.2 kB |
| Tags | CPython 3.12 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4e8c885ffd7c3a62ba009e07f1aadb56d2efeb5b88998d2e4c080653343c4010
|
|
BLAKE2b-256 checksum How to use checksums |
d6d21022014bb86adcbcce193ae7f25777f921570b9dd9fe4af3eba095692da1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp311-cp311-manylinux_2_39_x86_64.whl
| Download URL | dionysus-2.2.3-cp311-cp311-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 862.5 kB |
| Tags | CPython 3.11 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
fce3a9830490ed6b9bcfbd924ca26de6e22dd09e562a26bbe68d3c3bd1409bd3
|
|
BLAKE2b-256 checksum How to use checksums |
39d86921d70eda767aa069f69c0d18d9187638b0a0e3822dfef63939f1a684ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp311-cp311-macosx_26_0_arm64.whl
| Download URL | dionysus-2.2.3-cp311-cp311-macosx_26_0_arm64.whl |
|---|---|
| Size | 684.0 kB |
| Tags | CPython 3.11 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a5cbfd5ef6a5730f21ccd641b1d5c4980e471f747be01a691edfb467e816c504
|
|
BLAKE2b-256 checksum How to use checksums |
d968c281705568099a48d21989849a3042867a54c67aa963e827778a6e14c0f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp310-cp310-manylinux_2_39_x86_64.whl
| Download URL | dionysus-2.2.3-cp310-cp310-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 862.4 kB |
| Tags | CPython 3.10 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
98b9f82c7ddb3794e015307d0ed40b2ded1e5f26f5027fd95bd2071307978334
|
|
BLAKE2b-256 checksum How to use checksums |
4d22f70bff7d188ef6a3dbfb10125a6add070ca6607af63b112ca59fdaccdb77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / dionysus-2.2.3-cp310-cp310-macosx_26_0_arm64.whl
| Download URL | dionysus-2.2.3-cp310-cp310-macosx_26_0_arm64.whl |
|---|---|
| Size | 682.9 kB |
| Tags | CPython 3.10 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
216fcdaf26fa775fc5c4bb74f2a96050ed75e1ffd92032c6dfe183d86e2ba13d
|
|
BLAKE2b-256 checksum How to use checksums |
8b9f809895384ad8e03d2e7ef4a8af6eb0a21fee6e87dfc106f35a86c0c93bc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|