Skip to main content

High-performance streaming converter between WKT and WKB geometry formats

Project description

wkb_wkt_converter

A high-performance, zero-dependency Rust library for streaming conversion between WKT/EWKT and WKB/EWKB geometry formats used in GIS systems (PostGIS, GDAL, etc.).

Exposes both a Rust API and Python bindings (via PyO3/maturin).


Features

  • All 7 OGC geometry types: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection
  • All coordinate dimensions: XY, XYZ, M, ZM
  • Both EWKB (PostGIS flag-bit encoding) and ISO WKB (type+1000 offset encoding) as input
  • SRID preservation (EWKT ↔ EWKB); option to split SRID from geometry
  • Big-endian and little-endian WKB input; little-endian EWKB output
  • EMPTY geometry support
  • Per-member EMPTY support inside MULTI* geometries
  • Hex WKB convenience helpers
  • Memory-safe handling for malformed input: structurally invalid input returns descriptive errors, while trusted-valid fast paths may pass through malformed geometry bodies as invalid output bytes/text.

Conversion strategy

WKB → WKT is a straightforward streaming read. WKT → WKB uses a seekable-buffer approach: count fields (ring count, point count, etc.) are written as 0 placeholders and patched in-place after the coordinates are streamed, avoiding a two-pass scan of the input.


Rust API

Add to Cargo.toml:

[dependencies]
wkb_wkt_converter = { path = "wkb_wkt_converter" }

Functions

// WKB/EWKB → WKT/EWKT, with SRID output control
pub fn wkb_to_wkt(wkb: &[u8], srid: SridMode) -> Result<String>

// WKB/EWKB → WKT, SRID returned separately (not in the string)
pub fn wkb_to_wkt_split_srid(wkb: &[u8]) -> Result<(String, Option<u32>)>

// WKT/EWKT → EWKB bytes, with SRID output control
pub fn wkt_to_wkb(wkt: &str, srid: SridMode) -> Result<Vec<u8>>

// WKT/EWKT → EWKB bytes, SRID returned separately (not in bytes)
pub fn wkt_to_wkb_split_srid(wkt: &str) -> Result<(Vec<u8>, Option<u32>)>

// WKT/EWKT → uppercase hex-encoded EWKB string, with SRID output control
pub fn wkt_to_hex_wkb(wkt: &str, srid: SridMode) -> Result<String>

// Hex-encoded WKB/EWKB → WKT/EWKT string, with SRID output control
pub fn hex_wkb_to_wkt(hex: &str, srid: SridMode) -> Result<String>

Generic converters

These functions accept either a WKT/EWKT string or a hex-encoded WKB/EWKB string and detect the format automatically (a non-empty, even-length string composed entirely of hex characters is treated as hex WKB; anything else, including odd-length all-hex text, is treated as WKT).

pub fn to_wkb(text: &str, srid: SridMode) -> Result<Vec<u8>>
pub fn to_wkt(text: &str, srid: SridMode, normalize_wkt: bool) -> Result<String>
pub fn to_hex_wkb(text: &str, srid: SridMode) -> Result<String>

SridMode controls SRID handling in the output of direct and generic converters:

Variant Behaviour
SridMode::Auto Mirror the input — SRID kept if present, absent if not
SridMode::Strip Always strip the SRID from the output
SridMode::Set(n) Always embed SRID n, overriding whatever the input contains

Validation notes:

  • WKT coordinates must be finite. WKB coordinate payloads are treated as trusted-valid: all-NaN Point remains POINT EMPTY, while other NaN or infinity values may format as invalid WKT instead of raising an error.
  • Direct WKB-to-WKT entry points still reject structurally invalid WKB such as truncation, unsupported type codes, excessive nesting, and trailing top-level bytes.
  • For canonical little-endian Point, LineString, and Polygon EWKB hex input, to_wkb(hex, SridMode::Strip | SridMode::Set(_)) and the equivalent to_hex_wkb paths patch only the top-level header. Malformed coordinate bodies or trailing bytes in those simple fast paths can pass through as invalid output. Big-endian, ISO-dimensional, collection, and non-canonical type headers fall back to a full normalising round-trip.
  • to_wkb(hex, SridMode::Auto) returns decoded bytes without WKB structure validation, and to_hex_wkb(hex, SridMode::Auto) validates and uppercases the hex text only.
  • GeometryCollection dimension tags are not inherited by child geometries. An XY collection may contain heterogeneous immediate children. A Z, M, or ZM collection requires each immediate child to declare the same dimension.
  • WKT and WKB parsing reject geometry nesting beyond the implementation depth limit of 128.

