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 beating 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 nonzero $\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 latttice 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.

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.

Benchmarks

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

Usage

The primary interface is enum_lattice_points, which handles box sizing automatically. This was designed for the purpose of enumerating lattice points in convex cones, which are unbounded. See the following example of how ro 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

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)

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. This example is of 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                    # the enum_lattice_points wrapper for box_enum
├── tests/
│   ├── conftest.py                      # shared test helpers (pytest)
│   ├── test_box_enum.py                 # tests of box_enum tests
│   ├── test_manwe.py                    # tests relating to 'Manwe' (arXiv:2406.13751)
│   ├── test_enum_lattice_points.py      # tests of 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.3.tar.gz (182.6 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.3-cp313-cp313-musllinux_1_2_x86_64.whl (700.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

latticepts-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (675.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

latticepts-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (260.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

latticepts-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl (261.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

latticepts-0.1.3-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.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (681.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

latticepts-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (261.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

latticepts-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl (262.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

latticepts-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl (708.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

latticepts-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (687.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

latticepts-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (260.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

latticepts-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl (261.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

latticepts-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl (678.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

latticepts-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (658.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

latticepts-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (260.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

latticepts-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl (262.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

latticepts-0.1.3-cp39-cp39-musllinux_1_2_x86_64.whl (677.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

latticepts-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (657.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

latticepts-0.1.3-cp39-cp39-macosx_11_0_arm64.whl (261.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

latticepts-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl (262.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: latticepts-0.1.3.tar.gz
  • Upload date:
  • Size: 182.6 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.3.tar.gz
Algorithm Hash digest
SHA256 19f288537efe755182ff76bd6841edfe9590cb589762798e5cf36e3572e85654
MD5 5e601002750968c7011dfdf39b57fe44
BLAKE2b-256 23083408ececf4ae6edaaa06811bdcc3f4acc05b567d86452a20d3e36117aaf2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1a4e29d3099ef94d747f8dc054108f590feddd069d00d1bbe402ee558e4d7daf
MD5 c5029d8e32967a94deb6177266141060
BLAKE2b-256 6d365af190894ad80dfb48217b6465339106085d3e0d3efe57faf34a7ba8e2a0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e500039c378707225bb20ac7d33e870e6ed8bbfedb7ab92f0f8f942c710b14ec
MD5 3b7a47badd019ada56e2f17252fcc058
BLAKE2b-256 c1bffc333cef56d573173375727d2bb19121b74fcedc9151b8c15a772563919e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e3d2dff5038d12f260120b917139c6faa2860d69b8c580664e74fe068995a351
MD5 570247da8dbc9d2c3fe2156980e83007
BLAKE2b-256 e1a183f6dabb3635a4e9c1e461240eee370147ad49aab9229f504c276bea9e70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 945edab6ae90d4141a669bec6833d147780a09a3705ad3e47d1a3c12846f1622
MD5 fe02e21d59014b25253814e5024ef1b4
BLAKE2b-256 4764b3b4bf9b3532808679af8da321338024e341494b6c85a7fb4a164ded7af6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cf7c2c784f147329717005558a418ca5ce0351e66a74a696e58e80c5ff08c46f
MD5 8daaeb961f44149dd747bcdfcd7ed351
BLAKE2b-256 b5d608e3ac79a9ea713d9cb84181b3ca4fa26219a11995194b344fd87e7d633d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f54fee34b860acd9868728c77fb1d1d56f64fef05693c6303593f2ef1f733dd6
MD5 73485b9524aa54371eb5a808f164ada7
BLAKE2b-256 8879b012c715f0955a997239b802c6902e3e1e54168b6b3ddc251a2fc2ec83e0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6e3907a1b876f02fc3c29182e9e73d69ee90e0959e7479559f3e408d7fc1eb9
MD5 3cfbcfa7ae95ced289511990bd586886
BLAKE2b-256 1f7af44b4b637a34dc6eb004a08f2c0267c02f20c61233ecb4d6ff32c08e0f59

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4b8d641e0b8a74fcee717b05c984e107941de4fb41798ce8d9a69fa743bcf22a
MD5 fc626ecc3cb30e835063f1b7e9b9e999
BLAKE2b-256 7bafbd83b886e51d11b735531544943a64fe29215e6fe498842c1c942de2e061

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ccc475400e68d7889de297c53b9db834849decae60e0fcc983b5330f22814b67
MD5 ce37889e160556d56e13120e0586d43b
BLAKE2b-256 cbd700bb7a7ce78f09a218f582227a6d52740b7ca4ba7a0b9a505f41f647c008

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8e53ea5b3b0b81a01364cb291a8209470d5bde51dbfbb03935141d82a920d09
MD5 49f8ced50238d73cdfdd5b788421610d
BLAKE2b-256 ca4a6e69c3ecec9888fa8e6e7ef3108fc3e6f73fd6b6d6c679088d52d2934bad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c4ac1e6409745c75dc26c78a16e9e87c4db3cb61cbdee964941d22a1a4aea89
MD5 71139c785f2c136833a83e846187af9c
BLAKE2b-256 299a2efa635086da8dae22887c31f422bf112221289de0d8d80b27c0fdfe8450

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cb58d529b558f93875e1a837614c6e712184b35a38784543f5b45d1395613343
MD5 14c1c43326d846af67d6ad058438a36d
BLAKE2b-256 541b47d2a3f8b96421e4cfaced026302b47ea697bf7ccbe2dc60351815b8d4d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 49c68809ad961f9826cf7c72e37913b1d1826f22600906b8607582306303960b
MD5 f165f25625e679b0fa9a778bee6019c5
BLAKE2b-256 68fe7627b7afb19aa8ab9a8ad6fa5f82fe1e5cecd40e30718163af26810c2019

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f769b0e2122ae90f97b22e6678340d3d5e42f4c7cb8192ef17fdc7e0fb9c0ca6
MD5 dd832ab7ab5de397c950d2b217b98572
BLAKE2b-256 4c9c3abab2eb280e06234291aed4e67e2e30ebbe801e3c7940e8f684ce4f4664

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c19111fa44f8bd42c49ae2524087bc6ec0ac01fa97d994dde886c383c75d819
MD5 bf18e678c99095b2d077fb459474d896
BLAKE2b-256 f9a36d20873773a27e9dd48b9488e2d05e38e8794e916df4d721dc9499be2939

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 55f7c45b657841002be822bd5a7153e26e164b91ed0b9c0fb950c8b79c95dbb0
MD5 8b3a774061a0c69b8e3ae83176232569
BLAKE2b-256 4bcf038ffc31cf032f3bc7ef6d2d54c309a983e9eb6f21f5141e9dff07111244

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c7aa6227324b0712c052248ba61f360b5e34f48859508da332ca6206440f26cf
MD5 9e34321d3d82d279eb288bc795c19808
BLAKE2b-256 02d8277b9dad37b620ef151966727c61d10bb141b81a93e255b14d76487bd151

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17116c2366cf8cadc51c648a2185f6418d6d54836b17b034f23fbf27368fa23c
MD5 1967995a370fd31b31b163f7f4f0e2e6
BLAKE2b-256 ff9afe9bebecd3c41c7fe5882c46bc039e6d10242984aed502bc15209038eb54

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d936358f1638f6f9dbd8a008bf63738562d423392f50b7b53ade59b15a1f10c7
MD5 0fabb66f3e35a33886d87775e50aa46f
BLAKE2b-256 b2339a36c81bcdeae2eac76dea5b4c82ddd0787682c5aa16c59db1c2b2e2d608

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 40af8941c6c4c6e5fe5152f343c221aaa39937959879bdc1dbf11b844753545b
MD5 a31b7d3aaeb97eb8e582db8b01c55cdc
BLAKE2b-256 06c0f9c7f8c5bee9de3986bbdae3492d03c524eef71e4bda475c0df74746e5e9

See more details on using hashes here.

Provenance

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