We highlight some of the major packages in Python's astropy
ecosystem and their corresponding implementations in the Julia ecosystem. This is an actively evolving document, and suggested additions are welcomed.
While there is a clear demarcation between core, coordinated, and affiliated packages in Python, this is not really the case in Julia. Composability is a core feature of the language, allowing for interactions between packages to occur fairly naturally.
Python | Julia | Description |
---|
astropy.constants |
DynamicQuantities.jl | Efficient and type-stable physical quantities in Julia |
PhysicalConstants.jl | Collection of fundamental physical constants with uncertainties |
Unitful.jl | Physical quantities with arbitrary units |
UnitfulAstro.jl | Astronomical units and things |
astropy.units |
DynamicQuantities.jl | Efficient and type-stable physical quantities in Julia |
PhysicalConstants.jl | Collection of fundamental physical constants with uncertainties |
Unitful.jl | Physical quantities with arbitrary units |
UnitfulAstro.jl | Astronomical units and things |
astropy.nddata |
DimensionalData.jl | Named dimensions and indexing for julia arrays and other data |
astropy.table |
DataFrames.jl | In-memory tabular data in Julia |
FlexiJoins.jl | `FlexiJoins.jl` is a fresh take on joining tabular or non-tabular datasets in Julia. |
SortMerge.jl | A Julia implementation of the Sort-merge join algorithm |
astropy.time |
AstroTime.jl | Astronomical time keeping |
astropy.timeseries |
DSP.jl | Filter design, periodograms, window functions, and other digital signal processing functionality |
LombScargle.jl | Compute Lomb-Scargle periodogram |
TimeSeries.jl | Time series toolkit for Julia |
BoxLeastSquares.jl | Compute box-least-squares periodogram |
astropy.coordinates |
CALCEPH.jl | A wrapper to CALCEPH: IMCCE planetary ephemeris access library |
EphemerisSources.jl | Meta package for accessing JPL HORIZONS and SPICE sources |
HORIZONS.jl | An interface to NASA-JPL HORIZONS system and other Solar System Dynamics APIs in Julia |
SPICE.jl | SPICE data retrieval and usage |
SkyCoords.jl | Astronomical coordinate systems |
astropy.wcs |
WCS.jl | World Coordinate System transformations |
astropy.modeling |
JuMP.jl | Modeling language for Mathematical Optimization (linear, mixed-integer, conic, semidefinite, nonlinear) |
NonlinearSolve.jl | High-performance and differentiation-enabled nonlinear solvers (Newton methods), bracketed rootfinding (bisection, Falsi), with sparsity and Newton-Krylov support |
Optimization.jl | Mathematical Optimization in Julia. Local, global, gradient-based and derivative-free. Linear, Quadratic, Convex, Mixed-Integer, and Nonlinear Optimization in one simple, fast, and differentiable interface |
astropy.uncertainty |
Measurements.jl | Error propagation calculator and library for physical measurements. It supports real and complex numbers with uncertainty, arbitrary precision calculations, operations with arrays, and numerical integration |
MonteCarloMeasurements.jl | Propagation of distributions by Monte-Carlo sampling: Real number types with uncertainty represented by samples |
Uncertain.jl | Handle uncertain values with ease and performance! |
Distributions.jl | A Julia package for probability distributions and associated functions |