A modern high-performance set of tools for transformations between standard and user-defined reference frame.

Stable Documentation Dev Documentation Build Status codecov Code Style: Blue

Are you in search of fundamental routines for efficient and extensible frames transformations?
If so, this package is the ideal starting point. FrameTransformations.jl is designed to provide users with the ability to create a customized, efficient, flexible, and extensible axes/point graph models for mission analysis and space mission design purposes.


  • Convert between different time scales and representations (via Tempo.jl);
  • Read binary ephemeris files (via Ephemerides.jl or CalcephEphemeris.jl)
  • Create custom reference frame systems with both standard and user-defined points and axes.
  • Transform states and their higher-order derivatives between different frames (up to jerk)

All of this seamlessly integrated with ForwardDiff.jl.


This package can be installed using Julia's package manager:

julia> import Pkg

julia> Pkg.add("FrameTransformations.jl");


For further information on this package and its tutorials please refer to the stable documentation.


If you found this package useful, please consider starring the repository. We also encourage you to take a look at other astrodynamical packages of the JSMD organisation.