to_wkt accepts a normalize_wkt: bool parameter. When true, WKT input is normalised (canonical casing, spacing, coordinate formatting) via a round-trip through WKB. When false, only the SRID prefix is adjusted — no validation is performed: malformed WKT is returned without error. Leading/trailing whitespace is always trimmed regardless of this flag. Hex WKB input is always decoded to normalised WKT regardless of this flag. Odd-length all-hex input is not detected as hex WKB; with normalize_wkt=false it follows the same unvalidated WKT fast path.

Example

use wkb_wkt_converter::{wkt_to_wkb, wkb_to_wkt, wkt_to_wkb_split_srid, hex_wkb_to_wkt};
use wkb_wkt_converter::{to_wkt, to_hex_wkb, SridMode};

// Basic round-trip
let wkb = wkt_to_wkb("POINT (1 2)", SridMode::Auto)?;
let wkt = wkb_to_wkt(&wkb, SridMode::Auto)?;
assert_eq!(wkt, "POINT (1 2)");

// With SRID embedded
let wkb = wkt_to_wkb("SRID=4326;POINT Z (1 2 3)", SridMode::Auto)?;
let wkt = wkb_to_wkt(&wkb, SridMode::Auto)?;
assert_eq!(wkt, "SRID=4326;POINT Z (1 2 3)");

// SRID split from geometry
let (wkb, srid) = wkt_to_wkb_split_srid("SRID=4326;LINESTRING (0 0, 1 1)")?;
assert_eq!(srid, Some(4326));
// wkb contains a plain (non-EWKB) LineString

// All geometry types and dimensions work the same way
let wkb = wkt_to_wkb(
    "MULTIPOLYGON ZM (((0 0 0 1, 1 0 0 1, 1 1 0 1, 0 0 0 1)))",
    SridMode::Auto,
)?;
let wkt = wkb_to_wkt(&wkb, SridMode::Auto)?;
assert_eq!(wkt, "MULTIPOLYGON ZM (((0 0 0 1, 1 0 0 1, 1 1 0 1, 0 0 0 1)))");

// Generic converters: input format (WKT or hex WKB) detected automatically
// Normalise WKT (casing, whitespace) — SridMode::Auto mirrors the input SRID
let wkt = to_wkt("point(1 2)", SridMode::Auto, true)?;
assert_eq!(wkt, "POINT (1 2)");

// Add or override an SRID regardless of what the input contains
let hex = to_hex_wkb("POINT (1 2)", SridMode::Set(4326))?;
// hex is an EWKB string encoding SRID=4326;POINT (1 2)
let wkt = hex_wkb_to_wkt(&hex, SridMode::Strip)?;
assert_eq!(wkt, "POINT (1 2)");

// Strip the SRID without re-encoding (fast path)
let wkt = to_wkt("SRID=4326;POINT (1 2)", SridMode::Strip, false)?;
assert_eq!(wkt, "POINT (1 2)");

Error handling

All functions return Result<_, wkb_wkt_converter::Error>:

pub enum Error {
    InvalidWkt(String),
    InvalidWkb(String),
    UnsupportedGeometryType(u32),
}

Python API

Build and install

Requires maturin and a Rust toolchain. Wheels include PEP 561 type stubs for static type checkers and IDEs.

pip install maturin
maturin develop          # install into the current virtualenv (dev mode)
maturin build --release  # build a wheel

Functions

