Skip to main content

A software package for enumerating lattice points in convex polyhedra

Project description

latticepts

Nate MacFadden, Liam McAllister Group, Cornell

DOI

Fast lattice point enumeration for convex polyhedra. A C/Cython implementation of Kannan's algorithm, significantly outperforming Normaliz and OR-Tools CP-SAT in speed for certain problems. As one performance example: latticepts generates ~107M lattice points in the strict interior of an example 7D cone ('Manwe') in ~23s. See the benchmarks for benchmarking plots.

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$; 'stretched cones' (e.g., for finding strict interior points) correspond to $\text{rhs} > 0$; polyhedra to general $\text{rhs}$.

Limitations

  • Maximum dimension: 256. For convex cones, latticepts excels at low-dimensions. It can become sluggish in comparison to alternatives at higher-dimensions (well before 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 specific implementation in this repo is for lattice point enumeration 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. If Python is easier to follow, reference/kannan_reference.py is a pedagogical numba.njit port of the same algorithm. The Python port is efficient but has less options than box_enum (scalar rhs only, so cones and stretched cones but not general polyhedra) and is not used at runtime.

A helper method to box_enum is provided in case the user wants $N$ points but doesn't care about box size. One such task here is for enumerating some lattice points in convex cones. In this case, boxes of increasing sizes $B$ are studied until $\geq N$ lattice points are found.

Benchmarks

Convex cones: runtime vs requested number of interior lattice points in a cone (i.e., not on the boundary). The cone studied is the 7D 'Manwe' from https://arxiv.org/abs/2406.13751:

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

Polytopes: runtime to enumerate all contained lattice points for various 4D reflexive polytopes. Size of the polytope is measured by h11 with one polytope per h11 value, h11 = 6..491:

Runtime vs h11 for 4D reflexive polytopes

More polytopes: runtime vs dimension of length-2 hypercubes $[0,2]^{dim}$ for dim = 2..14:

Runtime vs dimension for the length-2 hypercube

Usage

There are two primary interfaces. For unbounded polyhedra (e.g., cones), the focus is on efficiently generating a finite collection of lattice points. This can be done via enum_lattice_points which enumerates all lattice points with components bounded by $|x_i|\leq B$ in the polyhedron. The algorithm increases the size of $B$ until a user-requested number of points is found. See the following example of how to use this to get lattice points in the strict (since $rhs=1$) interior of a convex cone:

import numpy as np
from latticepts import enum_lattice_points

# Find at least 1000 lattice points in {x : H @ x >= rhs}
H   = np.array([[1, 2], [3, -1]], dtype=np.int32)
rhs = 1
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)

box_enum allows direct control over the box size $B$ instead of the number of lattice points. I.e., to 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
# (statuses are also explained in the docstring)

box_enum is well suited to lattice point enumeration in polytopes (assuming an H-representation is known). For example, if one knows a bounding box of the polytope (if you have a V-representation, this is trivial: $B = \max|v_i|$ over all vertices), then the lattice point enumeration can be done as follows. Here's an example of the $h^{1,1}=491$ 4D reflexive polytope:

