Skip to main content

Fast lon, lat to and from ETRS89 and BNG (OSGB36) using the OS OSTN15 transform via Rust FFI

Project description

CI Status Coverage Status PyPI Version DownloadsDOI

Description

A utility library for converting decimal WGS84 longitude and latitude coordinates into ETRS89 (EPSG:25830) and/or British National Grid (More correctly: OSGB36, or EPSG:27700) Eastings and Northings, and vice versa.

Conversion is handled by a Rust binary using FFI, and is quite fast. Some benchmarks can be found here.

Installation

  • uv add convertbng
  • pip install convertbng

Installing for local development

  1. Ensure you have a copy of liblonlat_bng and header.h from https://github.com/urschrei/lonlat_bng/releases, and it's in the src/convertbng subdir
  2. run uv sync --dev
  3. run pytest .

Changes in pyx and pxd files, and the Rust library and header will bust the cache, triggering a rebuild when uv commands are run.

Supported Python Versions

Simplification supports all currently supported Python versions.

Supported Platforms

  • Linux (manylinux-compatible) x86_64 and aarch64
  • macOS Darwin x86_64 and arm64
  • Windows 64-bit

Windows Binaries

The Rust DLL and the Cython extension used by this package have been built with an MSVC toolchain. You shouldn't need to install any additional runtimes in order for the wheel to work, but please open an issue if you encounter any errors.

Usage

The functions accept either a sequence (such as a list or numpy array) of longitude or easting values and a sequence of latitude or northing values, or a single longitude/easting value and single latitude/northing value. Note the return type:
"returns a list of two lists containing floats, respectively"

NOTE: Coordinate pairs outside the BNG bounding box, or without OSTN15 coverage will return a result of
[[nan], [nan]], which cannot be mapped. Since transformed coordinates are guaranteed to be returned in the same order as the input, it is trivial to check for this value. Alternatively, ensure your data fall within the bounding box before transforming them:

Longitude:
East: 1.7800
West: -7.5600
Latitude:
North: 60.8400
South: 49.9600

All functions try to be liberal about what containers they accept: list, tuple, array.array, numpy.ndarray, and pretty much anything that has the __iter__ attribute should work, including generators.

from convertbng.util import convert_bng, convert_lonlat

# convert a single value
res = convert_bng(lon, lat)

# convert longitude and latitude to OSGB36 Eastings and Northings using OSTN15 corrections
lons = [lon1, lon2, lon3]
lats = [lat1, lat2, lat3]
res_list = convert_bng(lons, lats)

# convert lists of BNG Eastings and Northings to longitude, latitude
eastings = [easting1, easting2, easting3]
northings = [northing1, northing2, northing3]
res_list_en = convert_lonlat(eastings, northings)

# assumes numpy imported as np
lons_np = np.array(lons)
lats_np = np.array(lats)
    res_list_np = convert_bng(lons_np, lats_np)

Accuracy

The Rust library produces the following results when round-tripping the 40 OSTN15 test points (only differences are shown)

Test Point Input OSGB36 E (m) Input OSGB36 N (m) Lon diff (°) Lat diff (°) E diff (m) N diff (m)
TP27 319188.434 670947.534 +0.001
TP31 9587.909 899448.996 +6×10⁻⁸ -3×10⁻⁸ +0.003 -0.004
TP32 71713.132 938516.404 +2×10⁻⁸ -1×10⁻⁸ +0.001 -0.002
TP37 180862.461 1029604.114 -0.001
TP38 421300.525 1072147.239 -0.001

Cython Module

If you're comfortable with restricting yourself to NumPy f64 arrays, you may use the Cython functions instead. These are identical to those listed below, but performance on large datasets is better. They are selected by changing the import statement
from convertbng.util import to
from convertbng.cutil import

The conversion functions will accept most sequences which implement __iter__, as above (list, tuple, float, array.array, numpy.ndarray), but will always return NumPy f64 ndarray. In addition, you must ensure that your inputs are float, f64, or d in the case of array.array.

But I Have a List of Coordinate Pairs

coords = [[1.0, 2.0], [3.0, 4.0]]
a, b = list(zip(*coords))
# a is (1.0, 3.0)
# b is (2.0, 4.0)

But I have Shapely Geometries

from convertbng.util import convert_etrs89_to_ll
from shapely.geometry import LineString
from shapely.ops import transform
from math import isnan
from functools import partial