from wkb_wkt_converter import (
    wkb_to_wkt,
    wkb_to_wkt_split_srid,
    wkt_to_wkb,
    wkt_to_wkb_split_srid,
    wkt_to_hex_wkb,
    hex_wkb_to_wkt,
    # generic converters
    to_wkb,
    to_wkt,
    to_hex_wkb,
)
Function Input Output
wkb_to_wkt(wkb, srid=None) bytes-like WKB/EWKB str
wkb_to_wkt_split_srid(wkb) bytes-like WKB/EWKB (str, int | None)
wkt_to_wkb(wkt, srid=None) str bytes
wkt_to_wkb_split_srid(wkt) str (bytes, int | None)
wkt_to_hex_wkb(wkt, srid=None) str str
hex_wkb_to_wkt(hex_wkb, srid=None) str str

WKB arguments in the Python API accept bytes, bytearray, memoryview, and other C-contiguous one-byte buffer objects. They are always treated as raw WKB/EWKB, not as encoded text.

For performance, bytes-like WKB inputs may be borrowed directly without copying. Do not mutate a writable buffer while wkb_to_wkt or wkb_to_wkt_split_srid is reading it, including from native code, another thread, or shared memory. Mutating the buffer during conversion is unsupported and may produce invalid or inconsistent results.

All functions above raise ValueError on invalid geometry input. The bytes-like WKB functions raise BufferError when the Python object does not provide a C-contiguous one-byte buffer. (See to_wkt below for an exception when normalize_wkt=False.)

Generic converters

These three functions accept either a WKT/EWKT string or a hex-encoded WKB/EWKB string and detect the format automatically. A non-empty, even-length string composed entirely of hex characters is treated as hex WKB; anything else, including odd-length all-hex text, is treated as WKT.

Function Output
to_wkb(text, srid=None) bytes
to_wkt(text, srid=None, normalize_wkt=False) str
to_hex_wkb(text, srid=None) str

The srid keyword argument on direct and generic converters controls SRID handling in the output:

Value Behaviour
None (default) Mirror the input — SRID kept if present, absent if not
False Always strip the SRID from the output
int Always embed this SRID, overriding whatever the input contains

Validation behavior matches the Rust API: WKT coordinates must be finite, while WKB coordinate payloads are treated as trusted-valid. Simple little-endian EWKB hex inputs under srid=False or an integer SRID are patched at the top-level header without scanning the body, so malformed bodies or trailing bytes can pass through as invalid output. to_wkb(hex, srid=None) returns decoded bytes without WKB structure validation, and to_hex_wkb(hex, srid=None) validates and uppercases the hex text only.

to_wkt accepts a normalize_wkt keyword argument (default False). When True, WKT input is normalised (canonical casing, spacing, coordinate formatting) via a round-trip through WKB. When False (the default), only the SRID prefix is adjusted — no validation is performed: malformed WKT is returned without raising an error. Leading/trailing whitespace is always stripped regardless of this flag. Hex WKB input is always decoded to normalised WKT regardless of this flag. Odd-length all-hex input is not detected as hex WKB; with normalize_wkt=False it follows the same unvalidated WKT fast path.

Example

from wkb_wkt_converter import wkt_to_wkb, wkb_to_wkt, wkt_to_hex_wkb, hex_wkb_to_wkt
from wkb_wkt_converter import to_wkt, to_hex_wkb

wkb = wkt_to_wkb("POINT (1 2)")
wkt = wkb_to_wkt(wkb)
assert wkt == "POINT (1 2)"

# EWKT with SRID
wkb = wkt_to_wkb("SRID=4326;POLYGON ((0 0, 1 0, 1 1, 0 0))")
wkt = wkb_to_wkt(wkb)
assert wkt == "SRID=4326;POLYGON ((0 0, 1 0, 1 1, 0 0))"

# Hex WKB (common PostGIS text format)
hex_wkb = wkt_to_hex_wkb("POINT (1 2)")
wkt = hex_wkb_to_wkt(hex_wkb)
assert wkt == "POINT (1 2)"

srid_hex_wkb = wkt_to_hex_wkb("SRID=4326;POINT (1 2)")
wkt = hex_wkb_to_wkt(srid_hex_wkb, srid=False)
assert wkt == "POINT (1 2)"

# Generic converters: input format detected automatically
wkt = to_wkt("point(1 2)", normalize_wkt=True)  # normalise WKT
assert wkt == "POINT (1 2)"

wkt = to_wkt(hex_wkb)                           # hex WKB → WKT (always normalised)
assert wkt == "POINT (1 2)"

