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.

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.1.0.tar.gz (31.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.1.0-cp314-cp314-win_amd64.whl (160.9 kB view details)

Uploaded CPython 3.14Windows x86-64

wkb_wkt_converter-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.1.0-cp314-cp314-macosx_11_0_arm64.whl (237.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

wkb_wkt_converter-0.1.0-cp314-cp314-macosx_10_12_x86_64.whl (242.1 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

wkb_wkt_converter-0.1.0-cp313-cp313-win_amd64.whl (160.9 kB view details)

Uploaded CPython 3.13Windows x86-64

wkb_wkt_converter-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (236.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

wkb_wkt_converter-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl (241.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

wkb_wkt_converter-0.1.0-cp312-cp312-win_amd64.whl (161.3 kB view details)

Uploaded CPython 3.12Windows x86-64

wkb_wkt_converter-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (237.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

wkb_wkt_converter-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (242.5 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

wkb_wkt_converter-0.1.0-cp311-cp311-win_amd64.whl (162.9 kB view details)

Uploaded CPython 3.11Windows x86-64

wkb_wkt_converter-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (238.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

wkb_wkt_converter-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (243.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

wkb_wkt_converter-0.1.0-cp310-cp310-win_amd64.whl (162.8 kB view details)

Uploaded CPython 3.10Windows x86-64

wkb_wkt_converter-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

wkb_wkt_converter-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (238.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

wkb_wkt_converter-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (243.8 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: wkb_wkt_converter-0.1.0.tar.gz
  • Upload date:
  • Size: 31.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.1.0.tar.gz
Algorithm Hash digest
SHA256 84fe566bfd24a7a546af4451497ed446f53f9baa05be70843e3619dc7800e019
MD5 197656e73cf093be98ad3c1ff77728f5
BLAKE2b-256 c8e8f2cdefdaa0193de8adc385f057c6da7fefa2aeb8363907ee14542effefab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3714f3dd38ea7a7c667e8af6e988c85832f39727ab073c635c1b5d1be7d48b1f
MD5 51e9e1cbcd3ac7d8413000bc4ab21f48
BLAKE2b-256 05863ca053cd89c844332b248d68add2ce7aa211ad7fa77517656ce2d8136105

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1bf2ff555d5cdadc675fb42ca03a6c26d51102d70da2f67bbc1511f273ccad9
MD5 47afa38317d6459ff7077ab9da642374
BLAKE2b-256 400984f38b9b5868f9ae8ac1776a6283b799724fe974d5c7cc5c4bd86b39d67d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5cd5b3c6e8d782cad9b2fd89007f5c62d740fb8fb48bf11b70f109e299fe00f5
MD5 9cf967e75ce5d27d7ad0c387ee24493e
BLAKE2b-256 812b48c07e30b5e2204feda6e7bcc36144ceccdb51fcf20e5fa257ee024047a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1c40319e7b7f70e7312590dc6ecbf72fc748cd7caba98c9b35b6827383e51a63
MD5 8625562794fc1c7b779ac486d323af91
BLAKE2b-256 0ab4a967242bed40247b5a2822d46954d4aa3c13e0f92b6b2dbab6e3d00e4712

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 aee4709955f87b54a62c80aca3efb46fe1d3b580503ea33c841efa4618eaca30
MD5 763fe3f6554f891371b6d352f4090b92
BLAKE2b-256 2a0a832b731ba977360da84fe2f1dbb8abd8d324335f6a29bf793f851188eb7b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55c3ccdc727ddd8ae9c866ff1327a1619ae23fbbc9f70eefdda8fe14c3a92c40
MD5 367905e932834997a9c5d7b7d7f18b56
BLAKE2b-256 7cd1b6ac95d810c93178cdbe062fac62ac329b53dedd3ce06841101251738ba2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 992b5638362d6d8ef955d99e9b5968b0308b3d21bc75c2286400fcda47a7d19d
MD5 acbd177a26590616b94409a473703f30
BLAKE2b-256 9deddb0299afeb00372d9a910c8dfe16a9f75eb0569284acd84283e03f5a347e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2788aec331205f9a4f38359fbe7070897a74de4764956119f245f5ab30c7798d
MD5 5184ae32650c79f1408f72fac7564828
BLAKE2b-256 62648ec63c0eafb3d8c9b1f9991d02453ebd08c1fc29732f0cc9397263bf505d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 07c2bd03aabbc4dec6bc07d545f439b3d9a08680ac841b522bdf0b6b9d60bfa3
MD5 c04b0b6b809812d11c8467d345520b22
BLAKE2b-256 eded559ddedd87412cf7e81d901a0a79336c3d5a4ab1ae55016f26b69647d1a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 315a8507c052a125596ee1d6dfeb8a84e50def330aeceeb2299b4f78a9249b92
MD5 bc13e32cac8a394f7a231ac17ae1e692
BLAKE2b-256 921d6410aa0a1f6ecab4a8fa0cc070863c25e5bd8233a5867205eff46d933ce7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a981a5108c2208844a2d7f16cf5fc394539c6e097d9a009098260c9d25e1b1a3
MD5 c1e34f293097f053b32fe041a8024c3a
BLAKE2b-256 4911f5815b93dafec6c5589669f24e7f9053424d1a9b3ce8a50fa9f887d9f3c4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5c83b18616af880b1102237d4d5c46857f40b9375300404412a4f5639e7b96f0
MD5 4dd561a3af000e82863c371e13d74c29
BLAKE2b-256 ee5dc5038a1855510697e86f88a21adcd6c41ec2cca74cfaeabd411221d1d193

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c6314d8973249527d3740524df97d64936186fbab6aebd5b89401e7d24cc5094
MD5 a6b9e05de7460dd7a787c577f65a048d
BLAKE2b-256 d34af1b49cb4af69579fa136079c0fb07eb97a110905cfe13289dc745bea8549

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b42270803dad5cd0a8b0a907e8726c14ccfc0ca73419e93031ff48ff20e65ff4
MD5 c75eab3ccca1ad285200f451a33ebe95
BLAKE2b-256 43581f1d57fc14aad95c18c22a08b60b630a02eb0e3547cb2f4e1e12903bf2d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2eeb3e756bb1f2d86c571d39ee958c3220f6237b287016741ea78efbfe5b9b86
MD5 95478e5822ffc0c4fbf16d80faae25bf
BLAKE2b-256 529bab2bd9e344a64d6abb2447baaedb269334a5f75e1cec2ae5c09fa01f29aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d213f28e0f5e07f1cd7248664f52ad21466f9bfa2390f1df0d41b91ac09d11bb
MD5 508f8054c646f028b6f9cecaa7dcb3e0
BLAKE2b-256 7eac18951c617c70f8b7c08abfafaf145b9fcfcf60d8912f0359f2f4ef5d47d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bb1d3ed2dfc88b28616222caf05a5087a890917c5ef97cf13c7965ee464f7132
MD5 93eabbaa788d80f7ec0028b7a539cbd4
BLAKE2b-256 243e2398b9ddad94a4b72dd19f01c63a7e75cb32d20cdf2b067ab372427dbc47

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd328f71ff7f17e932ef7bd5fd7452489fe71ce6dd3e1e35787ada21328921c7
MD5 02087343b27d6342ef4c68d752840c7c
BLAKE2b-256 d087b1d6b63f5f47c82335348415adaae9daa5de8c924e71a7a4a59478a06f32

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf2daa33142312cdaecc1be934e13e5648bf47233449149d2f5113601d4f5e1c
MD5 162bc03e5da60203628a90e3c251a705
BLAKE2b-256 d77fb6ae3b0b59a5603c1e9a457fcec20f95f10cf31f813806cff08bfd095661

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wkb_wkt_converter-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dcfeffb42162ea5da4c667b81b474cd56c23f00c014cdbf89a7cf4d98a610525
MD5 36304c03b0d406e6f05544fe20b18fe3
BLAKE2b-256 aea1d882be07bf05535204ad1a3647decd14afe3a60a4f752fb1bae1f754c1c1

See more details on using hashes here.

Provenance

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