Changelog#

Version 0.5.0#

Released on: 2024/10/22

doi: https://doi.org/10.5281/zenodo.13975491

Breaking changes:

  • Drop support for Python 3.7 (#188)

New features:

  • Add geocentric_radius to TriaxialEllipsoid (#146)

  • Add a volume property for the Sphere (#152)

  • Add mass, mean_density, and volume_equivalent_radius properties to classes (#173)

  • Add true mean radius for Sphere, Ellipsoid and TriaxialEllipsoid (#177)

  • Add area and area_equivalent_radius to all three ellipsoid classes (#178)

  • Add new planetary ellipsoids and new naming scheme (#180)

  • Add attributes for the normal potential to Sphere and Ellipsoid (#184)

  • Add normal_gravitational_potential, normal_gravity_potential, and centrifugal_potential methods to Ellipsoid and Sphere classes (#187)

  • Add the semimedium_axis and semimajor_axis_longitude to the Sphere and Ellipsoid classes for compatibility with the TriaxialEllipsoid (#192)

  • Add __str__ method to Ellipsoid classes (#213)

Maintenance:

  • Extend support for Python 3.11 (#147)

  • Add Blazej Bucha to AUTHORS.md (#148)

  • Update Leo’s affiliation from Liverpool to São Paulo (#149)

  • Update Black format to version 24.2 (#150)

  • Use Burocrata to check/add license notices (#153)

  • Use Dependabot to manage updates to GitHub Actions (#154)

  • Use Trusted Publisher to deploy to PyPI (#160)

  • Move package configuration to pyproject.toml (#171)

  • Add link to Leo’s ORCID (#190)

  • Extend support to Python 3.12 (#189)

  • Run tests with oldest dependencies on x86 macos (#200)

  • Replace _version_generated.py for _version.py (#199)

  • Move push to codecov to its own job in Actions (#203)

  • Update how output variables are stored in Actions (#206)

  • Replace build for python-build in environment.yml (#207)

Documentation:

  • Update the version of Sphinx and its plugins (#170)

  • Fix typo in installation instructions (#172)

  • Update coordinate conversions web documentation (#212)

  • Replace sphinx napoleon for numpydoc (#195)

This release contains contributions from:

  • Leonardo Uieda

  • Mark Wieczorek

  • Santiago Soler

  • Blazej Bucha

Version 0.4.1#

Released on: 2022/10/27

doi: https://doi.org/10.5281/zenodo.7258175

Documentation:

  • 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)

Maintenance:

  • 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

doi: https://doi.org/10.5281/zenodo.6779998

Warning

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)

Deprecations:

  • 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)

Documentation:

  • 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)

Maintenance:

  • Convert the README to Markdown (#113)

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

  • Move to pyproject.toml/setup.cfg with build instead of setup.py (#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

doi:10.5281/zenodo.5577885

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

doi:10.5281/zenodo.5575827

Highlights:

  • 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)

Enhancements:

  • 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)

Documentation:

  • 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)

Maintenance:

  • Add Mariana Gomez to AUTHORS.md (#90)

  • Add Chris Dinneen to AUTHORS.md (#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/_version.py 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/conf.py 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.