Galpy

Latest version: v1.9.2

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

Scan your dependencies

Page 2 of 4

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 re-used
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.

1.7.1

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

- Main reason for this minor version is to add a Python 3.10 wheel

1.7

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

- Added a general framework for spherical distribution function as
well as a general implementation of (a) the Eddington inversion to
obtain the ergodic distribution function, (b) the equivalent
inversion to get the Osipkov-Merritt-style anisotropy, and (c) the
Cuddeford inversion to obtain a distribution function with constant
anisotropy, all three for any spherical density in any spherical
potential (where it exists). Also added the distribution function of
a few well-known distribution functions, including (a) Hernquist
distribution functions that are isotropic, have constant anisotropy,
or have Osipkov-Merritt type anisotropy; (b) an isotropic Plummer
profile; (c) the isotropic NFW profile (either using the
approx. from Widrow 2000 or using an improved approximation) and the
Osipkov-Merritt NFW profile (new approximate form); (d) the King
model (also added as a potential as KingPotential). These
distribution functions can be evaluated and sampled, and their
velocity moments can be computed. Work started in 432 and continued
on from there. Distribution functions with constant anisotropy
require the JAX.

- Implemented the calculation of SCF density/potential expansion
coefficients based on an N-body representation of the density
(444).

- Added NFWPotential initialization method using rmax and vmax, the
radius and value at which the rotation curve peaks; also added rmax
and vmax methods to NFWPotential to compute these quantities for any
NFWPotential.

- Added general class SphericalPotential to make defining spherical
potentials easier (424).

- Added interpSphericalPotential class to build interpolated versions
of spherical potentials (424).

- Added AdiabaticContractionWrapperPotential, a wrapper potential to
adiabatically contract a spherical dark-matter halo in response to
the adiabatic growth of a baryonic component.

- Added potential functions to compute the zero-velocity curve: zvc
and zvc_range; the latter computes the range in R over which the
zero-velocity curve is defined, the former gives the positive z
position on the zero-velocity curve for a given radius in this
range.

- Added potential function and method rhalf to compute the half-mass
radius.

- Added potential function and member tdyn to compute the dynamical
time from the average density.

- Added TriaxialGaussianPotential, the potential of a Gaussian that is
stratified on triaxial ellipsoids (Emsellem et al. 1994). Useful for
implementing multi-Gaussian expansions of galactic potentials.

- Added PowerTriaxialPotential, the potential of a triaxial power-law
density (like PowerSphericalPotential, but triaxial).

- Added AnyAxisymmetricRazorThinDiskPotential, the potential of an
arbitrary razor-thin, axisymmetric disk.

- Added AnySphericalPotential, the potential of an arbitrary spherical
density distribution.

- Added RotateAndTiltWrapperPotential, a wrapper potential to
re-orient a potential arbitrarily in three dimensions using three
angles.

- Updated the definition of a Potential's mass to always return the
mass within a spherical shell if only one argument is
specified. Also implemented faster implementations of the masses of
SCF and diskSCF potentials.

- Added mixed azimuthal,vertical second derivative for all
non-axisymmetric potentials: potential function evaluatephizderivs
and Potential method phizderiv.

- Added inverse action-angle transformations for the isochrone
potential (actionAngleIsochroneInverse) and for a one-dimensional
harmonic oscillator (actionAngleHarmonicInverse; also added the
[x,v] -> [J,O,a] transformation for the latter,
actionAngleHarmonic).

- Added Potential.plotSurfaceDensity (potential.plotSurfaceDensities)
method (function) to plot the surface density of a Potential
instance (of Potential instance of a list of Potential instances).

- Re-implemented the DoubleExponentialDiskPotential in a simpler and
more accurate manner, using the double-exponential formula (no
relation) for integrals of Bessel functions from Ogata 2005. The
DoubleExponentialDiskPotential is now calculated to ~machine
precision almost everywhere and there is no longer any switch to a
Keplerian behavior at large R.

- Made potentials as much as possible numerically stable at r=0 and
r=numpy.inf (i.e., they don't give NaN). Still a few missing, but
the majority of potentials are well behaved now.

- Fixed angle calculation for actionAngleIsochrone and
actionAngleSpherical for non-inclined orbits (which are tricky).

- Replace Quantity parsing through the package as much as possible
with a set of centralized parsers (430).

- Renamed galpy.util.bovy_coords to galpy.util.coords,
galpy.util.bovy_conversion to galpy.util.conversion, and
galpy.util.bovy_plot to galpy.util.plot (but old 'from galpy.util
import bovy_X' will keep working for now). Also renamed some other
internal utility modules in the same way (bovy_symplecticode,
bovy_quadpack, and bovy_ars; these are not kept
backwards-compatible).

- Added Python 3.9 support.

- Switched Linux CI from Travis to GitHub Actions. Also added Windows
CI to GitHub Actions covering almost all tests. Appveyor CI for
Windows also still running.

1.6

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

- Added HomogeneousSpherePotential, the potential of a constant
density sphere out to some radius R.

- Added DehnenSphericalPotential and DehnenCoreSphericalPotential, the
general potential from Dehnen (1993) and its cored special case
(403).

- Standardized the way packages are imported: numpy as 'import numpy',
avoid use of math, don't use scipy's numpy interface, internal
imports for all galpy imports.

- Implemented ChandrasekharDynamicalFrictionForce in C, introducing a
general scheme for easily implementing velocity-dependent forces in
C without requiring all forces to take velocity arguments (420).

- Fixed AMUSE compatibility with Potentials instantiated with physical
inputs (405).

- Fix how DiskSCFPotential instances with a hole in the surface
density get passed to C (was wrong when type == 'exp', but 'Rhole'
was in the list of parameters, hole was not passed; meant that
McMillan17 was wrong in C in v1.5).

- Add time dependence to all relevant Potential functions and method
(404).

- Raise warning when r < minr (where dynamical friction gets turned
off) in an orbit integration that includes dynamical friction (to
avoid silent turning off of the dynamical friction force; 356).

- Improve performance of orbit animations (414).

- Fixed compilation issue for Intel compilers: no need to include
'lgomp' in the linking step (416).

- Compile all main galpy C extensions into a single shared-object
library libgalpy.

- Automatically build Linux, Mac, and Windows wheels with GitHub
Actions and upload them to PyPI upon release creation (421).

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.