hex_out = to_hex_wkb("POINT (1 2)", srid=4326)  # add SRID
wkt = to_wkt(hex_out)
assert wkt == "SRID=4326;POINT (1 2)"

wkt = to_wkt("SRID=4326;POINT (1 2)", srid=False)  # strip SRID (fast path)
assert wkt == "POINT (1 2)"

Benchmarks

Comparison against shapely 2.x. Regenerate with:

pip install ".[benchmark]"
python scripts/update_readme_benchmarks.py
# or, using an already-saved JSON:
python scripts/update_readme_benchmarks.py --json benchmark_results.json

For local performance history across commits, use airspeed velocity:

pip install ".[asv]"
asv check --python=same
asv run --python=same --quick --show-stderr --dry-run
asv run HEAD^! --quick --show-stderr --dry-run
asv run main..HEAD --skip-existing-commits --show-stderr
asv run ALL --skip-existing-commits --show-stderr
asv publish
asv preview
asv compare main HEAD --split

2026-05-05 — Python 3.12.3 — 12th Gen Intel(R) Core(TM) i7-12700KF

Times are mean latency per call (lower is better). Speedup = shapely mean ÷ wkb_wkt_converter mean.

Basic conversions

wkt_to_wkb

Geometry wkb_wkt_converter shapely Speedup
Point 140 ns 5.2 µs 37.3×
LineString (5 pts) 233 ns 6.2 µs 26.7×
Polygon (5 pts) 247 ns 6.2 µs 25.2×
GeometryCollection 387 ns 8.3 µs 21.5×
MultiPolygon 533 ns 9.9 µs 18.6×
LineString (1000 pts) 23.3 µs 209.1 µs 9.0×
Polygon (1000 pts) 40.7 µs 444.0 µs 10.9×

wkb_to_wkt

Geometry wkb_wkt_converter shapely Speedup
Point 148 ns 3.9 µs 26.3×
LineString (5 pts) 240 ns 4.4 µs 18.3×
Polygon (5 pts) 140 ns 4.4 µs 31.2×
GeometryCollection 213 ns 5.1 µs 24.0×
MultiPolygon 667 ns 6.9 µs 10.3×
LineString (1000 pts) 38.9 µs 118.2 µs 3.0×
Polygon (1000 pts) 118.3 µs 140.8 µs 1.2×

wkt_to_hex_wkb

Geometry wkb_wkt_converter shapely Speedup
Point 164 ns 5.2 µs 31.6×
LineString (5 pts) 337 ns 6.4 µs 19.0×
Polygon (5 pts) 365 ns 6.4 µs 17.6×
GeometryCollection 494 ns 8.7 µs 17.5×
MultiPolygon 847 ns 9.8 µs 11.6×
LineString (1000 pts) 36.8 µs 230.0 µs 6.2×
Polygon (1000 pts) 54.5 µs 456.0 µs 8.4×

hex_wkb_to_wkt

Geometry wkb_wkt_converter shapely Speedup
Point 188 ns 4.0 µs 21.3×
LineString (5 pts) 331 ns 4.6 µs 13.9×
Polygon (5 pts) 219 ns 4.6 µs 21.1×
GeometryCollection 352 ns 5.6 µs 15.8×
MultiPolygon 854 ns 6.8 µs 8.0×
LineString (1000 pts) 47.2 µs 133.3 µs 2.8×
Polygon (1000 pts) 126.7 µs 156.0 µs 1.2×

Generic to_* converters

to_wkb(wkt)

Geometry wkb_wkt_converter shapely Speedup
Point 146 ns 5.4 µs 36.8×
LineString (5 pts) 241 ns 6.7 µs 27.7×
Polygon (5 pts) 273 ns 6.5 µs 23.9×
GeometryCollection 391 ns 8.5 µs 21.6×
MultiPolygon 565 ns 9.6 µs 17.0×
LineString (1000 pts) 24.0 µs 215.0 µs 9.0×
Polygon (1000 pts) 41.2 µs 452.8 µs 11.0×

to_wkb(hex_wkb)