import numpy as np
from latticepts.box_enum 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                    # the enum_lattice_points wrapper for box_enum
├── tests/
│   ├── conftest.py                      # shared test helpers (pytest)
│   ├── test_box_enum.py                 # tests of box_enum
│   ├── test_manwe.py                    # tests relating to 'Manwe' (arXiv:2406.13751)
│   ├── test_enum_lattice_points.py      # tests of enum_lattice_points
|   └── c/                               # simple C-kernel tests (no Python interface)
├── benchmarks/                          # perf benchmarks; double as usage examples + make the README figures
│   ├── benchmark_box_enum.py            # runtime vs B for the Manwe geometry (h11=491, 7D)
│   ├── benchmark_cytools.py             # runtime vs CYTools' point enumeration
│   ├── 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
├── reference/
│   └── kannan_reference.py              # readable pure-Python (numba.njit) port of the algorithm; not used at runtime
├── docs/                                # README figures (benchmark_*.png)
├── 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.4.tar.gz (183.0 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.4-cp313-cp313-musllinux_1_2_x86_64.whl (700.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

latticepts-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (680.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

latticepts-0.1.4-cp313-cp313-macosx_11_0_arm64.whl (260.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

latticepts-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl (262.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

latticepts-0.1.4-cp312-cp312-musllinux_1_2_x86_64.whl (704.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

latticepts-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (684.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

latticepts-0.1.4-cp312-cp312-macosx_11_0_arm64.whl (261.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

latticepts-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl (263.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

latticepts-0.1.4-cp311-cp311-musllinux_1_2_x86_64.whl (709.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

latticepts-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (693.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

latticepts-0.1.4-cp311-cp311-macosx_11_0_arm64.whl (260.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

latticepts-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl (262.2 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

latticepts-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl (681.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

latticepts-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (663.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

latticepts-0.1.4-cp310-cp310-macosx_11_0_arm64.whl (261.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

latticepts-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl (262.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

latticepts-0.1.4-cp39-cp39-musllinux_1_2_x86_64.whl (679.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

latticepts-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (661.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

latticepts-0.1.4-cp39-cp39-macosx_11_0_arm64.whl (261.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

latticepts-0.1.4-cp39-cp39-macosx_10_9_x86_64.whl (263.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for latticepts-0.1.4.tar.gz
Algorithm Hash digest
SHA256 07370aaf2c0bbea39dc76e809de6245956f1848974424d72f2034def55f83ca2
MD5 0a78b37b378eaf88853df63fefbf2636
BLAKE2b-256 d3108d4f3022817a2d4bca27508a7d7fd181a0131705f69f2be478dba3afcaed

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4.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.4-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5a4c80b70f2814e5933bd6d8cc6b4cd90d5c4868a54af6031572cd67a284ea9a
MD5 4c60010ec894dcb2504d0505f4ca8363
BLAKE2b-256 0041596a273f732fb477ff9890d71f3c57f5d7c3a680cdec3cf52792fb051c6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f4708b9b17588cae9cdc7aa5afad4098155e36761dd4682b716f42dd506e257a
MD5 d0ce82a716cded8407f4defa7fea9c51
BLAKE2b-256 e209800b0e220dd19cbbd667e325a4a7f5ed09155ab40a9477c5a61691b765b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6cd2a9d3e11f283ab50700a5725c18bf39f090da3b347a46a2c190dfcc7c8c86
MD5 3a14bdacf4cff0e860927a983f335a21
BLAKE2b-256 ae2eee4532197b7613581407405ddd33255021191a1c7d74e14f5128debe888f

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e8d04e8e2acc2ad4ab60b929f5ce85153376a1caceb5a13f02ac52d2e9e6a2c0
MD5 cb2966c26e2e9c03846e0709a23c0f6b
BLAKE2b-256 d27d42cc70548c01afdfca17e6e7379f31ce6db755a7e60ef355bbe01ba0065b

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0a26bd9b3c28267ef0d7f53d0260d1739e9bb1750ad67e0f31371b9c5b1eb8e4
MD5 217b8177ba4d68842ec96609621b2ed4
BLAKE2b-256 9e4f47e9f0976d97bc5bd1ef4d053043ee919730299e6fa261de041beaf57f14

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2132ff118987367cadd2941a55d3da265737b80e575cdae4da1d2183a9c35a8
MD5 f03d61ffafc6f50c1f1b1a66f230c270
BLAKE2b-256 cbe0cab70eefae84c1e1ca73296b1d6b990a157ee7ddd7f54fd23f10971f2524

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e4d459d1ab0ebe14167ac36d9e045ad2f229e6f1a93f6fde913431814122264
MD5 8de0e88358542feabd55fdcb7d46e9be
BLAKE2b-256 e5e5ea483d77fdc320052f32d8b7551ac09c4f53f7f5ec74947b89480c0e58c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 159869cc733b9830be7406ae8111d106148d08ab0802d96bc2d7c6d7495a92f4
MD5 f9890929f347a3045edba3795f390503
BLAKE2b-256 4304cb2ad0bfe25a4f67595ec6f60f218bbbbe6caa0a996b666b1469d678042e

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bed9d7bee364f694958942ab493c22cbd1a601c6a38f8891673c9c850f07efe8
MD5 8cfae46b51cabcf0dfb81c64edf3e6b5
BLAKE2b-256 11d8406261cb751d7c59c3c872639a213f3a28c96f1f297050017e3c38efbaf9

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd0eef393b8395d6222305a919a00ae50088f57046af1a58f0330b9eccd0d474
MD5 b52ab4687acfb0236bf7c2fd41eced55
BLAKE2b-256 dc317fb717c567f277a6d2cb55cd44bd43911b293fe0218ebc11b01a7b359740

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 abc6e4399ab2d180c000836b3fb6b119ab27760bbd5e3465190a41632f957c03
MD5 e1afb205297a0140498ca5f02b5e5c9b
BLAKE2b-256 cb4720202b93962c476c4b4c9ca4386aa68a1f9bb138f4d9098d9b84a0c8c98b

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a61d459c80fd63f2fc0fd34dc278db09065819faa9d28d76e72fd012c88e7a54
MD5 0653a6cd8d7b67e3b819a7ebcdeab55d
BLAKE2b-256 eb844401c6125e7aeec04f08da0455d7e3ee70c664101acf51843b1cab02cb71

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9aa4534fbb5ee50d540c282173435e93b8fd16162da56d2079d8d398dcfef663
MD5 52ae1f3424c55e1f7e0931d14cf02e1e
BLAKE2b-256 c09ec1143de56f1db0cdf3bcfc405631c928a48578d66f486b3d8218739a5db7

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0cc5fde5aba533058b270bf4f35144f2e0b925223dd2222f6c27e444706ff42
MD5 afc899b8bc420974123cbcf09921b97b
BLAKE2b-256 d25149e187c3357a76c363f9a169d4e80e0b3696b1f0f3af62013821abfe69d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cfeee60b952ab75be8377920b038fa465dd238f64d5d67c6fef58bea1792f501
MD5 55990cd86b47d531f977fbb5a30bdff4
BLAKE2b-256 2ffa14ac97b5ffd251245cf3acfea7b12f5eeae1190c5fb0ed8aa2641abb8227

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ea9a696a7e2f28655e0a3aeb5bb9538834a8216b3ee54feec6f94f21194e77eb
MD5 ab0798a73c8949573e861377222bb552
BLAKE2b-256 231cb1d2682f0629c1084f97550ec6ff3b135bd9d1e0ce3db5fe4f7be1b93bd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2484d5d73eb0294bd5b99288ab1162d5bd2af4746752ec3e1b6f62c004e6e606
MD5 6773e7a3be967fa73b6f3ec51404703d
BLAKE2b-256 964700ad3ad1d6c4207e4c84a1dd369e64b3ac1373862ee1324a5ae573885eeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11ffbf14155540bc52a5ffb6754c99e24a8870ee0464fe6dff40157f17617751
MD5 03a5040208d0af841b86805787cfdb8a
BLAKE2b-256 bbdc651bca7377f82a7df9774006ce28f9dbaf964300afab38a8b352eba8ba4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4fed89751285ebe6ada720da3cbd4035e3dd9a18fa60c8c0d3dde6b375a75645
MD5 cdf41af1380b0326b10edc4e9f810dd6
BLAKE2b-256 c8fc25162acdcdf80d51d24a5508b7e7c50ae54900c78d03f69608ca7adf0a8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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.4-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for latticepts-0.1.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bc854c5005cf945ff40f2db1f8f9869c8e4053e6cccab52c4909a1a7911cf2d3
MD5 cf02584dfc622196f869ad3c9c4c0645
BLAKE2b-256 cebd0084182934f48ec8891d6a65d24ed2163d9429bbe4234e8055c487d417e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for latticepts-0.1.4-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