Version 0.4.1#

Released on: 2022/10/27



  • Update contact link in the docs side bar (#141)

  • Add definition of “co-located grids” to the glossary (#139)

  • Fix typo in overview docs page (#137)


  • Undo deprecation of coordinate conversion methods (#142)

  • Drop support for Python 3.6 (#144)

  • Add serve target in doc/Makefile (#136)

This release contains contributions from:

  • Mariana Gomez

  • Santiago Soler

  • Leonardo Uieda

Version 0.4.0#

Released on: 2022/08/09



Boule v0.4.0 is the last release that is compatible with Python 3.6.

Backwards incompatible changes:

  • Refactor the Sphere class to not inherit from Ellipsoid. Breaks backwards compatibility due to the removal of inherited methods and attributes (#129)

  • Make all package modules private by adding a leading _ to their name (#119)

  • Rename the Ellipsoid.emm attribute to Ellipsoid._emm to make it private (#123)

  • Remove the boule.test function (#116)


  • Deprecate the coordinate conversion methods which have been ported to the pymap3d library v2.9.0 (#126)

New features:

  • Add the volume property to Ellipsoid (#132)

  • Add missing attributes to Ellipsoid for pymap3 compatibility (#121)

  • Add the TriaxialEllipsoid class with geometric parameters (#72)

  • Add a normal gravitation method to Sphere (#73)


  • Add a logo for Boule (#125)

  • Refactor the documentation tutorials to shift the focus to how to do things with Boule and point to other pages for more of the theory (#130)

  • Refactor documentation of TriaxialEllipsoid (#128)

  • Refactor the documentation of Ellipsoid (#127)

  • Fix formatting for code to pip install from GitHub (#118)

  • Fix license link and compatibility warning in the README (#117)

  • Use jupyter-sphinx instead of sphinx-gallery and update the documentation front page (#112)

  • Point to our organization wide guides in the documentation (#108)

  • Add an example calculating global gravity disturbances (#102)

  • Update Sphinx version to 4.5.0 (#103)


  • Convert the README to Markdown (#113)

  • Specify oldest supported version of each dependency (#111)

  • Move to pyproject.toml/setup.cfg with build instead of (#110)

  • Replace pylint with flake8 and some extensions (#109)

  • Rename the git “master” branch to “main” (#107)

  • Update code style to Black 22.3.0 (#104)

  • Replace Google Analytics with Plausible for page visit statistics (#99)

This release contains contributions from:

  • Agustina Pesce

  • Chris Dinneen

  • Leonardo Uieda

  • Santiago Soler

Version 0.3.1#

Released on: 2021/10/19


Bug fix:

  • Package the missing requirements.txt file in source distributions (#96)

This release contains contributions from:

  • Leonardo Uieda

Version 0.3.0#

Released on: 2021/10/18



  • Add support for Python 3.9 and 3.10 (#87)

  • Add reference Sphere class for bodies with zero flattening (#42)

  • Add spheroids for Venus (#68), Mercury, and the Earth’s Moon (#71)


  • Warn users if normal gravity is being computed on internal point (#83)

  • Add option to return normal gravity in SI units (#69)

  • Add parameter validation for the Sphere class (#56)

  • Add parameter validation for the Ellipsoid class (#45)

  • Make parameter validation methods private (#55)

  • Tests normal gravity against Somigliana equation (#51)

  • Fix normal gravity equation of Sphere (#52)

  • Fix missing centrifugal term for spheres at the equator (#48)


  • Update documentation theme to sphinx-book-theme (#92)

  • Add tutorial for geodetic to geocentric coordinate transformations (#84)

  • Improvements to docstrings of Ellipsoid and Sphere (#49)


  • Add Mariana Gomez to (#90)

  • Add Chris Dinneen to (#74)

  • Only run CI for Python 3.6 and 3.10 now that it’s out (#89)

  • Update setuptools_scm configuration to save a boule/ file instead of relying on pkg_resources to get the version number (#91)

  • Use the OSI version of item 3 in the license (#70)

  • Add license and copyright notice to every .py file (#67)

  • Refactor GitHub Actions workflows to separate building the docs (#65)

  • Replace versioneer with setuptools-scm (#61)

  • Remove configuration files for unused CI (#60)

  • Replace Travis and Azure with GitHub Actions (#57)

  • Add conda-forge badge to the README (#40)

  • Format the doc/ file with Black (#41)

This release contains contributions from:

  • Chris Dinneen

  • Mariana Gomez

  • Hugo van Kemenade

  • Lu Li

  • Santiago Soler

  • Leonardo Uieda

Version 0.2.0#

Released on: 2020/07/10

Digital Object Identifier
  • Add the Ellipsoid.geocentric_radius method to calculate the distance from the center of the ellipsoid to its surface as a function of latitude (geodetic or geocentric). (#37)

  • Add the Ellipsoid.prime_vertical_radius method for computing the prime vertical radius (usually represented by N in equations) as a function of geodetic latitude. (#35)

  • Fix typo in README contributing section (#32)

This release contains contributions from:

  • Leonardo Uieda

  • Rowan Cockett

  • Santiago Soler

Version 0.1.1#

Released on: 2020/01/10

This release contains only a documentation fix: include install instructions for conda and pip. No functionality has been changed (hence, no DOI was issued).

Version 0.1.0#

Released on: 2020/01/10

Digital Object Identifier

First release of Boule including basic functionality:

  • Definition of the Ellipsoid class: based on the semi-major axis, flattening, geocentric gravitational constant, and angular velocity. Other quantities are derived from these 4.

  • Computation of normal gravity and coordinate conversions between geodetic and geocentric.

  • Ellipsoid realizations for the Earth (WGS84 and GRS80) and Mars.

Version 0.0.1#

Released on: 2019/11/06

Digital Object Identifier

This release is a placeholder that serves as a marker for the start of this project. It is used to register the project on PyPI and test the continuous integration deployment process.