Skip to main content

High-performance polytope backends via Rust FFI bindings to howzat

Project description

howzat

User-friendly Python bindings for the Rust crates howzat and howzat-kit via PyO3.

Usage

import numpy as np
import howzat

verts = np.asarray([[0.0, 0.0], [1.0, 0.0], [0.0, 1.0]], dtype=np.float64)

res = howzat.solve(verts)  # cached default backend: "howzat-dd[purify[snap]]:f64[eps[1e-12]]"
# res = howzat.Backend().solve(verts)  # same as above
# res = howzat.Backend("howzat-dd[purify[snap],adj[sparse]]:f64").solve(verts)  # force sparse adjacency graphs

verts_i64 = np.asarray([[0, 0], [1, 0], [0, 1]], dtype=np.int64)
res_exact = howzat.solve_exact(verts_i64)  # cached exact backend: "howzat-dd:gmprat"

print(res.facets, res.ridges)
print(res.facet_adjacency)
print(res.generators)    # numpy.ndarray[float64] (row-major, shape=(n, d+1))
print(res.inequalities)  # numpy.ndarray[float64] (row-major, shape=(m, d+1))

input must be a contiguous (C-order) 2D numpy.ndarray.

  • repr=howzat.Representation.EuclideanVertices (default): input has shape (n, d) (vertex coordinates).
  • repr=howzat.Representation.HomogeneousGenerators: input has shape (n, d+1) (homogeneous generator rows).
  • repr=howzat.Representation.Inequality: input has shape (m, d+1) (H-rep rows (b, a...)).

howzat.solve(...) accepts float64 arrays. howzat.solve_exact(...) accepts int64 arrays or dtype=object arrays containing exact rationals (e.g. fractions.Fraction objects).

Backends

The class howzat.Backend(spec) accepts backend spec strings, which specify the algorithm and parameters of the computation pipeline.

At a high level, the syntax is: KIND[OPTIONS][:SPEC]. Some examples:

  • howzat-dd[purify[snap]]:f64[eps[1e-12]] (default)
  • howzat-dd:f64
  • howzat-dd:f64[eps[1e-12],max]-resolve[gmprat]
  • cddlib:gmprational
  • cddlib+hlbl:f64
  • lrslib+hlbl (defaults to lrslib+hlbl:gmpint)

Backend options ([OPTIONS]) are comma-separated and may include:

  • adj[dense] / adj[sparse]: force dense bitset graphs vs adjacency lists (if supported natively)
  • purify[...]: configure howzat-dd purifiers, e.g. purify[snap] or purify[upsnap[gmprat]]

If adj[...] is omitted and the backend supports both adjacency representations, howzat-kit chooses dense unless the dense bitset representation would exceed 128MiB (for either the vertex graph, or the facet graph upper bound), in which case it chooses sparse.

Supported KIND[:SPEC] forms:

  • cddlib[:f64|gmpfloat|gmprational]
  • cddlib+hlbl[:f64|gmpfloat|gmprational]
  • howzat-dd[:PIPELINE]
  • howzat-lrs[:rug|dashu]
  • lrslib+hlbl[:gmpint]
  • ppl+hlbl[:gmpint]

API

  • howzat.solve(input, repr=Representation.EuclideanVertices) -> SolveResult Convenience function which uses the default backend (howzat-dd[purify[snap]]:f64[eps[1e-12]]).
  • howzat.solve_exact(input, repr=Representation.EuclideanVertices) -> SolveResult Convenience function which uses the default exact backend (howzat-dd:gmprat).
  • howzat.Backend(spec: str | None = None) Loads the specified backend; None selects the default.
  • Backend.solve(input, repr=Representation.EuclideanVertices) -> SolveResult Runs the backend.
  • Backend.solve_exact(input, repr=Representation.EuclideanVertices) -> SolveResult Runs the backend in exact mode (int64); errors if the backend is not exact.

SolveResult

A SolveResult has the fields:

  • spec: str backend spec actually used
  • dimension: int ambient dimension d
  • vertices: int number of vertices n
  • facets: int number of facets
  • ridges: int number of ridges (edges in the facet adjacency / FR graph)
  • total_seconds: float time spent inside the backend (seconds)
  • vertex_positions: list[list[float]] | None vertex coordinates if the backend returned baseline geometry
  • vertex_adjacency: DenseGraph | AdjacencyList vertex adjacency graph (dense or sparse)
  • facets_to_vertices: list[list[int]] for each facet, the incident vertex indices
  • facet_adjacency: DenseGraph | AdjacencyList facet adjacency graph (FR graph; dense or sparse)
  • generators: numpy.ndarray[float64] | list[list[str]] | None
  • inequalities: numpy.ndarray[float64] | list[list[str]] | None
  • fails: int backend-specific failure count (pipeline dependent)
  • fallbacks: int backend-specific fallback count (pipeline dependent)

