Skip to main content

wkp (Python binding)

Python package with a minimal Shapely-first API on top of WKP core geometry-frame C ABI.

Architecture

  • Uses nanobind for the extension module
  • Calls the C ABI in core/include/wkp/core.h directly
  • Python package version is managed independently
  • Runtime compatibility check enforces WKP core

Dependencies

  • Python >= 3.8
  • build: setuptools, wheel, nanobind
  • runtime: numpy, shapely
  • dev/test: pytest, build, twine, polyline

Install (editable dev)

From repo root:

pip install -e bindings/python[dev]

Build

python -m build bindings/python

Test

pytest bindings/python/tests

API

Geometry encode / decode

encode(geom, precision, *, ctx=None) -> bytes
decode(encoded, *, ctx=None) -> DecodedGeometry
decode_header(encoded) -> (version, precision, dimensions, geometry_type)

GeometryFrame — low-level flat representation

decode_frame(encoded, *, ctx=None) -> GeometryFrame
encode_frame(frame, *, ctx=None) -> bytes

GeometryFrame fields: version, precision, dimensions, geometry_type, coords (numpy float64 array, shape (n_points, dimensions)), segment_point_counts, group_segment_counts.

Methods: to_geometry() -> Shapely geometry, to_buffer() -> bytes, GeometryFrame.from_buffer(buf) -> GeometryFrame.

Float helpers

encode_floats(floats, precisions, *, ctx=None) -> bytes
decode_floats_array(encoded, precisions, *, ctx=None) -> np.ndarray  # flat (N*dims,) float64
decode_floats(encoded, precisions, *, ctx=None) -> np.ndarray        # shaped (N, dims) float64

decode_floats_array returns a flat 1D float64 array of interleaved values [x0, y0, x1, y1, ...] — a single allocation with no reshape. Use arr.tobytes() to treat it as a raw byte buffer for shipping over sockets or shared memory.

decode_floats wraps decode_floats_array and returns a (N, dims) 2D view (zero-copy reshape). Use .tolist() on the result if you need plain Python lists.

Context

Context()

A Context owns a reusable native C buffer pool. Buffers grow to fit the largest geometry processed, then stay allocated and get reused on subsequent calls — avoiding repeated allocations.

Thread-local (default) — one context per thread, created lazily, lives for the thread's lifetime:

encoded = encode(geom, precision)   # ctx=None uses the thread-local pool
decoded = decode(encoded)

Explicit reuse — create one context and pass it to a batch of calls; the pool is freed when the object is garbage-collected or explicitly deleted:

ctx = wkp.Context()
for geom in large_collection:
    encoded = encode(geom, precision, ctx=ctx)
    ...
del ctx  # releases native buffers immediately

Per-call (no persistent memory) — create a fresh context for each call; buffers are freed as soon as the call returns:

encoded = encode(geom, precision, ctx=wkp.Context())

This costs one allocation/free per call but guarantees no native memory persists between calls — useful when peak RSS matters more than throughput.

Example

from shapely.geometry import LineString
from wkp import decode, decode_frame, encode

geom = LineString([
    (174.776, -41.289),
    (174.777, -41.290),
    (174.778, -41.291),
])

encoded = encode(geom, precision=6)
decoded = decode(encoded)

print(encoded)
print(decoded.geometry.wkt)

# Access the flat frame directly (useful for numpy / bulk processing)
frame = decode_frame(encoded)
print(frame.coords)          # numpy float64 array, shape (3, 2)
buf = frame.to_buffer()      # compact binary blob
frame2 = frame.from_buffer(buf)  # round-trip

Benchmark

Full geometry encode/decode comparison against Shapely WKB/WKT:

python bindings/python/benchmark/benchmark.py --linestring-points=10000 --precisions=5 --max-iterations=1000 --max-duration=1

Flat-array API micro-benchmark (encode/decode/decode_frame/decode_floats_array):

python bindings/python/benchmark/bench_flat_api.py
python bindings/python/benchmark/bench_flat_api.py --points=50000 --iterations=200

Example results:

