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 (SRID embedded as "SRID=N;" prefix when present)
pub fn wkb_to_wkt(wkb: &[u8]) -> 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 (SRID embedded in bytes when present)
pub fn wkt_to_wkb(wkt: &str) -> 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
pub fn wkt_to_hex_wkb(wkt: &str) -> Result<String>

// Hex-encoded WKB/EWKB → WKT/EWKT string
pub fn hex_wkb_to_wkt(hex: &str) -> 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 text_to_wkb(text: &str, srid: SridMode) -> Result<Vec<u8>>
pub fn text_to_wkt(text: &str, srid: SridMode, normalize_wkt: bool) -> Result<String>
pub fn text_to_hex_wkb(text: &str, srid: SridMode) -> Result<String>

SridMode controls SRID handling in the output:

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, text_to_wkb(hex, SridMode::Strip | SridMode::Set(_)) and the equivalent text_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.
  • text_to_wkb(hex, SridMode::Auto) returns decoded bytes without WKB structure validation, and text_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.

text_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};
use wkb_wkt_converter::{text_to_wkt, text_to_hex_wkb, SridMode};

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

// With SRID embedded
let wkb = wkt_to_wkb("SRID=4326;POINT Z (1 2 3)")?;
let wkt = wkb_to_wkt(&wkb)?;
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)))")?;
let wkt = wkb_to_wkt(&wkb)?;
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 = text_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 = text_to_hex_wkb("POINT (1 2)", SridMode::Set(4326))?;
// hex is an EWKB string encoding SRID=4326;POINT (1 2)

// Strip the SRID without re-encoding (fast path)
let wkt = text_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
    text_to_wkb,
    text_to_wkt,
    text_to_hex_wkb,
)
Function Input Output
wkb_to_wkt(wkb) bytes str
wkb_to_wkt_split_srid(wkb) bytes (str, int | None)
wkt_to_wkb(wkt) str bytes
wkt_to_wkb_split_srid(wkt) str (bytes, int | None)
wkt_to_hex_wkb(wkt) str str
hex_wkb_to_wkt(hex_wkb) str str

All functions above raise ValueError on invalid input. (See text_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
text_to_wkb(text, srid=None) bytes
text_to_wkt(text, srid=None, normalize_wkt=False) str
text_to_hex_wkb(text, srid=None) str

The srid keyword argument 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. text_to_wkb(hex, srid=None) returns decoded bytes without WKB structure validation, and text_to_hex_wkb(hex, srid=None) validates and uppercases the hex text only.

text_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 text_to_wkt, text_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)"

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

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

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

wkt = text_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 text_to_* converters

text_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×

text_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×

text_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×

text_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×

text_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×

text_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×

