Gala

Latest version: v1.8.1

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

Scan your dependencies

Page 1 of 4

1.8.1

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

- New release to fix upload to PyPI from GitHub Actions and invalid pin in pyia
dependency.

1.8

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

New Features
------------

- Added a ``.guiding_center()`` method to ``PhaseSpacePosition`` and ``Orbit`` to
compute the guiding center radius.

- Added a way to convert Gala potential instances to Agama potential instances.

Bug fixes
---------

- Fixed a bug with the ``plot_contours()`` and ``plot_density_contours()`` methods so
that times specified are now passed through correctly to the potential methods.

- Fixed the YAML output to use ``default_flow_style=None`` for serializing potential
objects, which leads to a more efficient array output.

- ``scf.compute_coeffs_discrete`` now raises an error if GSL is not enabled rather than
silently returning zeros

- ``SCFPotential`` will now work with IO functions (``save`` & ``load``)

- Fixes compatibility with Astropy v6.0

API changes
-----------

- Changed the way potential interoperability is done with other Galactic dynamics
packages (Agama, galpy, etc.). It is now handled by the ``Potential.as_interop()``
method on all potential class instances.

1.7.1

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

- Switched build system to use pyproject.toml instead of setup.cfg

1.7

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

New Features
------------

- Added a method to export the internal components of an
``MN3ExponentialDiskPotential()`` to three ``MiyamotoNagaiPotential`` instances.

- Added a new Milky Way potential model: ``MilkyWayPotential2022``, which is based on
updated measurements of the disk structure and circular velocity curve of the disk.

- Added the ability to use leapfrog integration within the ``DirectNBody`` integrator.

- Added a new coordinate frame for the Vasiliev+2021 Sagittarius stream coordinate
system, ``SagittariusVasiliev21``.

Bug fixes
---------

- Fixed a bug with the ``OrphanKoposov19()`` coordinate frame that caused the wrong
rotation matrix to be returned.

- Fixed an ``AstropyDeprecationWarning`` resulting from the use of ``override__dir__``.

- Fixed a bug in ``Orbit.estimate_period()`` that would cause the method to fail with a
``UnitsError`` if one orbit returned a nan value for the period.

- Fixed a bug when compiling the ``dop853`` integrator.

API changes
-----------

- Refactored the way ``GreatCircleICRSFrame()`` works to be more consistent and
unambiguous with coordinate frame definitions. The frame now requires an input pole
and origin, but can be initialized in old ways using the ``from_*()`` class methods
(e.g., with ``pole`` and ``ra0`` values).

1.6.1

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

Bug fixes
---------

- Properly incorporate commits related to ``SCFInterpolatedPotential``.

1.6

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

New Features
------------

- Added a ``.replicate()`` method to Potential classes to enable copying
potential objects but modifying some parameter values.

- Added a new potential class ``MN3ExponentialDiskPotential`` based on Smith et
al. (2015): an approximation of the potential generated by a double
exponential disk using a sum of three Miyamoto-Nagai disks.

- The ``Orbit.estimate_period()`` method now returns period estimates in all
phase-space components instead of just the radial period.

- Added a ``store_all`` flag to the integrators to control whether to save
phase-space information for all timesteps or only the final timestep.

- Added a ``plot_rotation_curve()`` method to all potential objects to make a 1D plot
of the circular velocity curve.

- Added a new potential for representing multipole expansions ``MultipolePotential``.

- Added a new potential ``CylSplinePotential`` for flexible representation of
axisymmetric potentials by allowing passing in grids of potential values
evaluated grids of R, z values (like the ``CylSpline`` potential in Agama).

- Added a ``show_time`` flag to ``Orbit.animate()`` to control whether to show the
current timestep.

- Changed ``Orbit.animate()`` to allow for different ``marker_style`` and
``segment_style`` options for individual orbits by passing a list of dicts instead
of just a dict.

- Added an experimental new class ``SCFInterpolatedPotential`` that accepts a time
series of coefficients and interpolates the coefficient values to any evaluation time.

Bug fixes
---------

- Fixed a bug where the ``NFWPotential`` energy was nan when evaluating at the
origin, and added tests for all potentials to check for a finite value of the
potential at the origin (when expected).

- Fixed a bug in ``NFWPotential.from_M200_c()`` where the incorrect scale radius
was computed (Cython does not always use Python 3 division rules for dividing
integers!).

- Fixed a bug in the (C-level/internal) estimation of the 2nd derivative of the
potential, used to generate mock streams, that affects non-conservative force
fields.

API changes
-----------

- The ``Orbit.estimate_period()`` method now returns period estimates in all
phase-space components instead of just the radial period.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.