Geometry wkb_wkt_converter shapely Speedup
Point 79 ns 4.5 µs 57.4×
LineString (5 pts) 116 ns 4.8 µs 41.6×
Polygon (5 pts) 117 ns 4.7 µs 40.4×
GeometryCollection 160 ns 5.3 µs 33.2×
MultiPolygon 215 ns 5.9 µs 27.7×
LineString (1000 pts) 7.2 µs 42.8 µs 5.9×
Polygon (1000 pts) 7.2 µs 43.3 µs 6.0×

to_wkt(wkt)normalize_wkt=False (fast path, no WKB round-trip)

Geometry wkb_wkt_converter shapely Speedup
Point 62 ns 4.8 µs 76.8×
LineString (5 pts) 60 ns 6.1 µs 101.3×
Polygon (5 pts) 61 ns 6.1 µs 100.2×
GeometryCollection 65 ns 8.4 µs 129.9×
MultiPolygon 66 ns 10.6 µs 160.0×
LineString (1000 pts) 521 ns 306.5 µs 588.0×
Polygon (1000 pts) 2.1 µs 547.8 µs 267.2×

to_wkt(wkt)normalize_wkt=True (full WKT→WKB→WKT round-trip)

Geometry wkb_wkt_converter shapely Speedup
Point 346 ns 4.8 µs 13.8×
LineString (5 pts) 550 ns 6.1 µs 11.1×
Polygon (5 pts) 458 ns 6.1 µs 13.3×
GeometryCollection 685 ns 8.4 µs 12.3×
MultiPolygon 1.3 µs 10.6 µs 8.1×
LineString (1000 pts) 62.9 µs 306.5 µs 4.9×
Polygon (1000 pts) 162.3 µs 547.8 µs 3.4×

to_wkt(hex_wkb)

Geometry wkb_wkt_converter shapely Speedup
Point 195 ns 4.1 µs 21.1×
LineString (5 pts) 349 ns 4.6 µs 13.2×
Polygon (5 pts) 231 ns 4.7 µs 20.1×
GeometryCollection 359 ns 5.5 µs 15.4×
MultiPolygon 873 ns 6.7 µs 7.7×
LineString (1000 pts) 46.8 µs 132.5 µs 2.8×
Polygon (1000 pts) 126.9 µs 155.2 µs 1.2×

to_hex_wkb(wkt)

Geometry wkb_wkt_converter shapely Speedup
Point 177 ns 5.4 µs 30.4×
LineString (5 pts) 350 ns 6.4 µs 18.3×
Polygon (5 pts) 375 ns 6.8 µs 18.3×
GeometryCollection 524 ns 8.7 µs 16.6×
MultiPolygon 869 ns 9.8 µs 11.3×
LineString (1000 pts) 37.3 µs 228.1 µs 6.1×
Polygon (1000 pts) 54.7 µs 463.0 µs 8.5×

to_hex_wkb(hex_wkb)

Geometry wkb_wkt_converter shapely Speedup
Point 86 ns 4.5 µs 52.6×
LineString (5 pts) 169 ns 4.9 µs 29.1×
Polygon (5 pts) 174 ns 4.9 µs 28.5×
GeometryCollection 238 ns 5.5 µs 23.0×
MultiPolygon 366 ns 6.2 µs 17.0×
LineString (1000 pts) 14.8 µs 56.7 µs 3.8×
Polygon (1000 pts) 15.1 µs 58.1 µs 3.8×

Project layout

wkb_wkt_converter/          # core Rust library (zero runtime dependencies)
  src/
    lib.rs                  # public API
    error.rs
    types.rs                # GeomType, Dimension
    wkb_to_wkt/             # WKB reader + WKT builder
    wkt_to_wkb/             # WKT tokenizer + seekable WKB writer
  tests/
    wkb_to_wkt.rs
    wkt_to_wkb.rs
    generic_converters.rs

wkb_wkt_converter_py/       # Python bindings (PyO3 / maturin)
  src/lib.rs

pyproject.toml              # maturin build config

Running tests

cargo test                  # run all Rust tests
cargo clippy -- -D warnings # lints
cargo fmt --check           # formatting

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

wkb_wkt_converter-0.3.0.tar.gz (33.4 kB view details)

Uploaded Source

Built Distributions

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

