{"library":"pygeodesy","title":"PyGeodesy","description":"PyGeodesy is a pure Python implementation of geodesy tools for various ellipsoidal and spherical earth models. It offers precision exact, elliptic, trigonometric, vector-based, iterative, and approximate methods for geodetic (lat-/longitude), geocentric (ECEF cartesian), local (LTP), and certain triaxial ellipsoidal coordinates. The library provides functionalities for computing distance, area, bearing, intersections, resections, and conversions across various coordinate systems and earth models. The current version is 26.3.26, and it is actively maintained with frequent updates.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pygeodesy"],"cli":null},"imports":["from pygeodesy.ellipsoidalVincenty import LatLon","from pygeodesy import GeoidKarney"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from pygeodesy.ellipsoidalVincenty import LatLon\n\n# Define two geographic points (latitude, longitude)\npoint1 = LatLon(41.49008, -71.312796) # Newport, RI\npoint2 = LatLon(41.499498, -81.695391) # Cleveland, OH\n\n# Calculate the geodesic distance between the two points\ndistance = point1.distanceTo(point2)\n\nprint(f\"Distance between Newport, RI and Cleveland, OH: {distance:,.2f} meters\")","lang":"python","description":"This quickstart calculates the geodesic distance between two points using the Vincenty formulae, which is suitable for ellipsoidal earth models. It demonstrates the direct import of the `LatLon` class from a specific ellipsoidal model submodule and its `distanceTo` method.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"26.5.9","pypi_latest":"26.5.9","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2,"avg_import_s":0.1,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.09,"mem_mb":4.8,"disk_size":"26.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.06,"mem_mb":4.8,"disk_size":"26M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.14,"mem_mb":5.8,"disk_size":"29.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.12,"mem_mb":5.8,"disk_size":"30M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.11,"mem_mb":5.5,"disk_size":"20.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.12,"mem_mb":5.5,"disk_size":"21M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.12,"mem_mb":6.3,"disk_size":"20.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.12,"mem_mb":6.3,"disk_size":"21M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.08,"mem_mb":4.8,"disk_size":"25.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pygeodesy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.07,"mem_mb":4.8,"disk_size":"26M"}]}}