Skip to content
/ astroz Public

Astrodynamics and Spacecraft Toolkit Written in Zig! Features orbit prop, celestial precession, CCSDS parsing, RF parsing, fits image parsing, and more!

License

Notifications You must be signed in to change notification settings

ATTron/astroz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5067bf2 · Mar 20, 2025
Feb 22, 2025
Jul 14, 2024
Mar 20, 2025
Mar 20, 2025
Jul 21, 2024
Jul 14, 2024
Jul 24, 2024
Jun 25, 2024
Oct 22, 2024
Feb 22, 2025
Mar 2, 2025

Repository files navigation

ASTROZ

CI CD DC

Astronomical and Spacecraft Toolkit Written in Zig for Zig!

Features / Plans

Spacecraft

  • CCSDS Packets
    • CCSDS Stream Parser
  • VITA49 Packets
    • Vita49 Stream Parser
  • TLE Support
    • Orbital Propagation
      • RK4
    • Orbital Maneuvers
      • Impulse Maneuvers
      • Phase Maneuvers
      • Plane Change Maneuvers
  • Orientation Determination

Astronomical

  • Astronomical References
    • J2000 and JD
    • Celestial Bodies
      • Mass
      • Radius
      • Orbital Details
  • Astronomical Coordinates
    • Equatorial Coordinate System
    • World Coordinate System
  • Astronomical Computation
    • Precession
  • Celestial Bodies
  • Orbital Mechanics
    • Interplanetary Maneuvers
  • FITS File Parsing - BROKEN DUE TO ZIGIMG DEPENDENCY BREAKING ON MAIN
    • Image Generation
      • Multi Image Parsing/Generation
    • Table Parsing

Feature not listed ?

To request a feature, please create an issue for this project and I will try my best to be responsive.

Usage

  • Add astroz as a dependency in your build.zig.zon.
zig fetch --save https://github.com/ATTron/astroz/archive/<git_tag_or_commit_hash>.tar.gz
  • Use astroz as a module in your build.zig.
const astroz_dep = b.dependency("astroz", .{
    .target = target,
    .optimize = optimize,
});
const astroz_mod = astroz_dep.module("astroz");
exe.root_module.addImport("astroz", astroz_mod);

Examples

visualization of orbit prop

visualization of orbit prop with impulse

NOTE THIS IS CURRENTLY BROKEN DUE TO ZIGIMG DEPENDENCY BREAKING ON THE MAIN BRANCH

sample fits image as png