For exact rational solves (solve_exact(...) with exact backend input), coefficient matrices are returned as list[list[str]] (exact strings).

Both graph types support:

  • node_count() -> int
  • degree(node: int) -> int
  • contains(node: int, neighbor: int) -> bool
  • neighbors(node: int) -> list[int]

Install

From PyPI:

python -m pip install howzat

Force a local source build, and enabling CPU-native codegen:

RUSTFLAGS="-C target-cpu=native" python -m pip install --no-binary howzat howzat

Prebuilt wheels are compiled for a portable baseline CPU (not target-cpu=native).

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

howzat-0.3.9.tar.gz (17.0 MB view details)

Uploaded Source

Built Distributions

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

howzat-0.3.9-cp314-cp314-manylinux_2_34_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

howzat-0.3.9-cp314-cp314-manylinux_2_34_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

howzat-0.3.9-cp314-cp314-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

howzat-0.3.9-cp314-cp314-macosx_10_12_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

howzat-0.3.9-cp313-cp313-manylinux_2_34_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

howzat-0.3.9-cp313-cp313-manylinux_2_34_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

howzat-0.3.9-cp313-cp313-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

howzat-0.3.9-cp313-cp313-macosx_10_12_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

howzat-0.3.9-cp312-cp312-manylinux_2_34_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

howzat-0.3.9-cp312-cp312-manylinux_2_34_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

howzat-0.3.9-cp312-cp312-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

howzat-0.3.9-cp312-cp312-macosx_10_12_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

howzat-0.3.9-cp311-cp311-manylinux_2_34_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