def transform_protect_nan(f, xs, ys):
    # This function protects Shapely against NaN values in the output of the
    # transform, which would otherwise case a segfault.
    xs_t, ys_t = f(xs, ys)
    assert not any([isnan(x) for x in xs_t]), "Transformed xs contains NaNs"
    assert not any([isnan(y) for y in ys_t]), "Transformed ys contains NaNs"
    return xs_t, ys_t

convert_etrs89_to_lonlat_protect_nan = partial(transform_protect_nan, convert_etrs89_to_ll)

line = LineString([[651307.003, 313255.686], [651307.004, 313255.687]])

new_line = transform(convert_etrs89_to_lonlat_protect_nan, line)

Available Conversions (AKA I Want To…)

  • transform longitudes and latitudes to OSGB36 Eastings and Northings very accurately:
    • use convert_bng()
  • transform OSGB36 Eastings and Northings to longitude and latitude, very accurately:
    • use convert_lonlat()
  • transform longitudes and latitudes to ETRS89 Eastings and Northings, very quickly (without OSTN15 corrections):
    • use convert_to_etrs89()
  • transform ETRS89 Eastings and Northings to ETRS89 longitude and latitude, very quickly (the transformation does not use OSTN15):
    • use convert_etrs89_to_lonlat()
  • convert ETRS89 Eastings and Northings to their most accurate real-world representation, using the OSTN15 corrections:
    • use convert_etrs89_to_osgb36()

Provided for completeness:

  • transform accurate OSGB36 Eastings and Northings to less-accurate ETRS89 Eastings and Northings:
    • use convert_osgb36_to_etrs89()

Relationship between ETRS89 and WGS84

From Transformations and OSGM02™ User guide, p7. Emphasis mine.

[…] ETRS89 is a precise version of the better known WGS84 reference system optimised for use in Europe; however, for most purposes it can be considered equivalent to WGS84. Specifically, the motion of the European continental plate is not apparent in ETRS89, which allows a fixed relationship to be established between this system and Ordnance Survey mapping coordinate systems. Additional precise versions of WGS84 are currently in use, notably ITRS; these are not equivalent to ETRS89. The difference between ITRS and ETRS89 is in the order of 0.25 m (in 1999), and growing by 0.025 m per year in UK and Ireland. This effect is only relevant in international scientific applications. For all navigation, mapping, GIS, and engineering applications within the tectonically stable parts of Europe (including UK and Ireland), the term ETRS89 should be taken as synonymous with WGS84.

In essence, this means that anywhere you see ETRS89 in this README, you can substitute WGS84.

What CRS Are My Data In

  • if you have latitude and longitude coordinates:
    • They're probably WGS84. Everything's fine!
  • if you got your coordinates from a smartphone or a consumer GPS:
    • They're probably WGS84. Everything's fine!
  • if you have x and y coordinates, or you got your coordinates from Google Maps or Bing Maps and they look something like (-626172.1357121646, 6887893.4928337997), or the phrase "Spherical Mercator" is mentioned anywhere:
    • they're probably in Web Mercator. You must convert them to WGS84 first. Use convert_epsg3857_to_wgs84([x_coordinates], [y_coordinates]) to do so.

Accuracy

convert_bng and convert_lonlat first use the standard seven-step Helmert transform to convert coordinates. This is fast, but not particularly accurate – it can introduce positional error up to approximately 5 metres. For most applications, this is not of particular concern – the input data (especially those originating with smartphone GPS) probably exceed this level of error in any case. In order to adjust for this, the OSTN15 adjustments for the kilometer-grid the ETRS89 point falls in are retrieved, and a linear interpolation to give final, accurate coordinates is carried out. This process happens in reverse for convert_lonlat.

OSTN15

OSTN15 data are used for highly accurate conversions from ETRS89 latitude and longitude, or ETRS89 Eastings and Northings to OSGB36 Eastings and Northings, and vice versa. These data will usually have been recorded using the National GPS Network:

Accuracy of Your Data

Conversion of your coordinates using OSTN15 transformations will be accurate, but if you're using consumer equipment, or got your data off the web, be aware that you're converting coordinates which probably weren't accurately recorded in the first place. That's because accurate surveying is difficult.

