Galpy

Latest version: v1.10.2

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

1.9.0

===================

- Add specialized integration method to determine surfaces of sections of orbits and
add Orbit.SOS and Orbit.plotSOS methods to compute and plot the surface of section
of an orbit.

- Also added a brute-force method to determine surfaces of sections and plotting them
for force fields for which the specialized method does not work (e.g., orbits in a
non-inertial bar frame). Methods Orbit.bruteSOS and Orbit.plotBruteSOS have similar
interfaces as Orbit.SOS and Orbit.plotSOS.

- Added a method, dMdE, to calculate the differential energy distribution of
spherical distribution functions.

- Added general support for DissipativeForce instances in 2D.

- Implemented NonInertialFrameForce in 2D.

- Started using black for code formatting.

- Allow potentials' density and surface density to be plotted on physical axes.

- Don't fail when writing a (fixed) configuration file, instead just warn.

- Removed the deprecated galpy.util.bovy_coords, galpy.util.bovy_plot, and
galpy.util.bovy_conversion modules. These were replaced by galpy.util.coords,
galpy.util.plot, and galpy.util.conversion in v1.7.

- Removed the deprecated phiforce method from potentials and the accompanying
evaluatephiforces and evaluateplanarphiforces potential functions. These were replaced
by phitorque, evaluatephitorques, and evaluateplanarphitorques in v1.8.0.

- Switched to using Python 3.11 as the default Python version in the test suite.

1.8.3

===================

- Fixed issue in Linux wheels where the OpenMP library wasn't properly
linked to (also fixed the setup.py script for the underlying issue).

1.8.2

===================

- Added actionAngleVertical to the public API, an actionAngle class for
1D action-angle calculations. actionAngleVertical was used internally in galpy
before, but now follows the usual method structure for actionAngle classes.

- Added actionAngleVerticalInverse, an inverse actionAngle class that allows one
to go from (x,v) -> (J,theta,Omega) for 1D potentials using a custom
implementation of the torus machinery with point transformations.

- Made it possible to use an interpSphericalPotential as the potential in spherical
distribution functions (554)

- Made the potential input explicitly positional-only for all galpy.potential
functions to avoid errors when specifying it as a keyword argument.

- Rewrite actionAngleAdiabatic's Python implementation as a combination of
actionAngleSpherical (for the 2D planar part) and actionAngleVertical (for
the 1D vertical part).

- Dropped Python 3.7 support (to allow required positional-only arguments
using PEP 570).

- Dropped Appveyor CI builds entirely, now only using GitHub Actions for CI.

- Added Orbit.animate3d to display a 3D animation of an integrated orbit (532)
with an optional Milky-Way representation at the origin when plotting x,y,z.

- Improved the performance of Orbit.animate performance by using webgl, some UI
tweaks. Also fixed using Orbit.animate in jupyterlab and retrolab (latter
534).

- Run tests with deprecation warnings of various types (DeprecationWarning,
FutureWarning, AstropyDeprecationWarning) turned into errors to guard against
coming deprecations (538)

1.8.1

===================

- Changed estimateDeltaStaeckel to by default return delta0=1e-6 when
delta<delta0, because giving delta=0 to an actionAngleStaeckel instance
does not work.

- Added pre-commit hooks. Many changes to all files for imports, code style,
spelling, etc.

- Added dependabot alerts to keep GitHub Actions dependencies up to date.

- Added Python 3.11 wheels for all major platforms. Added Python >=3.8 wheels
for arm64 Macs (M1s)

- Switched to using cibuildwheel to build Linux, Mac (incl. M1/arm64), and
Windows wheels.

- Switched to using pyodide-build to build the pyodide wheel.

1.8.0

===================

- Added the particle-spray model galpy.df.streamspraydf that was
previously part of the jobovy/streamtools package (479).

- Added necessary derivatives to allow spherical DFs to be constructed using
PowerSphericalPotentialwCutoff and PlummerPotential.

- Updated existing and added new phase-space positions for MW satellite
galaxies from Pace et al. (2022; 2205.05699). Also add uncertainties
(484 by Anya Dovgal).

- Updated existing and added new phase-space positions for MW globular clusters
from Baumgardt et al. (2019; 1811.01507),
Vasiliev & Baumgardt (2021; 2102.09568), and
Baumgardt & Vasiliev (2021; 2105.09526). Also add uncertainties
(485 by Anya Dovgal).

- Added SCFPotential.from_density to directly initialize an SCFPotential based
on a density function. Allows for full correct and consistent handling of
Quantity inputs and outputs.

- Renamed phiforce --> phitorque everywhere (including
potential.evaluatephiforces and potential.evaluateplanarphiforces), such that
the method's name actually reflect what it returns (a torque, not a force).
phiforce will be fully removed in version 1.9 and may later be reused
for the actual phi component of the force, so switch to the new name now.

- Added code to check whether a newer version of galpy is available and, if so
encourage users to upgrade (to try to have people use more recent versions).

- Added a 'Try galpy' interactive session on the documentation's home page
powered by the new pyodide/emscripten/wasm wheels for galpy.

- Add support to build pyodide/emscripten/wasm wheels for using galpy in the
browser at C-ish speeds.

- Fully drop Python 2 support (removed all Python 2 compatibility code).

1.7.2

===================

- Added NonInertialFrameForce, which provides the fictitious forces
when integrating orbits in non-inertial frames. Arbitrary rotations
and origin accelerations are supported (471).

- Added a progress bar when integrating multiple objects in a single
orbit instance (requires tqdm) (see 476).

- Turn on NFWPotential physical output when initializing using the
virial mass mvir (see 465)

- Added TimeDependentAmplitudeWrapperPotential, a wrapper allowing
for arbitrary time dependence of the amplitude of any potential.

- Added NullPotential, a potential with a constant value.

- Added Potential methods/functions rE and LcE to compute the radius
and angular momentum of an orbit with energy E. Also added these
as Orbit methods for efficient calculation for collections of
orbits.

- Added the offset= keyword to RotateAndTiltWrapperPotential, which allows
a Potential/Force instance to also be offset from (0,0,0) in addition to
being rotated or tilted.

- Allow actions to be computed for Orbit instances with actionAngle
methods that don't compute frequencies.

- Correctly parse potential method/function R/z/x inputs if they
are given as keyword arguments.

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.