Method Source kb Encode (ms) Decode (ms) Total (ms) Iters
shapely_wkb nz-coast 156.3 0.50 ± 0.04 0.10 ± 0.02 0.60 ± 0.05 2000
shapely_wkt nz-coast 379.7 1.88 ± 0.09 5.09 ± 0.18 6.96 ± 0.21 721
shapely_wkt_5dp nz-coast 202.8 1.30 ± 0.08 2.71 ± 0.16 4.01 ± 0.18 1128
wkp-5p-bytes nz-coast 42.9 0.23 ± 0.03 0.15 ± 0.03 0.39 ± 0.04 2000
wkp-5p-str nz-coast 42.9 0.24 ± 0.03 0.15 ± 0.03 0.39 ± 0.04 2000
shapely_wkb random 156.3 0.50 ± 0.04 0.10 ± 0.02 0.60 ± 0.05 2000
shapely_wkt random 378.4 1.86 ± 0.28 5.09 ± 0.20 6.89 ± 0.21 724
shapely_wkt_5dp random 163.9 1.38 ± 0.08 2.77 ± 0.14 4.15 ± 0.18 1073
wkp-5p-bytes random 72.2 0.31 ± 0.10 0.19 ± 0.02 0.50 ± 0.10 2000
wkp-5p-str random 72.2 0.28 ± 0.03 0.18 ± 0.02 0.46 ± 0.04 2000

Packaging / release

  • Wheels are built in .github/workflows/python.yml using cibuildwheel.
  • Release/publish runs from tag pushes or workflow_dispatch in .github/workflows/python.yml.
  • Tag publish (recommended): push a tag in the exact format pypi-vX.Y.Z (for example pypi-v0.1.0).
  • Publish order is always TestPyPI first, then PyPI.
  • Python releases are binding-specific. Product-level GitHub releases use the separate wkp-vX.Y.Z tag flow.

Manual publish from GitHub

  1. Open Actions -> Build and upload to PyPI.
  2. Run workflow dispatch.
  3. The workflow publishes to TestPyPI and then PyPI automatically.

If you only publish via git tags, manual dispatch is optional and can be removed.

Metadata

Release files for wkp 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for wkp 0.5.0
File
wkp-0.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
wkp-0.5.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
wkp-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
wkp-0.5.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
wkp-0.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
wkp-0.5.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
wkp-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
wkp-0.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
wkp-0.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
wkp-0.5.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
wkp-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
wkp-0.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
wkp-0.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
wkp-0.5.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
wkp-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
wkp-0.5.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
wkp-0.5.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
wkp-0.5.0-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
wkp-0.5.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
wkp-0.5.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 5.6 MB

Release files / wkp-0.5.0-cp313-cp313-win_amd64.whl

Download URL wkp-0.5.0-cp313-cp313-win_amd64.whl
Size 79.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c25af639f11a26c717a2a9edffba85fbf7e7a804c4ddb91a1dcee3df4d5c9df6
BLAKE2b-256 checksum
How to use checksums
b909d66f5492abcab6df5093c07d662d121411b97350c8d948237671d9173990
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp313-cp313-win32.whl

Download URL wkp-0.5.0-cp313-cp313-win32.whl
Size 73.0 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
0649015a56f09984a5d38b7cc066c35c4eced1f9e2621e775b4cc407d99cbef7
BLAKE2b-256 checksum
How to use checksums
07115c6a5ed1c5203484cee9e4efa410d4790b757cb51d5c1ac3666dc94dad5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wkp-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 864.5 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
abfeedf18869dc3b4105dbfd221e4fdb2bc18f62333095e4272509e7db3a02a7
BLAKE2b-256 checksum
How to use checksums
9012fe0cfcd08f6330d54f00c00531d4b4128209dd0e530284a7d1b07a8413ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL wkp-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 106.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
88f0355fbaea6a4ace129715a332f858fc359615a4fe04ae1f3d75d622b1d203
BLAKE2b-256 checksum
How to use checksums
faaa294735a57d5057f9c4a9d63d8f2f2c7880a525d5793bd6129a5e0bd98d04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp312-cp312-win_amd64.whl

Download URL wkp-0.5.0-cp312-cp312-win_amd64.whl
Size 79.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
582850dab7ce3ba005062870b59a963d8373453e93f1e6f4db196a8e5e9f254d
BLAKE2b-256 checksum
How to use checksums
e41057164cd4a85ebbf654a31747964d060bf3646282978ef870b07ad58b58e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp312-cp312-win32.whl

Download URL wkp-0.5.0-cp312-cp312-win32.whl
Size 73.1 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
b71fe650959477f618c83b243ee8647dd824175fe093d33abdcf8beaf2496dc1
BLAKE2b-256 checksum
How to use checksums
a05849a45929e1456b1c5fb386e80ca4b2b95499f68204381e9558c38ed2865f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wkp-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 864.9 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4a070bb07c0d671cc45f83caf45b136400340608c6dc78597d2af2f2cb637cf4
BLAKE2b-256 checksum
How to use checksums
6c03d9ef8f8723662c31748fe218a402a2bf0c4899f567ee3d6e2ff4fbe30aab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL wkp-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 106.1 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f93413f6823a364d10a42c82f8355e1d5d2e6eb8818cae31e151585190b378a8
BLAKE2b-256 checksum
How to use checksums
52ddcaea8043000a556945a0f60012d0eee0e45f7031b3372dcde30a28f4e6b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp311-cp311-win_amd64.whl

