Skip to main content

A software package for enumerating lattice points in convex polyhedra

Project description

latticepts

Nate MacFadden, Liam McAllister Group, Cornell

DOI

Efficient lattice point enumeration for convex polyhedra, via a C/Cython implementation of Kannan's algorithm. Originally built for finding lattice points in the strict interior of convex cones.

Convex cones: runtime vs requested number of interior lattice points (geometry 'Manwe', h11=491, 7D, https://arxiv.org/abs/2406.13751):

Runtime vs N on the Manwe example: latticepts outperforms PyNormaliz and OR-Tools CP-SAT

Polytopes: runtime vs size of 4D reflexive polytope (measured by h11, one polytope per h11 value, h11 = 6..491):

Runtime vs h11 for 4D reflexive polytopes

More polytopes: runtime vs dimension of length-2 hypercubes (dim = 2..14; x-axis is $3^{\text{dim}}$):

Runtime vs dimension for the length-2 hypercube

Citation

If you use latticepts in your research, please cite it:

@software{latticepts,
  author  = {MacFadden, Nate},
  title   = {latticepts},
  doi     = {10.5281/zenodo.19406651},
  url     = {https://github.com/natemacfadden/latticepts},
  orcid   = {0000-0002-8481-3724},
}

Description

More explicitly, latticepts enumerates lattice points

$$ \{x\in\mathbb{Z}^{\text{dim}}: Hx\geq\text{rhs}\} $$

for $H\in\mathbb{Z}^{N_\text{hyps}\times\text{dim}}$ and $\text{rhs}\in\mathbb{Z}^{N_\text{hyps}}$. Here each row of $H$ is an inward-facing facet normal and the corresponding entry of $\text{rhs}$ is its offset. Cones correspond to $\text{rhs}=0$; polyhedra to nonzero $\text{rhs}$ (or, with 'stretching', $\text{rhs} > 0$).

Limitations

  • Maximum dimension: 256 (returns an error if dim > 256)
  • Windows is not supported: the C kernel uses C99 variable-length arrays, which MSVC does not support

Installation

pip install -e .

Requires a C compiler and Cython. NumPy must be installed first.

Algorithm Notes

This repo contains a Cython wrapper of a C implementation of Kannan's algorithm. See this webpage for some other relevant work (not by me). The core algorithm in this repo enumerates lattice points in square boxes $|x_i|\leq B$ for $B\geq 1$. I.e.,

$$ \{x\in\mathbb{Z}^{\text{dim}}: Hx\geq\text{rhs} \text{ and } |x|_\infty \leq B\}. $$

It is a short algorithm, only $\leq 350$ lines - I encourage you to read it.

A helper method is provided in case the user wants $N$ points but doesn't care about box size. In this case, boxes of increasing sizes are studied until $\geq N$ lattice points are found.

Usage

The primary interface is enum_lattice_points, which handles box sizing automatically. For example, applying enum_lattice_points to lattice points in the strict interior of a convex cone:

import numpy as np
from latticepts import enum_lattice_points

H   = np.array([[1, 2], [3, -1]], dtype=np.int32)
rhs = 1

# Find at least 1000 lattice points in {x : H @ x >= rhs}
pts = enum_lattice_points(H=H, rhs=rhs, min_N_pts=1000)

# Optionally restrict to primitive vectors (GCD = 1)
pts = enum_lattice_points(H=H, rhs=rhs, min_N_pts=1000, primitive=True)

For direct control over the box size, box_enum allows you to set the box size. I.e., enumerate all lattice points in $\{x: Hx \geq \text{rhs},\ |x|_\infty \leq B\}$:

from latticepts import box_enum

pts, status, N_nodes = box_enum(B=5, H=H, rhs=rhs, max_N_out=10_000)
# status: 0 = success, -1 = dim>256, -2 = hit max_N_out, -3 = hit max_N_nodes

These methods directly apply to polytopes if an H-representation is known. In such a use-case, box_enum is more applicable (enum_lattice_points is more so designed for unbounded polyhedra). If the V-representation is also known, a bounding box is trivially obtained as $B = \max|v_i|$ over all vertices. For example, the $h^{1,1}=491$ 4D reflexive polytope:

import numpy as np
from latticepts import box_enum

H   = np.array([[ 1,   0,   0,   0],
                [-15,  8,   6,   1],
                [-15,  8,   6,  -1],
                [ -1,  1,  -1,   0],
                [  0, -1,   0,   0]], dtype=np.int32)
rhs = np.array([-1, -1, -1, -1, -1], dtype=np.int32)
# has bounding box B = max(|vertices|) = 42 (basis-dependent)
B   = 42

# one can then get the lattice points via:
pts, status, N_nodes = box_enum(B=B, H=H, rhs=rhs, max_N_out=10_000)

Organization

latticepts/
├── latticepts/
│   ├── box_enum.h               # STB-style library for the Kannan enumeration
|   ├── box_enum.pyx             # Cython wrapper
|   └── latticepts.py              # a wrapper for box_enum, increasing box size until N points are found
├── tests/
│   ├── conftest.py                      # shared test helpers (pytest)
│   ├── test_box_enum.py                 # generic tests
│   ├── test_manwe.py                    # tests relating to 'Manwe' (arXiv:2406.13751)
│   ├── test_enum_lattice_points.py      # tests for enum_lattice_points
│   ├── benchmark_box_enum.py            # runtime vs B for the Manwe geometry (h11=491, 7D)
│   ├── benchmark_enum_lattice_points.py # runtime vs requested N for the Manwe cone (h11=491, 7D)
│   ├── benchmark_polytopes.py           # runtime vs h11 for 4D reflexive polytopes; runtime vs dimension for hypercubes
│   ├── benchmark_narrowness.py          # runtime vs narrowness for a 4D convex cone
|   └── c/                               # simple C-kernel tests (no Python interface)
├── pyproject.toml
└── setup.py

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

latticepts-0.1.2.tar.gz (180.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

latticepts-0.1.2-cp313-cp313-musllinux_1_2_x86_64.whl (697.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

latticepts-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (673.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

latticepts-0.1.2-cp313-cp313-macosx_11_0_arm64.whl (258.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

latticepts-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl (259.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

latticepts-0.1.2-cp312-cp312-musllinux_1_2_x86_64.whl (701.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

latticepts-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (678.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

latticepts-0.1.2-cp312-cp312-macosx_11_0_arm64.whl (258.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

latticepts-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl (260.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

latticepts-0.1.2-cp311-cp311-musllinux_1_2_x86_64.whl (706.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

latticepts-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (685.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

latticepts-0.1.2-cp311-cp311-macosx_11_0_arm64.whl (258.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

latticepts-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl (259.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

latticepts-0.1.2-cp310-cp310-musllinux_1_2_x86_64.whl (675.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

latticepts-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (656.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

latticepts-0.1.2-cp310-cp310-macosx_11_0_arm64.whl (258.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

latticepts-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl (260.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

latticepts-0.1.2-cp39-cp39-musllinux_1_2_x86_64.whl (675.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

latticepts-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (655.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

latticepts-0.1.2-cp39-cp39-macosx_11_0_arm64.whl (259.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

latticepts-0.1.2-cp39-cp39-macosx_10_9_x86_64.whl (260.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file latticepts-0.1.2.tar.gz.

File metadata

  • Download URL: latticepts-0.1.2.tar.gz
  • Upload date:
  • Size: 180.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for latticepts-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9818c26c66760082a4f49b3b6365fc6e8da4f9f8a6ab88453c1f17f1a6dcd1ee
MD5 fa2a0628d2904e4c1caf28b0d54e8c6a
BLAKE2b-256 bd0cdb353ec1ea64d3dad383ae678235b83d7006e89498d0b8ccf65c7a4355b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2.tar.gz:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9636481b1955a5f56d4e480d825a11ef35949888205ee74c8398e355cf929da1
MD5 aa6615b14d6174a925bc7e440902306c
BLAKE2b-256 72aa169d2154d65425b4da78ea66a308e0cafb42b81d2f6d064c8eb5e9b24dae

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b805d2b4270ac7715195b9cf1d12317da130fd7ee04f15234e3d41d4ca6781d
MD5 f10ae07d97e0db465f579eeeb82dc9b0
BLAKE2b-256 5abb5cfb879c87f42698c21099e91b27c9fd0c1fb65a8685e93ccfaf80aca1c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69e9c6676c084314174ad28ff8a1895b58c644a22234906ab3f376a77bafd35e
MD5 3b6c26c3aa1ac23a17de4f07f1346231
BLAKE2b-256 03032f086d84a39419689e4dede43c5044d127b7171560b21db41c858da11747

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f07c565332865eb1ea3a10b0c0dde5ee938761e18b9f87c8941ea7e4c2fdb2d8
MD5 0d42cfda7a7aafff61b6bd2329d5503c
BLAKE2b-256 ead7ebdb501894ac0225af1129fcc24ed00b53fe185a7194cb816150b06a0c55

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6a2138111f56f1e99d2c3afbc24df6ff899e106a0d2d1270796f35a000047521
MD5 64c0dfaee6b758066209ac6b207b5aa9
BLAKE2b-256 06ae0af75338f51243152568e0ccf6e283231667bb359089c0e4489f3b7b4e7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9060aa97eda1d66b6787fbc90b539eab7287fdccaf13ea84463596fe1c64b08
MD5 06700e167a46020edb3dd54e84db6dcf
BLAKE2b-256 7cc963f50bb6321146102f09713a0851f108593cc916a4af6509acf0980ce461

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ea3f081630df4823ffb5b5a50a23b70d6823ed11864da3126351ad07ec9fc2f3
MD5 11fd0136e3a89de2ff33423c93f26e7d
BLAKE2b-256 8e801f7949cb3f487d11aa166148314bdff318812500d312a9aca407ccd1fe9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 798c5636908e21cdf97e7feda5b55c00607aa50e222f205b8f80f8e74a0f721b
MD5 cbd987b54c89cfdd7046b4c4019a8454
BLAKE2b-256 df2f6cad4e1446eda4633e6ea75a5354b3d8efded8eb2604fc4a3ff21858deda

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3fc03a989b88dcaa0372191b7bcd04a1bc0cb5dd4b91831a70f773a43db78484
MD5 0bc0352293d204132a4f1a4de7acc42c
BLAKE2b-256 caddb5bf84717590cb04a1bc70c7c90e87e3e5bef33987c90fae1527dda09e0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc77b96cf13630966281be151843987ec53b7c453bb1a2f9c55225d7e59e3cd2
MD5 9cf16cd393df3eb30f5573da4e2c6044
BLAKE2b-256 d319198f9eac80fcb1b10eacf5f5b6d46b880c78ffe23653969afc3e8d42d5c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65df71b88c45d946ce353c8194274d8c6ba1745c551f4703498b2786f167ba1d
MD5 792cbab90b1c10734926904dd4047356
BLAKE2b-256 563f408519e56ced3f7eb55ab4c34e54c38d447ca8708447192e7d5434a556ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e613c64a07b1b9bb6d373a290d7e65c4ede14ccf835851e2d3e2f544e0b1af6
MD5 58d095c414f768eb342092a318a02cab
BLAKE2b-256 66c0812555409c18bb0141df5bcfddf9fd02d4229f22ec5e008d79a9a77c6322

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c83f05c26a24d8045b77a6d77408c5fd9bb461481f339ccbd556398370e7aadf
MD5 6cd15860737c945dc5a5eeead97239d8
BLAKE2b-256 2fbf4234dafdedab60a1b26ca7ac00bfcdf22d32eb45084a4cfca6d65cd1b28f

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0c2bc7876da5cb4d3602cd26e713ca3e3a000dca587c1347779b2a5afd3a03a
MD5 46cb6c2312b6b31680801cd92e7e600d
BLAKE2b-256 a7acdda020fb9460ad32887db90c62c264428be93b53838219ade4e0287dfe13

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb76e6715151db5920e857417c8ee18acdefdf4e6bd20f94f69295690293f657
MD5 0eaa14bf1b946c856e6dc63b2e0eb004
BLAKE2b-256 07dd90d3cc00d4cee068dd9e3d46311094bcec6d15e276013576ac0e097b7cab

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 50d95e166a569de12355f5df9e6929a034b8c7c514b3b9a74d319e751a6535c8
MD5 974dcd6cf3c9a58212516cdacf35ff0c
BLAKE2b-256 ee045709862e9139f91984062c991d6bb8d0b504803a00f06fa32165496588e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6e3a5c19b9cf7716a2b439e0a5d6e1a36eff07868ced1d66e037dc423e918fa5
MD5 9673c88b569c95b5dfd36684f7330804
BLAKE2b-256 dac68afb36468f70b773ec9d54333b48f02b1865709928c318e21cfcb8e47283

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 caa0e91c26b0428007a1dd4cf8ea4e7fb9101bc5606facf6e950b0757bdbb5eb
MD5 c4692bdc37741a624f96fd10061aae27
BLAKE2b-256 67dff047d2cc081bc8bb02f1b6c14269770edaee29f2be8061ae95c944eceb7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c46f7be1fd8dd81209091aa7e2ab800ed3dfe44c83c35caf5edfaf5f07c0ac39
MD5 877f6f3a50b121871dcf542a91deffb7
BLAKE2b-256 b14a89710ede5ce40e4814c74eb89d340284451f7f3306828de9368ad4ef8c45

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latticepts-0.1.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 af75e6c3b84c4362990b2531a92c9491cda053208a9b83ff59467862eb385b9b
MD5 f66c82759a36f64815e589ef1b1c76db
BLAKE2b-256 1d1d19e1da7d05e1739ce45ee566d6a59bea7b97170299c5a9ebf8ed35695e2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.2-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: deploy.yml on natemacfadden/latticepts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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