howzat-0.3.9-cp311-cp311-manylinux_2_34_aarch64.whl (7.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

howzat-0.3.9-cp311-cp311-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

howzat-0.3.9-cp311-cp311-macosx_10_12_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

howzat-0.3.9-cp310-cp310-manylinux_2_34_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

howzat-0.3.9-cp310-cp310-manylinux_2_34_aarch64.whl (7.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

howzat-0.3.9-cp310-cp310-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

howzat-0.3.9-cp310-cp310-macosx_10_12_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file howzat-0.3.9.tar.gz.

File metadata

  • Download URL: howzat-0.3.9.tar.gz
  • Upload date:
  • Size: 17.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for howzat-0.3.9.tar.gz
Algorithm Hash digest
SHA256 006a6465811a0f1a0b9629d9fcb8ba226d03195185083b8e4de24fb87a4d0dd5
MD5 9233a4019259c06d5669cb65c79edb09
BLAKE2b-256 f5968ca78a25b2cd5ba659e6158e8e58b53475a609b1fe7472da2e4d1c10b664

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9.tar.gz:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d40ba3546842744fd3e30f2bc961b6a4ec6dc94dedb916b09454714dfc6cd5b1
MD5 c4437a706aa94c2c2d149ff476ca5863
BLAKE2b-256 07081e1c0897eae80e7834561c2c8d2796f464c682e57ca2946a2aadc2bf44b0

See more details on using hashes here.

File details

Details for the file howzat-0.3.9-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 5f545a6c8c7a052cc244652ae5ec15937748836f9c7f0da2e31a46d7a826958e
MD5 95c2b5034cea53b638309f6a81554b35
BLAKE2b-256 d7ae0b9f1635e277abe837806220d3e9c0031fd5f8a49bdad6b8f09787471e44

See more details on using hashes here.

File details

Details for the file howzat-0.3.9-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d24f69ba61a4b91179ab264b5af1286bb014adaa4e09c0e8632bcbde76417a9
MD5 f0382f4a72cd0093bb76731075af0987
BLAKE2b-256 e8f318c6abb47eab789ab194c8c3ba090d182e79a911070829f3a4e05d2a336e

See more details on using hashes here.

File details

Details for the file howzat-0.3.9-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3f1508bfd1541c1d1fdc297f60471d0ec372ea72db51eb0dfd402a8c3002fe39
MD5 4bfd3370eb9576754ae82e192fc457ab
BLAKE2b-256 ff30d40d6a996098db6d658c9f4b6284848f77b72110441390d323d560f1a1c9

See more details on using hashes here.

File details

Details for the file howzat-0.3.9-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5c522a263012cf1090249cdaf323669d2ecc06e3bf4d2eab289fd4309429b537
MD5 01b68de3d6204ef7f0514abe53f50b11
BLAKE2b-256 b636beb6c11f711adc9bdc029873423c7b59dd4ad6bf75a0854f331f49ac377c

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a226d43f635ba735284d89c5504f9a070168129cf7e45eea28cc57ea246a41e1
MD5 922d838a112e9106c6614188cf9282ec
BLAKE2b-256 0fd9c214dd1100d74feb9ac2ebf4174b52bfa0acde685c116cc73174b4f51ba8

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp313-cp313-manylinux_2_34_aarch64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3ed831f16885e63d892ee0feda6421bb3ab83745c4659b2b00bb945cd4132126
MD5 0333f6f0d7fba4feea0e891137780174
BLAKE2b-256 34f63b4da3c66cb875df9001ddc437755b2d9d07af6bedb659a4dda911208d7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7220d43c78279defec35c484d95949c0a58aa725489fb6f114c590455ca8bf0c
MD5 3c8ef41002d31024320961aa0377f384
BLAKE2b-256 755d6fae0dc7c5029f7b3dd52bcc138254563c351aaed327ef0269a0214290cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 448560f72441d1433af3fbe0bb04856e752357cc6bf50eb6a90971046b470d63
MD5 2ce9d2bf58849d96c9945ed6b68e9aa5
BLAKE2b-256 902227b667955a18fa634565b974bce6168d5b84ec10dbcdb94adcb1ac7df3a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 600a9f578b7286544ed331a8d474f4a24c043811f5db6f6aae07d6c29b2299e6
MD5 8872a723af54f1bab788c1748e2c95ab
BLAKE2b-256 09f55772462806807480242ef7845aa5bc9f778de9ba9154b8b23555652ae1c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee5054b130b46d0006b44d6aae0749c8c8e007ca767c92796ec85fb3ee16ac63
MD5 977b0f18c2bb32a2a96afb7f180746d0
BLAKE2b-256 d95f92ff7d11be5463c38be876f433d5130753f9421443621738c504bc4cc27e

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 32914d9b66265cd694aca0643af97d77b29c1a9235b04477a26a4c98578ffafd
MD5 63c28961550c8c54d866ad1d21428fe6
BLAKE2b-256 7e78b1e8923a86ad82c5d0fab7b9a578963f5de8bac6f2c89d37feea2b9e0fa5

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 138a8a3d0596f71f0eeb00fe064ddcce90633fe615f3e0deb5715c97e333d8d4
MD5 5fa60a4bc85391320d48445f11bb5aa9
BLAKE2b-256 383ca2b6b13207c3d5295a9698fcf15f0ffc984e2b1f1382a3d2a9b28e49912d

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 15d0ee50f9f6c329c9b2b0f7b134c965d451ef4c55dfcd861cc8eba6e4f7ebef
MD5 7daaf2396e0008fedb2f7c11f1dc239f
BLAKE2b-256 b41c0a1afe729a0bc6c30872d7104ef20fd49de2c36b2bcf6dafbc2fb364ebaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11f657f2733000bfa24cfa94d96ff0e6fde635cccc2d67b1d9437cf15e8cf1bc
MD5 ac6c8787f97488d7e3f69c74c8b46cee
BLAKE2b-256 a7b35264470b0797d949a2d09da8285c0b268c22f32ec671fdc4f666a50a39a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ae105c57d22d6c5e331ba27cbd911d773e38ff2d2f9652e0cd0a43b2108a4c5b
MD5 103e8f534fdb90f5b2617e8a6b1fe96c
BLAKE2b-256 0acfb778d20bf840595f1d7911941778ac829798adfc375116e369b1ac2b7ae6

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2655a9e63f70d4faf98b5f2c19f73e75c86f6062c356de9586da7556c76e2d7c
MD5 2e8487246cc9e4807d61d3e2d6c04fa9
BLAKE2b-256 f60345ca54ae0477f9558d80e4c461cab4cd1b21580e19d571744b8af8a76243

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ae860aca75c0545ee15b86df9864eb35c8dc7facd4a1cee9b61a05b426de3f74
MD5 580812a224eb8bd304d7bc099ad9620c
BLAKE2b-256 5b7db148fe2c39dd03b0c0999d45b3d8d67ce3e9364d65ec586d0c9d997bfe3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp310-cp310-manylinux_2_34_aarch64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05fce65e001369fdde5775b9544b3d4b156b8a9442a676309af67505fbf18181
MD5 710ceba8fd5e0c81c801db6df22cc3f8
BLAKE2b-256 fa902e2a6a1dc54c5794ef71e8e891c014738ba05dde7b3ad062cd95ef14782f

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi.yml on khoek/howzat

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

File details

Details for the file howzat-0.3.9-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for howzat-0.3.9-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c5b2fc19eeaab3f5d435ac8457ba6acb532723cecfb8bc7f7a6ca18861b4c02a
MD5 a046c323ad19b7c979d8260da4909c85
BLAKE2b-256 12a26ad0e1719ce4ec4f53de5ee3f3c0ec1216cc85f04b53ce4f6c8f2e68eef1

See more details on using hashes here.

Provenance

The following attestation bundles were made for howzat-0.3.9-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: pypi.yml on khoek/howzat

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