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.8.tar.gz (768.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.1.8-cp314-cp314-manylinux_2_39_x86_64.whl (669.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

dionysus-2.1.8-cp314-cp314-macosx_15_0_arm64.whl (503.1 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

dionysus-2.1.8-cp313-cp313-manylinux_2_39_x86_64.whl (668.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

dionysus-2.1.8-cp313-cp313-macosx_15_0_arm64.whl (501.5 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

dionysus-2.1.8-cp312-cp312-manylinux_2_39_x86_64.whl (668.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

dionysus-2.1.8-cp312-cp312-macosx_15_0_arm64.whl (501.4 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

dionysus-2.1.8-cp311-cp311-manylinux_2_39_x86_64.whl (657.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

dionysus-2.1.8-cp311-cp311-macosx_15_0_arm64.whl (499.9 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

dionysus-2.1.8-cp310-cp310-manylinux_2_39_x86_64.whl (657.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

dionysus-2.1.8-cp310-cp310-macosx_15_0_arm64.whl (498.9 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

dionysus-2.1.8-cp39-cp39-manylinux_2_39_x86_64.whl (657.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

dionysus-2.1.8-cp39-cp39-macosx_15_0_arm64.whl (498.9 kB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dionysus-2.1.8.tar.gz
Algorithm Hash digest
SHA256 bfb17626b6a185dc0f1e058de8087937f52bf09a3e7823798c47fd87e3aed42d
MD5 b00c6f55dfd8450f0d31d8c456f59075
BLAKE2b-256 15b638c32a2ef5de0596296f885f853923e60386fd48e3e255bb7fcc73f76aa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.8-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 bb9976f91748ce7acc2d05d421fbb8b384d8405b136767136035ecd5c5671b7b
MD5 f7a9de09a81da90b7c1486146c351a40
BLAKE2b-256 9b8f770e5fd26d8d0dade5bd82ddc548a80939bff99a3f767d0739460bb130c1

See more details on using hashes here.

File details

Details for the file dionysus-2.1.8-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.1.8-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 f829e998ca13b3e6315061debfd530981b3d97681361fd9a0d8fec10b028d1aa
MD5 6dfc9253cbc6690c8080d2ef0e6092e1
BLAKE2b-256 f76cd613ed8ad3a4a5309354ab423b8e2ec010e400ecb1eb0d9134b338d34abd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.8-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e9e5b46c2d383d30d64b4033d637509e63e98492f495232224f72be7f31a4651
MD5 001e1b5c0d69946efe947647c73d35f4
BLAKE2b-256 18e5405bcd9216972a7cb73455f2c1add9f4feb5a56fd6ad7be2466269f7a7ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.8-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8a4af24e8524d61df505e86b5daae65940b9f16618734267fe93c2313af9b05c
MD5 29d9f89fcdeb11b97b6e7d5791dc3a60
BLAKE2b-256 c9b96cd28bc8356e3a268faa7b89d2c1f087b81c9c3bd39aac24bde6e09f6096

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.8-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 32f921c8d0e6b5cb74a93f4656dfad00df60e32e5ab47dfb22ea54a0f173fa9c
MD5 b740d58d59918f3567410db75d9e7650
BLAKE2b-256 3e6777da31ca8e1410f7e67dc92a342de29faa07e1ef412fb8651850aec11db4

See more details on using hashes here.

File details

Details for the file dionysus-2.1.8-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.1.8-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 3cd953d44426a37cee7c15e33e10d226c15b3f361af1403ae5d9234d58a62d83
MD5 8b8e5efd452010c8fe25a290f16b9104
BLAKE2b-256 aa1991a303c0d889590453f543b3546533980f2d4bf0f3f5c4fe5a048d3e18f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.8-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 6a25c41af6ef5e058dff358dbd1b8d8affd0cb4a91056956caa95c49df3d2692
MD5 fae36026cae3e5c3f954c367ae67bf31
BLAKE2b-256 96556c795dc24226fd9c39e1cf6b35e8e2f6d5db22e4b2ff46ba1ec960484ae0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.8-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4604b900511d01777e5b704de5bf47d79486e00a59ed7b5e51b9a3c4e782a3ea
MD5 ad8dd8dc7c294074bad231b8f4eda3b3
BLAKE2b-256 69a05ec7b39b104245ab0c55b4ec0347accb09f901a51651035d5a9e07c3de70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dionysus-2.1.8-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 5edec9596cd0d978f8495ad9b3b33c210cf951367446f919e7b0f7d09eaf9a91
MD5 c8c3fd8208d5eea85b01f0473d7ae8e2
BLAKE2b-256 dc0de96620f9ea0dbbafd32795fbed4ce18326620c69793562770c351ef177ea

See more details on using hashes here.

File details

Details for the file dionysus-2.1.8-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.1.8-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 f4fb2c4e1943d0c4f54ab3350fb8f41098dbc88ac05c81a8c798350884efbe2e
MD5 19ef08f1ed57544bed20c9f9e11109a5
BLAKE2b-256 4fab1fd1c943f7234f7bc46ae6ea02f5582f5da53ed95b7ec95b8976a0fd73a7

See more details on using hashes here.

File details

Details for the file dionysus-2.1.8-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dionysus-2.1.8-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 7c75f12eb233a7a2962303d6118f37fb8ecaa5635e2669c6cea7c4052e8742f5
MD5 0fa26108b1681e4a9199458453e5decd
BLAKE2b-256 4c245e29a59fba07a8a3b7f724013c767072d467b2f81381de562e432b56c8f8

See more details on using hashes here.

File details

Details for the file dionysus-2.1.8-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dionysus-2.1.8-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 5482b428e4a8791cefcbe01a8417c08e94cde4fc559edc96413c785afff7da19
MD5 d1b85f095de1ddfd1af9a67ee0d42b33
BLAKE2b-256 03a36a11f29adf5f935623bf3ebbc021f69b5941b95917ce17267be9b5733240

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