Skip to main content

See the documentation for details on requirements, installation, and API usage.

Python Dependencies

  • Eigen version 3.4 or higher
  • pybind11
  • scipy
  • numpy
  • Boost

Python installation and usage

The simplest way to install is:

pip install petls

The next simplest is to clone the repository and run

pip install .

After that, you're all set:

   $ python
   >>> from petls import Rips
   >>> import numpy as np
   >>> points = np.array([[0, 0], [0, 3], [4, 0], [4, 3]])
   >>> complex = Rips(points, max_dim=3)
   >>> complex.spectra(dim=1, a=3, b=4)
   [2.0, 2.0]

C++ installation

First, make and enter the cpp/build directory.

   cd cpp
   mkdir build
   cd build

Next, we make and install the project. If you have root access:

   cmake ..
   sudo make all install

If you do not have root access (e.g. on an HPC):

   cmake -DCMAKE_INSTALL_PREFIX=<location> ..
   make all install

Usually CMAKE_INSTALL_PREFIX is something like ~/custom_libraries/.

For examples of how to include the library, see the examples directory, e.g. examples/basic_cpp/.

Acknowledgements

This work was supported in part by NIH grant R35GM148196, NSF grant DMS-2052983, and MSU Research Foundation.

Citation

If you wish to cite this work, please use the following citation:

@misc{jones2025petlspersistenttopologicallaplacian,
      title={PETLS: PErsistent Topological Laplacian Software}, 
      author={Benjamin Jones and Guo-Wei Wei},
      year={2025},
      eprint={2508.11560},
      archivePrefix={arXiv},
      primaryClass={math.AT},
      url={https://arxiv.org/abs/2508.11560}, 
}

Metadata

Release files for petls 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for petls 1.0.1
File Size Uploaded Provenance Actions
petls-1.0.1.tar.gz 33.4 MB With provenance Details for petls-1.0.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for petls 1.0.1
File Actions
petls-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for petls-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
petls-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for petls-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
petls-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details for petls-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
petls-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details for petls-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl

Total release size: 88.6 MB

Release files / petls-1.0.1.tar.gz

Download URL petls-1.0.1.tar.gz
Size 33.4 MB
Tags Source
SHA-256 checksum
How to use checksums
46a7b2ba942d57ee64924abbcc670abd7e07e3a692d5d58deb8e257c77a59a34
BLAKE2b-256 checksum
How to use checksums
3843c489a558d5e7972e409b180d83663d2601406bea8be8fbc8cdcaa703ca47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / petls-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL petls-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
Size 13.8 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1078de71f2a1ea59d13e937c0a2bbd4ab2258d91c33153f2ef7e5b2b09ddc971
BLAKE2b-256 checksum
How to use checksums
a8c1ed81f95dae4310b6240672cc539ca0d00d9c899c6b03f5706fbf3ca05a7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / petls-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL petls-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
Size 13.8 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
97481f31498780bac87c25063fc0109df6688fc3705622b35b978e15a6775c2f
BLAKE2b-256 checksum
How to use checksums
514f8968c962a2155e23ef9fe79042bd757a2970281e14fbdd59abfbd8bec07f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / petls-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL petls-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 13.8 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b3d842cfd580b896e710ef088abcce2c4634fe1be6aaebdbe44380b3898de2e9
BLAKE2b-256 checksum
How to use checksums
48a5b49144ce08116654beb3246cabf35eda4e7b7af63f8dea302aa44296dea6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / petls-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL petls-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
Size 13.8 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
66f1bef0aebd30ed837fc0812bcfa6dda1f3db54e3eb254a234ba0ab41de4cb8
BLAKE2b-256 checksum
How to use checksums
32b8f3e4e8bf527f200d0bd3726ccb2441aa65b95e2f860463b84938cdf79a4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Security for petls 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for petls-1.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page