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.2.0.tar.gz (183.3 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.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (700.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

latticepts-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (680.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

latticepts-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (261.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

latticepts-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl (262.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

latticepts-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (704.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

latticepts-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (685.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

latticepts-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (261.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

latticepts-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl (263.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

latticepts-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (710.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

latticepts-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (693.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

latticepts-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (261.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

latticepts-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl (262.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

latticepts-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (680.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

latticepts-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (664.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

latticepts-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (261.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

latticepts-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl (263.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

latticepts-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (680.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

latticepts-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (661.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

latticepts-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (262.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

latticepts-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl (263.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for latticepts-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5bace3a9088c5b7ad51f13967f78aaae191f9a2450f1e79932670679cced723a
MD5 79fdf726181391bff0dde757ffc50f43
BLAKE2b-256 3f2f55d5f9e298250d2a495527e4dc582b48c1a98a35a5d02a674c053c1339a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9b02334763b42a6becb49ca18cd9b4a2b9ef599a5ee8aad6cfa9433a67abbb18
MD5 829960ea9fe6d15009a1117638d38c35
BLAKE2b-256 b6ee4cec73416aebe5abbaf037a972d238cd51b8126916eaa50205481e6bf75e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83764aafa7d826a2729d765ef2159312e1d1fb6007adc556754077a4cc9de444
MD5 e079fa063bf28a0f01e7893b23b323d9
BLAKE2b-256 c394b5d657936f977509e3c0abe68d3223cf4c2180cd2adfc0d77e77e3d3e688

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac28f2645604306609cafc426c9dce0a737fcc03a7301bb93627bb048418bd57
MD5 58068678d2d723195c1b849bc675c48a
BLAKE2b-256 4556eb6bf48314bad59d5f6fb8e8127c92bfed3532405a84f44bf2736c567b22

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b8aafe59cd612313d6c66883c058c67f82db9e7dd0135a835bf4b6702ccc4a88
MD5 8ca513c517e7c120ac02b3dbcd488b45
BLAKE2b-256 e04f5209442b6ed85a7b3e57ca47e4bd8d6ac631ebacd0163565e52cef8bde5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b22d050cfe8abe81f88a0c7ccf2a1c39559aaa88591b6c86cf96fcf60a58b071
MD5 eb35f47f0a8f64e9eaee52f21082e057
BLAKE2b-256 bb95f08c9964ec8a6d3b038ff61d23287063f400faa4121dea8642dbc1ece599

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99d855c485bdc2cd7eb2cd0f20fefe0d1bab897bee46121b4aa1f59a5536b41e
MD5 f3cc8dfd1842aa55a7b2f20e73eb9ab6
BLAKE2b-256 6f1119399b5659d76a901b20a769575dcf97a00187fffbf88e6a8dfc4c6dbaa8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a764c0a7bce0cdabe94bb730b7fcb41df5aac89032222391cd86773a71c7cca3
MD5 a76fcada7027c15422b9ea0bbb36943b
BLAKE2b-256 be423184c84d7728669934ca466598451a8fd2c209aa89c39990b60a45e75c40

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8d3bcd7f764dedfa04e8ec57c783c872743e6d012e36a9e8fb6c967d3977bfaa
MD5 668161ae14bc7af3d376095470351c7e
BLAKE2b-256 37a0c2edded0ce4a1d9efa356037d1f41a2ae86e99371d1f2671f5470b7a2939

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a0d1cad337ca56d767792e1c8e1ca11f1dc2da36ada76a11789454d36e88cab0
MD5 14ac1d21e7266ba336f2fbd08afc70d3
BLAKE2b-256 a72b4983d8a67c23ec76c16d9ed214576d9e6b7dbfc09338b4eabc3b9c098c70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d5c58e53e487b07d280dd909c657bac6c0c5e679c0830c078217b1822991cec
MD5 b50a59c3ad20b16ab8ad7f432e7694db
BLAKE2b-256 2167904a0b71e37e3aa3d42db4ea030b2fa3edae63cafedac2a73376c4151e75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4ef5dc5159bc1370537cc105fa1d2debf114cc993224c434c79fa5659c48256
MD5 369f991da58e131c16083389fbd8109b
BLAKE2b-256 361dc62444c84fe6648ea7684a74d98d33dacc17682da6c4ba8a1e2d68763c7f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04ad0681a85161da42e1ef6ead707b5ba58c07ddcaf72431d08ca5a017587941
MD5 e9f6272e8143f518894d4eb81131214f
BLAKE2b-256 f598b99cea2efd93792894d274066583438b79c85a5f1ce1d5d9caaee7e6495b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fecf7b880bc31ac68314d0ad2d512688e3bd596dd0ace0ce83dd3b7c7ddaec7f
MD5 27cfd28fde3506d5c81824a595395d84
BLAKE2b-256 a654edfe498bc8b1027120ba5f4e88e76909d445849192dc7db57f1485da7a80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1eddc0a1e6716dfb729926e433c203dc68d5f53199b2e53b95c2e75243a52ad8
MD5 d50fa0258059ddd9db5063d50f1ccdc6
BLAKE2b-256 70f09348e1e7a50ededdb4c012092a347b9f73d46a64ef4cd136299aa782cddb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f06501559a7508752ec6fb3f251c099ae688834f433c41f595c06bbe1e2146c1
MD5 13aa5bae3926066f74c272d66a2ab104
BLAKE2b-256 d9a88cf71535dd9cbd18c67f738dd75be4e5a00ce72cf87772de90fe8d75c38d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a83f7d7b0e39b8edb7a5b91b64f250571d09ddbc59a93f4d94e7584c7a5f0083
MD5 988ddc2cf30743441c695628bbf6157e
BLAKE2b-256 d98f9d51ced99c762f61dd35edfceba9eeb2b9382eb1aab066930c99489b3118

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0c2162e5ad05123e8f320af5bdade971c8ea09e76363220de645e7c8fecd1420
MD5 5b548a415f366af77b64a9563a35c488
BLAKE2b-256 2426bddef156ff79c0ef6a5a5205ba5ab98e6b52afa0a8f26d036148f5ddf3cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3981c82f49c331e8e38ced803eafdd813d6519923f72fab6f4d43c98f3a61ad5
MD5 0af3a968838963496ff8d4ba170f6c49
BLAKE2b-256 744fc9f78986f0bc3f68742e068ae576fc2d8be978ecaaf7f18e10660b03ba8b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1afa8b5ce6c57ec13a94f2deacc8da6f94eb60539cd2c22a34001fe4ab9b5c7c
MD5 7709cc0d71bcadca8e120733b62a2aa4
BLAKE2b-256 8a20b33506ccd651e095994da4ee46d783d6f43099d2c7567d078e6a26b23c40

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for latticepts-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 99c3751aea7dd33bf89d5289b154b5b846e78efa0e0eb9259f4553a99347d365
MD5 a135a08b55f4e2fea3d8b70022f7cd0d
BLAKE2b-256 db89853de3439a7f517f024fccd8bff83fb2913b19fe97d30570862e9a87c646

See more details on using hashes here.

Provenance

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