wkb_wkt_converter-0.3.0-cp314-cp314-win_amd64.whl (165.0 kB view details)

Uploaded CPython 3.14Windows x86-64

wkb_wkt_converter-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (266.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.3.0-cp314-cp314-macosx_11_0_arm64.whl (241.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

wkb_wkt_converter-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl (246.4 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

wkb_wkt_converter-0.3.0-cp313-cp313-win_amd64.whl (165.1 kB view details)

Uploaded CPython 3.13Windows x86-64

wkb_wkt_converter-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (266.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (241.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

wkb_wkt_converter-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl (246.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

wkb_wkt_converter-0.3.0-cp312-cp312-win_amd64.whl (165.3 kB view details)

Uploaded CPython 3.12Windows x86-64

wkb_wkt_converter-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (266.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (241.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

wkb_wkt_converter-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl (246.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

wkb_wkt_converter-0.3.0-cp311-cp311-win_amd64.whl (167.0 kB view details)

Uploaded CPython 3.11Windows x86-64

wkb_wkt_converter-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (268.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (243.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

wkb_wkt_converter-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl (248.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

wkb_wkt_converter-0.3.0-cp310-cp310-win_amd64.whl (166.8 kB view details)

Uploaded CPython 3.10Windows x86-64

wkb_wkt_converter-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (268.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.3.0-cp310-cp310-macosx_11_0_arm64.whl (242.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

wkb_wkt_converter-0.3.0-cp310-cp310-macosx_10_12_x86_64.whl (248.0 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file wkb_wkt_converter-0.3.0.tar.gz.

File metadata

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

File hashes

Hashes for wkb_wkt_converter-0.3.0.tar.gz
Algorithm Hash digest
SHA256 68b13e2a37aa6c7c14c19995387e21cc4002471926261c1ebafdab4cf3655975
MD5 cfd3157222bc53969c57db3a50262771
BLAKE2b-256 9efbe8efcf3d9c532fe3031bcf77bcee4d445751ba94058ac06d3df03911e101

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0.tar.gz:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 92e8093c767a81951646bbdf45d9600662ee556f9d3b7469b6c773136b2c9768
MD5 fac91f8256ec18e0c992099a9b4aeb1e
BLAKE2b-256 3ad6f9f776e1f45aba3eb49bb98089e67347bf7033c6451f3dc1746aac08bdc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp314-cp314-win_amd64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d39dc327a8668a4f29779a96c831210d1a73df47f7585327e1bc28b501d5af4
MD5 3f89dbbf0e9e53e76a7df690b1cd5dd8
BLAKE2b-256 11a9186222f5af8f53176b5503a25daf0c36bf4bcd080ef6a0c3ca78b0ac60e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f974eb237b0d789d41e6916b19d5bebad9abd7528defa20905b13b39c5b333c
MD5 795fbb92c4ed54f61de258cd11e6c1a4
BLAKE2b-256 44b5b3a2f005710f2fdf8d4d7f0800f3613929d95b43e519e0ce4b3f3b9ec58f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 09e71d2234f54611b1f62a2df8b9c2ffa28e3aaec43be27a83acec337ba5c2fa
MD5 face570c668559382db2b6e218d4528f
BLAKE2b-256 e49e79c948cf144772b7378816500c38055edc8b903723849406d2ecb9f01fb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f83ef041ceb00092d964c6c720621764cd937a97a0c47116d317be393d8b90df
MD5 2d51565ccc26dc2bca7cc31e59abb762
BLAKE2b-256 afa6b41b44500c90eab908fd33394b51418238641da7df3addd22f9e0234a13d

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3edff4f935e0639a7ed07fa5369e67a752cbac8d8f4e58efd8ef099c647e5cda
MD5 de8513800e3200c5dde00654b7582e94
BLAKE2b-256 38b39e0322b6f56598c3ce2c3c037e391ceefdb6444fe8e5c7c8ffc91b04bae6

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 893328d99c9ccc2de71f2fd4bb7e2eccd4e25575482a8288669a2ea76f5b9a42
MD5 270cfd5dc32efbb09977adf420a391ca
BLAKE2b-256 d540524a5d4bf5201062e725b5244087343c4b84043081410f75408b8d54901a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 479a2fd21f75a611fd88697c0b25f5d65b11fd3cc16c584a1baf98bf812ce58b
MD5 9f10c718db5c391bf049022a0fbb5d43
BLAKE2b-256 f92239db89cbafb4471991c558ba1e69b452f7244ebcecf6f90dd90892e8e334

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e555908b0c93b92cedfe9693ffdf34a836f9c3ee1174f6f4e018455cbaa5a9b2
MD5 83e6636d77b13fe884702884cbb16d2f
BLAKE2b-256 5ace9e75df1c37e77fcd7dffa7540d24c9ee94a9a0c75ec36735276112f3abc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9cd47e16d0f40df4c0785dd3cb10a5816c18d3409a276db67f1636f3d74e0bb
MD5 735090f76023fa1d1e5100a0a6caba3d
BLAKE2b-256 076118477530fb40915ade9a6c5294b32983e363d2bb8feb79cc0f41ffccfc8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e348f51c212df7d5825ae9a65e5069e1c8127f85a96e9e7aedcf4917a7034f9
MD5 6995012b9ddc08176f0037704c0c9ee9
BLAKE2b-256 a318688bbd59baaddc5d24ceaaae087980446553578f552c07664ed2659eb047

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a5ee9b034b5013b1f55e330ef4723a47298baac0efe798a877120ee0fb6efb2c
MD5 9efc20b811a32e7f867c242ab4f8ffc3
BLAKE2b-256 a4ca200e88871b09a46beb875fab173c4aa748c924fc5be932aa73f9454cfe6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bfe779d1c5b0092a9fd94d29b3ca460bb0b5d9c1aaa42cbfc15894f979395135
MD5 9d5583a13ffbc9a8a3edfa1ab8c3be1f
BLAKE2b-256 b2810005961be3038a939b495c92cdc792d3fb33682f711d859ffabc2445135e

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d028e536508e1a06eceaa6f1bc5c2ece0b1b41949a312979e62ef37a606affde
MD5 e095e2cc9980bd82c85ea4f7bf5875b0
BLAKE2b-256 ce341ee17543b15b37c2765fa93195e6dc6254b7a3092a00e8ef396668f91abb

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 847307aef78dd42851c59d15aacef5c4b639d3c096abd5ad2dcfa0a8b2670eaa
MD5 ffe95163a81b71811acd9927285436b0
BLAKE2b-256 6a73aef4fc4f2eced80a8072c9da7e9dcc44108e2b71e9b179caa9fb6d93d81f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4457e667fcd040e1923dad701498f255b97a4f37ffe82a528490778bb38d1cf8
MD5 d6a1e1ec8daef5bd0254bfad01f136cb
BLAKE2b-256 467f5927d00b720506eaf6256349d467e8b791aec1dd67dc16b33ed1b137b012

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5c881a911d42298e296d3f2a33f78aeb4f49dd9ba4ff1c33db159d8e474b2005
MD5 abebc878f0c7042c9913f4de0fe10f57
BLAKE2b-256 0348d13209b09965d88f117e12414c0bacec356b4d82f1116e8122ed221507da

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef64a6dbe24a559ad51953f40ddd195411186d543e35adcdd2bae5c856884a5a
MD5 ce62f20632a007ef590bc0276c27296a
BLAKE2b-256 6579e0e830ee2b6540f193cbfdd3bc8fa3f999b6a0d20bc0256b01a47c0f063f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c51f8f18198ca3c00558078b03dbcecca9b8c2f0dd5d86bb5462b7f6b23c5bc9
MD5 a2022b2eca140ad0468f9ffd304c5660
BLAKE2b-256 6ded9a40c8ccb711c2bf0167a5b0992bb7debcab42c89284bd0b6778cadc5fdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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

File details

Details for the file wkb_wkt_converter-0.3.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.3.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 259491c08bdfb31c601e55a74b05a211b0ddba9b78b9b6145eda474a126103c2
MD5 11421b43227b727d834768d1c07d8295
BLAKE2b-256 82c15b238a4f1ce6ffe2f2a05539efe6f50e96b674e11932bad32449d84f1c2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.3.0-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release.yml on adrien-berchet/WKB_WKT_Converter

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