geographiclib
The geodesic routines from GeographicLib
2.1
18M downloads/mo
#1086 most downloaded on PyPI
geographiclib/geographiclib-python
What this package is like to depend on
Last release 12 months ago
21 Aug 2025
Release timing varies
gaps range from 2 months to 3.3 years
This project publishes no release notes
the list below is its commits, not an announcement
Nothing withdrawn
no release was ever pulled
15 years old
28 releases · first in 2011
0 releases in the last 12 months
see the full history below
Release timeline
28 releases · Sep 2011 to Aug 2025Releases
latest 28-
2.121 Aug 2025Commits, not release notes
This project publishes no release notes. Between
v2.0andv2.1there were 15 commits, 13 of them substantive:- Roll to 2.0.1dev1
- Migrate static metadata to setup.cfg.in, add pyproject.toml
- Update links to C++ classes
- Merge from main
- Minor doc fixes.
- MPFR fix
- Change email address to karney@alum.mit.edu.
- Relax bisection tolerance. Add GeodSolve99 test.
- Fix: Cannot access attribute "WGS84" for class ...
- Fix linting complaints.
- Various housekeeping tasks
- Fix bug in geodesic inverse solution for very prolate ellipsoids.
- Version 2.1
-
2.023 Apr 2022Commits, not release notes
This project publishes no release notes. Between
v1.52andv2.0there were 18 commits, 17 of them substantive:- Add README
- Merge from devel
- Rearrange directory structure for stand-alone repository.
- Use pip to do the install. Rejig cmake files. Add lint target.
- Fix bug where a geodesic with lat1 = 0 and lat2 = nan was treated as
- Replace some routines in geomath.py by their equivalents in math
- Add geomath sign fixes + sincosde.
- Add tests and code tweaks to complete +/-0 changes.
- Add sanitize cmake target to check whitespace hygiene
- Add planimeter reverse arctic test to catch transit bug and fix.
- Remove python 2.x support.
- Housekeeping + add GeodSolve96 test + fix.
- geodesics.rst: steal :math: conversion from PROJ
- More house cleaning.
- Merge from devel
- Housecleaning + simplify doc. Revert math changes to geodesics.rst.
- Version 2.0
-
1.5222 Jun 2021Commits, not release notes
This project publishes no release notes. Between
v1.50andv1.52there were 9 commits, 9 of them substantive:- Improve way PROJECT_ROOT_DIR is determined in cmake/CMakeLists.txt +
- Merge from devel for version 1.51
- Fix for inaccurate hypot with python 3.[89]
- More aggressive about preventing negative s12 and m12 for short lines.
- Adjust threshold for dealing with negative s12 + m12 geodesics.
- Check for non-negative a12, s12, m12 from GeodSolve82 test.
- Visual Studio 2015's hypot has the same bug as with some versions of python
- Version 1.52
- Merge from devel for version 1.52
-
1.5024 Sep 2019Commits, not release notes
This project publishes no release notes. Between
v1.49andv1.50there were 25 commits, 23 of them substantive:- Workaround bugs in fmod+sin in VS-201[012] in C implementation.
- Merge from tag v1.49.2-c
- Math::cbrt, Math::atanh, and Math::asinh now preserve the sign of -0.
- Minimum CMake version = 3.0.0. Introduce GeographicLib_SHARED target
- Update copyright dates for changes in 2018
- Minor cleanup.
- Add test of sign of azi2 (= +0.0) in GeodSolve73 for all implementations.
- Implement GeodSolve80 - GeodSolve83 coverage tests for
- fortran, matlab: add Planimeter15 - Planimeter28 tests
- Manually merge fix to python/setup.up
- PolygonArea.js: fix bugs in TestEdge and Compute. Add coverage tests
- Implement fix to AddEdge/transitdirect bug in Java, JS, + Python
- PolygonArea: be more systematic about the reduction of the area. This
- Avoid range errors with python fmod(inf) and sin(inf). Fix use of
- Update copyright dates for 2019.
- Doc updates: Remove restriction to simple polygons. Improve
- Misc doc updates
- Update majic-parent to 0.2.11 (release) + http: -> https: in many files.
- Various documentation update.
- Doc updates getting ready for 1.50 release
…and 3 more.
-
1.4905 Oct 2017Commits, not release notes
This project publishes no release notes. Between
v1.48andv1.49there were 5 commits, 5 of them substantive:- Limit line length to 79. Remove unneeded inline qualifiers.
- Add two geodesic (near antipodal) inverse tests.
- geodesic.py: Fix typo in doc string (thanks to Marco Bodrato).
- Set release date for 1.49. Use VS 14 2015 for Windows binaries.
- Merge from devel for version 1.49
-
1.4809 Apr 2017Commits, not release notes
This project publishes no release notes. Between
v1.47andv1.48there were 8 commits, 8 of them substantive:- Switch C++ library to 1.48.
- Change http://geographiclib.sf.net to https://geographiclib.sf.io
- Switch other sourceforge URLs to https.
- Convert wikimedia links to https
- Python package: Change default range for longitude and azimuth to (-180,180]
- Workaround bug in fmod for python 2.7 on 32-bit Windows.
- Set release date for 1.48.
- Merge from devel for version 1.48
-
1.4715 Feb 2017Commits, not release notes
This project publishes no release notes. Between
v1.45andv1.47there were 39 commits, 37 of them substantive:- Standardize on sourceforge.net for host name
- Add sphinx documention python package.
- Break up doc target into several targets.
- move python/test to python/geographiclib/test and include in setup.py.
- add setup.py commands for test and build_sphinx
- update/fix build_sphinx
- python/setup.py: Fix path for tests. Remove support for generating
- Top-level pom.xml no longer included in release.
- quadmath fixes: copysign implementation + skip nan tests until boost 1.60.
- Remove LONG_NOWRAP from implementations of geodesics in other languages
- geodesic.py: implement better handling of lam12 close to 180. Also...
- Propagate copysign fixes to all languages
- * Include sample python wrapper code via boost-python in python/wrapper.
- Doc fixes
- Fix missing files in autoconf packaging.
- geodesic{line,}.py: implement reference point 3
- JS + python: fix lint issues
- Merge from devel so that changes to GeodesicLine can be incorporated
- Try to make documentation consistent across language implementations.
- Use relative URL's if possible.
…and 17 more.
-
1.46.315 Feb 2016Nothing published for this version
-
1.4530 Sep 2015Commits, not release notes
This project publishes no release notes. Between
v1.44andv1.45there were 11 commits, 10 of them substantive:- Housekeeping and shift to version 1.45
- Fix problems related to max(-0.0, +0.0) returning -0.0 with some
- * JavaScript: don't "install" source js files and other tweaks.
- Deprecate (or if not documented remove) substitution of 1/f for f if f > 1.
- * Use Java's toRadians and toDegrees and so get rid of GeoMath.degree.
- * Create and install geographiclib.js and geographiclib.min.js.
- Fix some build issues
- * Fix C compilation flags for clang.
- * Expand test cases for max(-0.0,+0.0) bugs (which also caused incorrect
- * Fix geodesic inversion so that nan + point on equator or pole returns
-
1.4414 Aug 2015Commits, not release notes
This project publishes no release notes. Between
v1.43andv1.44there were 18 commits, 14 of them substantive:- Separate expansion for J(sigma) (C++ and MATLAB). Use only 1 temporary
- Geodesic: Use 1+eps series for A2 for all languages (C++ and MATLAB done
- Fixes for geodesic routines: C, Fortran, Python (partial).
- Propagation of changes to geodesic routines for JavaScript (partial),
- * Add GARS ang Georef. Bump library so version to 14.2.0 to reflect
- * Implement AngNormalize and sincosd/atan2d fixes for Java and
- Update copyright dates.
- * Geodesic.js + Interface.js: skip redundant calls to AngNormalize.
- * python/geographiclib/init.py defines version and
- Merge from devel to get ready for 1.44
- * Test and fix changes to maxima interface.
- * Add Math::LatNormalize. Still need to use consistently.
- * JavaScript: the low level functions include the (normalized) input
- Fix python typo. Improve GeodSolve man page.
-
1.4322 May 2015Nothing published for this version
-
1.4018 Dec 2014Nothing published for this version
-
1.3911 Nov 2014Nothing published for this version
-
1.3411 Dec 2013Nothing published for this version
-
1.3101 Jul 2013Nothing published for this version
-
1.3027 Feb 2013Nothing published for this version
-
1.2916 Jan 2013Nothing published for this version
-
1.2811 Dec 2012Nothing published for this version
-
1.2729 Nov 2012Nothing published for this version
-
1.2622 Oct 2012Nothing published for this version
-
1.2517 Oct 2012Nothing published for this version
-
1.2422 Sep 2012Nothing published for this version
-
1.2317 Jul 2012Nothing published for this version
-
1.2023 Mar 2012Nothing published for this version
-
1.1913 Mar 2012Nothing published for this version
-
1.1609 Dec 2011Nothing published for this version
-
1.1508 Nov 2011Nothing published for this version
-
1.1430 Sep 2011Nothing published for this version