Download URL wkp-0.5.0-cp311-cp311-win_amd64.whl
Size 80.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
813d18211845bf6b4c9710a78f4b5a5044ef8182f6786c1529bdda8e5c8cf648
BLAKE2b-256 checksum
How to use checksums
f15cc10f853a62ac728d62f652a5130de8e394e052d3bf6bde1159bfd05c90d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp311-cp311-win32.whl

Download URL wkp-0.5.0-cp311-cp311-win32.whl
Size 73.6 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
a3e618d4e00e9feb7d0233459e7162889670530b83e755b93deff0aa582af743
BLAKE2b-256 checksum
How to use checksums
8f1428b9d274022147c3a654818caab2aac5d00f40dfb8eb35a29e4db18eaae2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wkp-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 864.6 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c4ed2f62d6377aef6ebb2ccbb360d69b07bb05e6d7f1640728817610d6ec1a51
BLAKE2b-256 checksum
How to use checksums
e89dfe61dc53eb79ff85bd1e029a75160237443d8e9524683c7a77c262d16a71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL wkp-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 107.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d00f49df75a37b002c69e6596f7046a62a0d10c70d779cb95d6e10cf38501a0
BLAKE2b-256 checksum
How to use checksums
c2aabc0924e5b1dfb887426deecd4f53e252c3aff3e31498d957878c07340217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp310-cp310-win_amd64.whl

Download URL wkp-0.5.0-cp310-cp310-win_amd64.whl
Size 80.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
00572c3952aa7f224a2067c10d380fca60e472b4c0a497c145d4a81e113d303d
BLAKE2b-256 checksum
How to use checksums
82b977959138348f16b2c6dc9e93bff08c7b2490711ac8e89109ddde01df3d4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp310-cp310-win32.whl

Download URL wkp-0.5.0-cp310-cp310-win32.whl
Size 73.4 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
2f7647641bb6e15a77c8541c8b0cd1509ee0b61cb2c24628214d057e73f45e5e
BLAKE2b-256 checksum
How to use checksums
d910f4fe212acea0ca8c743b3cd60752bfeab8099d9dc323b620948c64c7ccee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wkp-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 853.0 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5db83f914bd8a63414c82b24a7c76973b918586390015bf0982e043b4db6d280
BLAKE2b-256 checksum
How to use checksums
0bef20ff32f6302e45d551cac44764e945a8cc04f2403d0a7a3e36d09e1ea106
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL wkp-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
Size 106.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e8d06a97bfa5007174ccccbd1c433706f99a25c5b5878fa371a0fd5387542af2
BLAKE2b-256 checksum
How to use checksums
8fea03f7b05b57ccef1345c7ab241c467b3af825e58f114a7de2433aea1406de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp39-cp39-win_amd64.whl

Download URL wkp-0.5.0-cp39-cp39-win_amd64.whl
Size 80.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
9407a756cf8d65c740458be6b52749931e4e173186488623083e0915ba0d6eaf
BLAKE2b-256 checksum
How to use checksums
9596c6aa87db2a48136af354a0e18ec04e8fbc8da04f34abcd2c5c79b7325252
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp39-cp39-win32.whl

Download URL wkp-0.5.0-cp39-cp39-win32.whl
Size 73.6 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
07c1c22ff97c12c1059a2b62e8bac38214b446c99a91604af0822dc96384b793
BLAKE2b-256 checksum
How to use checksums
3349ab8c3319d54d4c1985d98bd27e6cd2d021d19b74811361dbc08c60c6591a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wkp-0.5.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 853.1 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
66341c9320fd3bf7657ac0baf24d8b1588bb8c1d93d71a6b820c8a1e84ec30f0
BLAKE2b-256 checksum
How to use checksums
4dd36f198b917b53fa228d326a19f141dc93317214371a6280f3bffdb16ce2e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release files / wkp-0.5.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL wkp-0.5.0-cp39-cp39-macosx_11_0_arm64.whl
Size 107.2 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c4aba30468a6e9452959f02b69dcf5585c190276555839911a1632edb7a89374
BLAKE2b-256 checksum
How to use checksums
7b77447c3604a70a6c06d6588f44c0b3d33fb862bc6d7fd9429891da8b5632fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

20 release files

0.4.0

20 release files

0.0.3

20 release files

0.0.2

20 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page