Accuracy of the OSTN15 transformation used in this library

  • ETRS89 longitude and latitude / Eastings and Northings to OSGB36 conversion agrees with the provided Ordnance Survey test data in 39 of the 40 test coordinates (excluding two coordinates designed to return no data; these correctly fail).
  • The only discrepancy – in point TP31– is 1mm.
  • OSGB36 to ETRS89 longitude and latitude conversion is accurate to within 8 decimal places, or 1.1mm.

A Note on Ellipsoids

WGS84 and ETRS89 coordinates use the GRS80 ellipsoid, whereas OSGB36 uses the Airy 1830 ellipsoid, which provides a regional best fit for Britain. Positions for coordinates in Great Britain can differ by over 100m as a result. It is thus inadvisable to attempt calculations using mixed ETRS89 and OSGB36 coordinates.

OSTN15

Implementation

The main detail of interest is the FFI interface between Python and Rust, the Python side of which can be found in util.py (the ctypes implementation), cutil.pyx (the cython implementation), and the Rust side of which can be found in ffi.rs.
The ctypes library expects C-compatible data structures, which we define in Rust (see above). We then define methods which allow us to receive, safely access, return, and free data across the FFI boundary.
Finally, we link the Rust conversion functions from util.py again. Note the errcheck assignments, which convert the FFI-compatible ctypes data structures to tuple lists.

Building the binary for local development

  • ensure you have Rust 1.x and Cargo installed
  • download the Rust extension for your platform from github
  • copy the binary into the convertbng directory
  • run python setup.py build_ext --inplace

Tests

  • install pytest
  • run pytest

License

Blue Oak Model License

Citing Convertbng

If Convertbng has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing it as follows (example in APA style, 7th edition):

Hügel, S. (2021). Convertbng (Version X.Y.Z) [Computer software]. https://doi.org/10.5281/zenodo.5774931

In Bibtex format:

@software{Hugel_Convertbng_2021,
author = {Hügel, Stephan},
doi = {10.5281/zenodo.5774931},
license = {MIT},
month = {12},
title = {{Convertbng}},
url = {https://github.com/urschrei/convertbng},
version = {X.Y.Z},
year = {2021}
}

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

convertbng-0.7.11.tar.gz (46.9 kB view details)

Uploaded Source

Built Distributions

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

convertbng-0.7.11-cp314-cp314-win_amd64.whl (13.7 MB view details)

Uploaded CPython 3.14Windows x86-64

convertbng-0.7.11-cp314-cp314-manylinux_2_28_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

convertbng-0.7.11-cp314-cp314-manylinux_2_28_aarch64.whl (13.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

convertbng-0.7.11-cp314-cp314-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

convertbng-0.7.11-cp314-cp314-macosx_10_15_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

convertbng-0.7.11-cp313-cp313-win_amd64.whl (13.8 MB view details)

Uploaded CPython 3.13Windows x86-64

convertbng-0.7.11-cp313-cp313-manylinux_2_28_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

convertbng-0.7.11-cp313-cp313-manylinux_2_28_aarch64.whl (13.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

convertbng-0.7.11-cp313-cp313-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

convertbng-0.7.11-cp313-cp313-macosx_10_13_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

convertbng-0.7.11-cp312-cp312-win_amd64.whl (13.8 MB view details)

Uploaded CPython 3.12Windows x86-64

convertbng-0.7.11-cp312-cp312-manylinux_2_28_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

convertbng-0.7.11-cp312-cp312-manylinux_2_28_aarch64.whl (13.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

convertbng-0.7.11-cp312-cp312-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

convertbng-0.7.11-cp312-cp312-macosx_10_13_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

convertbng-0.7.11-cp311-cp311-win_amd64.whl (13.8 MB view details)

Uploaded CPython 3.11Windows x86-64

convertbng-0.7.11-cp311-cp311-manylinux_2_28_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

convertbng-0.7.11-cp311-cp311-manylinux_2_28_aarch64.whl (13.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

convertbng-0.7.11-cp311-cp311-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

convertbng-0.7.11-cp311-cp311-macosx_10_12_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

convertbng-0.7.11-cp310-cp310-win_amd64.whl (13.8 MB view details)

Uploaded CPython 3.10Windows x86-64

convertbng-0.7.11-cp310-cp310-manylinux_2_28_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

convertbng-0.7.11-cp310-cp310-manylinux_2_28_aarch64.whl (13.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

convertbng-0.7.11-cp310-cp310-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

convertbng-0.7.11-cp310-cp310-macosx_10_12_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file convertbng-0.7.11.tar.gz.

File metadata

  • Download URL: convertbng-0.7.11.tar.gz
  • Upload date:
  • Size: 46.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for convertbng-0.7.11.tar.gz
Algorithm Hash digest
SHA256 a1bc7b3ab648bbb93b686dfc3f61bf5597a53629ef8e919b654cb3bacac34099
MD5 ec7e211b1913c4e65c25fe61966e2ff9
BLAKE2b-256 9ee8eb078eb9a2eb61ed8102c4ca894c29be90fe8ebeaabcf22197fedfa638ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11.tar.gz:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b01fd21061420eddf1024952dd0a9fe5ce346655238503bed6430bac8ef5f512
MD5 1588004a84d53febf9acf501a9d0855b
BLAKE2b-256 f7a61dda0e545ef3a4b0289da849102d4d5de97f1272009e5f03cc568ef0e25d

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp314-cp314-win_amd64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22c1f366c07bd9fc68047c1e3522e8c5561649c4a342e42d2c4504f4a15d3d36
MD5 f8ecc4d48de96fa9ed134ae3ad12c671
BLAKE2b-256 30db06d4ecdedae31c64e8c69203936116ae924e25e760237a1f87aed593c017

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ae5e8239e32bf60672b72539054e79b1823989e234e5c7bc4dea54fc2e54bda2
MD5 beb58ac6f710ad9f01173855456ad434
BLAKE2b-256 9dd6877544eb5fd27a70dc09ffab0153a6574107c3cd0a38c3406a106e822c4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2dd1ed76ed3c3851e3425517196681e36678e2ca6b05f71b8a42c949fc96fd53
MD5 973c1660406feae6d81796d0c220af19
BLAKE2b-256 a52b57215b392e089f77cd1f4463aa9ae54da0cd35954e9510bbe4c345b6a816

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 53e5e559425ef0e499b2828eee5c0c5df95082abb285dd7d3eb47e014ad6f34c
MD5 38324187e7f03e393049262daed929f8
BLAKE2b-256 a9670c33802c8c6049c466f6dfbedea9a18468971bf7ce0c89f88a311d7d9a4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 df57c18e48ed748e68b23eb1008cf8f5025527d84a83c62a27d6ae002d6bdab1
MD5 39b6c91c13765a8c609a2d833b5249c9
BLAKE2b-256 5b6fa3c6c11be74045950adc9f3521c190380a1dcbfe5e550fc90f3506da9a2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5acc24b3b51f954e8c679289a4ec48de189e2088b6e4567d628316f136c5415a
MD5 269f041b69020c5bdf61ae84860de584
BLAKE2b-256 5208650d6cea3bbecbb825d944f89dcb0c670685dbe4bb76d0dfe2bd4b9651c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 582f0e17fa0b7cbea8cb2f5e239406992045a74f1937a1fa80b3aef9120a3d86
MD5 682aeb21c08a74d7be7bc29602ac950a
BLAKE2b-256 ac6c1af3f605c81b2af663d977149387c8dee3be860f969c26b335494817971a

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c3f19adbc14eae8bb4a23377059706dccaa2799e5133e1ce6bda2eb5b733952
MD5 28a3efa8e3121d58fdb91c81a75770a1
BLAKE2b-256 916a59c7f20cdd1d95eaae74ddafcdcde558965b79f1684a3dc26232229a0d9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 738ce002f4c1f9f7d865b36aa9d6093b773ef5ed663e1a22383fa1f56a72a1fe
MD5 b7340e46741b61f02503e460af8ab3bd
BLAKE2b-256 71037362aa8bae3e8e5e3442c9aa3c5207bc8a1d30fa157a6e29ca36d535d497

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 594613c8d7e0e7f8adcfdffcd34ffe66bb75bf83597771156ffa43269c4d873c
MD5 85f448ceb58f7b7a3ac4943cbcbdab32
BLAKE2b-256 81aa140ac8adb48fc6d3274b7bf4720b5b66486c19f9721fccf0140746f4da62

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1285adf2c07f379b359133487a537199cbb5f585bceddf3c7084edcbd2cc2062
MD5 e7d31e48c7129c306f8406fba13c0a8e
BLAKE2b-256 3002855723022d910fed9d32420389a7c7d4e2b0bc4ae4e795e3e6702f2a30df

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6bf0977f2cb01cdd11b2141c22ee70f62580c17ac2066ab196097a7998667fb1
MD5 dc57921ce677d59833c879fccc5a6ccf
BLAKE2b-256 8f614e45658db17b22a21d42beb644826eec90fe43b15d7c895f7d4d16f48c49

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eec6d5b4b169792fd7c4fa4d495bd9f7f9455b5f3c119a69fd627ff5c96a3326
MD5 877c4f7c8fba89950f2716c86504ca30
BLAKE2b-256 a5544d8e502c53691ffdb4552a24a5bc93377d05f22c11bde0ce38cf56ca5886

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d3f3b0a05ad44920a2ce5081515e8e4f2ccfeb97456f035fe24ed733b8ce9650
MD5 dab1e21d1eb3792cf8b34f36da802537
BLAKE2b-256 adb6c374db6251642e87907dfb60a1cb84041dae307f744fbf06f4c72a3880b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 45120e7960521c445f4a9ccf56d3caddb8188f4d6bf9e7f44f9bd25b3a5bedc0
MD5 33fd5c01989648aff1a6d1b1cad1d8a2
BLAKE2b-256 db45dc289bfe8d5fed35b80d627a828ca7a593efa4b37c5924032906d3574525

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36d0527836aea32eb1e5bb8b9f3b92d90d922ba6b652ea6e0f04bae3604de1ba
MD5 62e1561423449446b04a9ea453b07a01
BLAKE2b-256 a4a403acddbb93e681a4372f4ecefca4798551ffc133b120604c5d18d921da5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4a43e488478d0919bb71f96602894ee8bc6f99c0ccc45096327cf7939262e463
MD5 a571a4b7b1de554522b4ce6d515151c5
BLAKE2b-256 b498ae8a8a38c51d6f356911d199080fc8069cd01217dfff699a1c581c05561a

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f3ca52e4fcb2b8dbc5c5d891d32c9ffab0ca918ff81b26aa3252cc5fde250f7
MD5 36acf4cf256a6a3030147228c213cd54
BLAKE2b-256 12294b6d5bbbe110263aa4939ba96292cc7c864ea958d8c58f56a88c8c34ab1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 725960ef36d89bd19c29ec7b8c4abac747c3e530d47cf65e23149e8a69b0d63e
MD5 79edffe5a5cfb106575cd45218476903
BLAKE2b-256 2231b58782fc1c20eeabfaca9e16f27de6332b39a4c9c1551fc6c67a02e4c979

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1e78733a367cce98d695aa969b1da00e9348c140facee61d46b46956a357ccb4
MD5 bbee8c7aba678eff166f6136e56c3627
BLAKE2b-256 4e62153cc4f1a79441d04654db0da108d5c37c54b53242a59b4a9bccab347752

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e621a534ba7562ccba775a5381ef22c8afa41b7cb80b6a0f4d9304ae60bdf75c
MD5 bd47803938d45a5aa0b707cf6221aa28
BLAKE2b-256 7689f690459ed6f02f59f953ddf1fe5d681bddbbdb56a65d239e90024753c472

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7f244c6159939bd4dee47461009a43c9a0abbd02ba9264692ff9541070f3a3e5
MD5 f4d37dd5bbd94ff53a56100751d1faeb
BLAKE2b-256 908812c1ac0adb1f77335a7e3781ac62aa1dedc265bc069952b6846d4c8cf4e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18206b93a1939ec8c251f60ffb3041458560b291c2563798c02c32c29e4a5bef
MD5 14d324e74f7e057732cccc903f52f15b
BLAKE2b-256 e989a330866110315c5451a8ee4145050fad2fea38b9fec04d3cb1a26cb32bca

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on urschrei/convertbng

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

File details

Details for the file convertbng-0.7.11-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for convertbng-0.7.11-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0df54bcf060dd14c97bba7134fb373fd837fbbf1f62fee72b9f33b3b0ea94ee4
MD5 f3348a9bd9e8e4aea0587ab01646580b
BLAKE2b-256 b884bf2584e6157d445391492aa36b4ef737b32388c731c4685adaf9c3bdb66a

See more details on using hashes here.

Provenance

The following attestation bundles were made for convertbng-0.7.11-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on urschrei/convertbng

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