$npx skillfedfor your agent

convertbng

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

With conditionsPyPI Python ModulesReleased Jun 2026100.3K downloads / moBlueOak-1.0.0Platform wheel

Decision gist · record as of 2026-08-14

platform wheels — convertbng-1.0.0-cp310-cp310-macosx_11_0_arm64.whl · convertbng-1.0.0-cp310-cp310-macosx_11_0_x86_64.whl · convertbng-1.0.0-cp310-cp310-manylinux_2_28_aarch64.whl
v1.0.0 · released 2026-06-08 · Python >=3.10 · 1 runtime deps: numpy

Yes, if you need accurate WGS84 to British National Grid or ETRS89 conversion. The package is actively maintained, has no known vulnerabilities, and offers fast Rust-backed performance with convenient Python APIs. The unclear license treatment warrants a quick verification, but the BlueOak-1.0.0 SPDX identifier suggests permissive licensing. Install friction is moderate due to compiled binaries, but pre-built wheels eliminate compilation for standard platforms.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Pre-built wheels available for Linux, macOS, and Windows 64-bit; other platforms require building from source with the lonlat_bng Rust library.
  • Medium install friction due to compiled Rust binaries, but pre-built wheels are available for common platforms (Linux x86_64/aarch64, macOS x86_64/arm64, Windows 64-bit).

License · maintenance · safety

BlueOak-1.0.0 (unclear) — License treatment is marked unclear in the metadata; the SPDX identifier is BlueOak-1.0.0, which is a permissive open-source license, but you should verify the actual license terms before use.

last release 2026-06-08 (67 days) · last repo commit 2026-08-13 · 41 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 100,265 downloads/mo, #12,997 on PyPI

Verify before relying

pip install convertbng

from convertbng.util import convert_bng, convert_lonlat
import numpy as np

# Convert single coordinates
res = convert_bng(lon, lat)

# Convert arrays
lons = np.array([lon1, lon2])
lats = np.array([lat1, lat2])
res_list = convert_bng(lons, lats)
  • Whether BlueOak-1.0.0 license is compatible with your project's licensing requirements
  • Performance characteristics on large coordinate arrays compared to alternatives
  • Whether OSTN15 coverage is sufficient for your geographic region of interest
Same gist for agents: .md · .json

What it is and what it does

convertbng is a Python wrapper around a Rust library that performs fast, accurate coordinate system transformations between WGS84 (decimal longitude/latitude) and two British/European grid systems: OSGB36 (British National Grid) and ETRS89. It uses the OS OSTN15 transformation for high accuracy when converting to BNG, and offers a faster direct projection option for ETRS89. The package accepts flexible input formats—single values, lists, tuples, numpy arrays, or any iterable—and returns results as lists of two lists (eastings and northings, or vice versa).

The library is built as pre-compiled wheels for common platforms, so installation is straightforward and requires no compilation. It depends only on numpy and is designed for geospatial applications where accurate coordinate conversion between global WGS84 and UK/European grid systems is needed. The Rust backend ensures conversion speed even on large datasets, with optional Cython functions available for further performance gains on numpy arrays.

Use it for

  • Convert GPS coordinates to British National Grid for UK mapping applications
  • Transform survey data from WGS84 to ETRS89 for European geospatial analysis
  • Batch-process coordinate lists to align with UK ordnance survey data
  • Integrate coordinate transformation into GIS workflows mixing WGS84 and BNG systems
  • Validate that coordinates fall within the BNG bounding box before mapping

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need accurate WGS84 to British National Grid or ETRS89 conversion.

The package is actively maintained, has no known vulnerabilities, and offers fast Rust-backed performance with convenient Python APIs. The unclear license treatment warrants a quick verification, but the BlueOak-1.0.0 SPDX identifier suggests permissive licensing. Install friction is moderate due to compiled binaries, but pre-built wheels eliminate compilation for standard platforms.

Install

convertbng on PyPI

Before you install

Medium install friction due to compiled Rust binaries, but pre-built wheels are available for common platforms (Linux x86_64/aarch64, macOS x86_64/arm64, Windows 64-bit). Requires Python 3.10+. Package is actively maintained with recent releases.

Requires Python 3.10 or later. Pre-built wheels available for Linux, macOS, and Windows 64-bit; other platforms require building from source with the lonlat_bng Rust library.

License in practice

License treatment is marked unclear in the metadata; the SPDX identifier is BlueOak-1.0.0, which is a permissive open-source license, but you should verify the actual license terms before use.

Quickstart

pip install convertbng

from convertbng.util import convert_bng, convert_lonlat
import numpy as np

# Convert single coordinates
res = convert_bng(lon, lat)

# Convert arrays
lons = np.array([lon1, lon2])
lats = np.array([lat1, lat2])
res_list = convert_bng(lons, lats)

Verify before relying

  • Whether BlueOak-1.0.0 license is compatible with your project's licensing requirements
  • Performance characteristics on large coordinate arrays compared to alternatives
  • Whether OSTN15 coverage is sufficient for your geographic region of interest

Package facts

LicenseBlueOak-1.0.0 unclear
Python supportSupports the current Python release >=3.10
Install frictionMedium. Platform-specific wheel
Runtime dependencies
1 package
numpy
MaintenanceActively maintained 67 days since the last release
Last repo commit
First released
Downloads100,265 / month, #12,997 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: GISTopic :: Software Development :: Libraries :: Python Modules

Evidence: convertbng-1.0.0-cp310-cp310-macosx_11_0_arm64.whl; convertbng-1.0.0-cp310-cp310-macosx_11_0_x86_64.whl; convertbng-1.0.0-cp310-cp310-manylinux_2_28_aarch64.whl; convertbng-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl; convertbng-1.0.0-cp310-cp310-win_amd64.whl; convertbng-1.0.0-cp311-abi3-macosx_11_0_arm64.whl; convertbng-1.0.0-cp311-abi3-macosx_11_0_x86_64.whl; convertbng-1.0.0-cp311-abi3-manylinux_2_28_aarch64.whl; convertbng-1.0.0-cp311-abi3-manylinux_2_28_x86_64.whl; convertbng-1.0.0-cp311-abi3-win_amd64.whl

Tags

Capabilities
WGS84 to BNG conversionlongitude latitude to grid coordinatesOSGB36 ETRS89 transformBritish National Grid convertercoordinate system conversiongeospatial coordinate transformOSTN15 correction
Topics
geospatialcoordinate-transformgis
PyPI keywords
GeoOSTN02OSTN15BNGOSGB36GIS

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “WGS84 to BNG conversion”

  • convertbngConverts decimal WGS84 longitude/latitude coordinates to and from…
  • utmConverts between latitude/longitude coordinates and Universal…
  • reprojReproject shapely geometries between coordinate reference systems…

Give your agent the search over MCP, or paste the wish link into any chat.

More Python Modules packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
PyYAML Worth it
PyPI · Python Modules · released Sep 2025

PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.

MITcompiled wheel · 3.8+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
annotated-types Worth it
PyPI · Python Modules · released Jul 2026

Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.

Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…

MITpure Python · 3.10+
871.3Mdownloads / mo
typing-inspection Worth it
PyPI · Python Modules · released Aug 2026

Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.

MITpure Python · 3.10+
783.0Mdownloads / mo

See also utm · mgrs · reverse_geocoder · lat-lon-parser · geohash2 · reverse-geocode · pyGeoTile · morecantile · timezonefinder · tzfpy