text_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
    text_to.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.2.0.tar.gz (31.5 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.2.0-cp314-cp314-win_amd64.whl (161.7 kB view details)

Uploaded CPython 3.14Windows x86-64

wkb_wkt_converter-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (237.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

wkb_wkt_converter-0.2.0-cp314-cp314-macosx_10_12_x86_64.whl (242.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

wkb_wkt_converter-0.2.0-cp313-cp313-win_amd64.whl (161.7 kB view details)

Uploaded CPython 3.13Windows x86-64

wkb_wkt_converter-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (237.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

wkb_wkt_converter-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl (242.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

wkb_wkt_converter-0.2.0-cp312-cp312-win_amd64.whl (162.1 kB view details)

Uploaded CPython 3.12Windows x86-64

wkb_wkt_converter-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (238.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

wkb_wkt_converter-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (243.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

wkb_wkt_converter-0.2.0-cp311-cp311-win_amd64.whl (163.7 kB view details)

Uploaded CPython 3.11Windows x86-64

wkb_wkt_converter-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (239.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

wkb_wkt_converter-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (244.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

wkb_wkt_converter-0.2.0-cp310-cp310-win_amd64.whl (163.6 kB view details)

Uploaded CPython 3.10Windows x86-64

wkb_wkt_converter-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (239.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

wkb_wkt_converter-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl (244.5 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: wkb_wkt_converter-0.2.0.tar.gz
  • Upload date:
  • Size: 31.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 b6d2750b4f08530d4d6669508917922f871a6ee5864478a21c453e6c1aab1bd0
MD5 f452c318af7bcd6e44131f9ae2b45a1b
BLAKE2b-256 93d92aa2a69b8c9c058b9bf029c5a026f6ef712fcade72589af94563e05979c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fb8f00489e487d563201cfb3ab7d9eb8d78ab250238ae6d816c8fefe1c51e3f0
MD5 bb8d936bbce5f27a5efde9cdb95aae0e
BLAKE2b-256 984e0c926116dec52d0ba9379deac1a9f53490ce8135403f901d2f0f3870cb96

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8f3e1c28958bd3770ca1cf20557878e60cbe53f73a9297bc406d69bb35a88aa
MD5 4f4fe1980feca227f222f58d4997b6d1
BLAKE2b-256 419eef0205a4d805ed9336ccc6cdc6c0d6246ead817c8a17da8da58f7146099a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40e800c2d00206ab7725c2cd6acc88c3af1ca8e356d3e96b3ce867c507c2f8c5
MD5 2021e13b597a79ac39537cd2255949a2
BLAKE2b-256 4e248a409eaf3a5296960a7d5675d488e5b52ec1f81506165f219896d535a9af

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e15102c981a5cc61c47bb49e42825f031c13792c68c645a0db5e4523fd44cd23
MD5 1c39ec3debe780d7028572c24112ca8a
BLAKE2b-256 0d10fb2f671351b37760d3dd4558cb2f981b5aa5af42ee2285e3e96a0c6d2a65

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ab74f6c9fb55d5a17bfeff2c66b9abcf4789cb10dafb897a22f232309e0a1b04
MD5 d746acb86801e96e4c4a6c73b8ea5646
BLAKE2b-256 e8c44c1217a164210ce54d74b7bc0272037f4b6f3e18d3d3d6e412e715ad0e0e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8167003d11869a7cc7d2a46c57b852c0e9218b4d33fd8632019e970943b9187
MD5 5c71c89f8b61408fea43fd4bf2c92ccf
BLAKE2b-256 e1f609dc5d4844041eeaa6eaeee55b4d10fd2ea5fe5c23a35b662becc67d3e79

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3943e9cf3181bae650e9b0c0a5186757418cc3633f0b38ef9175aae6cead842c
MD5 a92e90eb45e6de9de3a27578516ac9e3
BLAKE2b-256 24263c196807fef55326c877aeef530af0dee7ff1832ffb1892be4cfc9ab2c78

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d4b5b604c0eb182dbf7e2d33627fb4b0b3094bbdfddcd071c1bed3d9682ac9f4
MD5 896dfb4f4ee79a1b4cdcaef5394d4fc0
BLAKE2b-256 eea647f2618409a4ec29923b10c574384960f8ed1a9a5e1c88cfd4b6126ac0a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 908f34412b992112391a36c756262720aef8db2f38a395b5967ea412e934a910
MD5 4a5d423858b42f2480f91521ba8e43b9
BLAKE2b-256 4b684d89d0c8c3b955bd7bef990b3a0d1074bdfcc3d79ae17aef2d51607db6df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 faf85ce4e0d7974fbee89e2dd045f09e1bbec8cde7508dd91a374f5262daf216
MD5 4330afd7695fa7485235caa326591284
BLAKE2b-256 fd7d006928a68e57102cf42db2c263170679afd38a959b094fb25d90dc56432c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76d2ed9e336582fc1e6f96fd65f6e5312cbc1425bfdb6e2c471f41a96a1c8b8b
MD5 7db427a29b95e315183998add8d51b50
BLAKE2b-256 559fa2f5d0c82c1792440ad65ec1576ad5442f72d0eb9bab33afda7c2b7323e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d5be01c93f0e7b8870f81b4cda99fdae1d1968263eed7d46fd00f06086a566f2
MD5 69b2a6986466230853724f386627c5c1
BLAKE2b-256 28dc30ba4e9aedf1da9863007e488fe25c5208f36193cedb843a75052a2ef5f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 226179cc869f63a3c1c966d330a7ef3b60bb181ca6e1cc4c8eea074c68377be4
MD5 cc991f3048cc62df9cdd46c073e42179
BLAKE2b-256 abdfde294301516df2f05163e3600fe0005a37121f270bca13f0debd3ee19555

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7dd6e964cae1f5609f21cc5498cdd70aedc219861be23ca3d4e319fde3fde63
MD5 110a45523ab2dd2c25f11937a7291c20
BLAKE2b-256 4526abd42500e4b752ca72385a2747a3b389e33b5b4aaf29df0121c35a8a6a6f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8de5f5f4ffe1b3e25c0dd31587a4c3538fbc79e7293a945041bd081ea3a6225b
MD5 62102dbe679aa9a5596cc9c9b3acb30b
BLAKE2b-256 4e26ea117c4b5dd8e20d51c4b673ff82bf7bb0f84f02caff3b5b67ca241ca05f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 09dc24fface6d67e2e1335ca55f8bf12366c2e826196d58133fddf0a1a1762f1
MD5 0ed871e7989bbc1675781c37ce0bf3b8
BLAKE2b-256 809e6382948e4bcdf95f7de5781ed4357f93cc7e9d0dda7c5a294575fe356424

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fe28f3b5c7790ebf8bd0686c74d8aa908f828908b305889eb5c9cf669bbce4d8
MD5 5e8cc1cd55d95aa47ff405f17b0688d5
BLAKE2b-256 0ac4062273a0a3e8394babec255cd11b3cf3731bf7f6bd779d17fed30167317d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04c65149ba751567cddf1ea4dd0d49d02b89c7e37aeae8aefb854c35f4a1caf8
MD5 d9b609294644cd359f81225b170f6114
BLAKE2b-256 1b350d46f54b5c16a91057c7e4e976283a8a4c878b15e7eef546e841fbfd8917

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a70c4360fac827fa3ba7b9c5d26b10d873303a22094c86ccbfb3926b3aaa37eb
MD5 ea98220571edfdb291dfbcca2f80a687
BLAKE2b-256 51c68ad5c8f40dcfd738ea2600bc47f95c1c6cfd1f182a2c69993a90c46a0acc

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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.2.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wkb_wkt_converter-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8f7329cd216610dd1d999a87421a67b7cce6d209e02d342b87b86ee6de0f6f56
MD5 20f4ae64cdd19b281b52feb4f8dcf057
BLAKE2b-256 ec04cfa3e2bda83c132a189c6996093382b0e39f8f52fcf779dbf57d384f513a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wkb_wkt_converter-0.2.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