Packages
orbis
0.11.0
0.32.0
retired
0.31.0
retired
0.30.0
retired
0.29.1
retired
0.29.0
retired
0.28.0
retired
0.27.0
retired
0.26.0
retired
0.25.0
retired
0.24.0
retired
0.23.0
retired
0.22.0
retired
0.21.0
retired
0.20.0
retired
0.19.0
retired
0.18.0
retired
0.17.0
retired
0.16.0
retired
0.15.1
retired
0.15.0
retired
0.14.1
retired
0.14.0
retired
0.13.0
retired
0.12.0
retired
0.11.0
retired
0.10.0
retired
0.9.2
retired
0.9.1
retired
0.9.0
retired
0.8.0
retired
0.7.0
retired
0.6.0
retired
0.5.0
retired
Satellite toolkit for Elixir — SGP4 propagation, coordinate transforms (0 ULP Skyfield parity), GNSS positioning, orbit determination, conjunction assessment, pass prediction, live TLE/OMM data, and real-time tracking. Rust NIF backend.
Retired package: Renamed - Renamed to sidereon — see https://hex.pm/packages/sidereon
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Orbis.MixProject do
use Mix.Project
@version "0.11.0"
@source_url "https://github.com/neilberkman/orbis"
def project do
[
app: :orbis,
version: @version,
elixir: "~> 1.18",
start_permanent: Mix.env() == :prod,
deps: deps(),
name: "Orbis",
description: description(),
package: package(),
docs: docs(),
source_url: @source_url
]
end
def application do
[
mod: {Orbis.Application, []},
extra_applications: [:logger, :ftp, :ssl]
]
end
defp deps do
[
{:nx, "~> 0.7"},
{:rustler, "~> 0.37", optional: true},
{:rustler_precompiled, "~> 0.9"},
{:astrodynamics, "~> 0.6.0"},
{:req, "~> 0.5"},
{:jason, "~> 1.4"},
{:ex_doc, "~> 0.34", only: :dev, runtime: false},
{:quokka, "~> 2.12", only: [:dev, :test], runtime: false}
]
end
defp description do
"""
Satellite toolkit for Elixir — SGP4 propagation, coordinate transforms
(0 ULP Skyfield parity), GNSS positioning, orbit determination, conjunction
assessment, pass prediction, live TLE/OMM data, and real-time tracking.
Rust NIF backend.
"""
end
defp package do
[
files: package_files(),
licenses: ["MIT"],
links: %{"GitHub" => @source_url}
]
end
defp package_files do
[
"lib",
"native/orbis_nif/src",
"native/orbis_nif/Cargo*",
"mix.exs",
"README.md",
"CHANGELOG.md",
"LICENSE"
] ++ Path.wildcard("checksum-*.exs")
end
defp docs do
[
main: "Orbis",
extras: [
"README.md",
"CHANGELOG.md",
"guides/track_iss.md",
"guides/pass_prediction.md",
"guides/conjunction_screening.md",
"guides/accuracy.md",
"guides/batch_analysis.md",
"guides/gnss_constellation_catalog.md",
"examples/iss_tracker.livemd",
"examples/gnss_positioning.livemd"
],
groups_for_extras: [
Guides: Path.wildcard("guides/*.md")
],
groups_for_modules: [
Core: [Orbis, Orbis.Elements, Orbis.SGP4, Orbis.TemeState],
Coordinates: [Orbis.Coordinates],
"Ground Station": [Orbis.Passes, Orbis.Doppler, Orbis.RF, Orbis.Tracker],
"Orbit Determination": [Orbis.IOD, Orbis.Lambert],
"Space Environment": [Orbis.Eclipse, Orbis.Atmosphere, Orbis.Ephemeris, Orbis.Angles],
Conjunction: [Orbis.Conjunction],
"GNSS Positioning": [
Orbis.GNSS.Positioning,
Orbis.GNSS.PrecisePositioning,
Orbis.GNSS.SP3,
Orbis.GNSS.Broadcast,
Orbis.GNSS.RINEX.Observations,
Orbis.GNSS.ReducedOrbit,
Orbis.GNSS.ReducedOrbit.Piecewise,
Orbis.GNSS.Constellation,
Orbis.GNSS.Geometry,
Orbis.GNSS.Observables,
Orbis.GNSS.Velocity,
Orbis.GNSS.QC,
Orbis.GNSS.DGNSS,
Orbis.GNSS.RTK,
Orbis.GNSS.SolutionReport,
Orbis.GNSS.CarrierPhase,
Orbis.GNSS.IonosphereFree,
Orbis.GNSS.Ionosphere,
Orbis.GNSS.Troposphere,
Orbis.GNSS.Time,
Orbis.GNSS.Signal.CA,
Orbis.GNSS.Signal.Correlator,
Orbis.GNSS.Navigation.LNAV,
Orbis.GNSS.Navigation.LNAV.Ephemeris
],
"Data Sources": [
Orbis.CelesTrak,
Orbis.Constellation,
Orbis.GNSS.Data,
Orbis.GNSS.Data.Product,
Orbis.GNSS.Data.Catalog,
Orbis.GNSS.Data.Cache
],
"Batch Analysis": [
Orbis.Nx,
Orbis.Nx.Geometry,
Orbis.Nx.Visibility,
Orbis.Nx.RF,
Orbis.Nx.Coverage
],
Format: [Orbis.Format.TLE, Orbis.Format.OMM]
]
]
end
end