Current section

Files

Jump to
orbis mix.exs
Raw

mix.exs

defmodule Orbis.MixProject do
use Mix.Project
@version "0.7.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.36"},
{:astrodynamics, "~> 0.6.0"},
{:req, "~> 0.5", optional: true},
{: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), orbit determination, conjunction assessment,
pass prediction, live TLE/OMM data, and real-time tracking. Rust NIF backend.
"""
end
defp package do
[
files: [
"lib",
"native/orbis_nif/src",
"native/orbis_nif/Cargo*",
"mix.exs",
"README.md",
"CHANGELOG.md",
"LICENSE"
],
licenses: ["MIT"],
links: %{"GitHub" => @source_url}
]
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.PointPositioning,
Orbis.SP3,
Orbis.BroadcastEphemeris,
Orbis.GnssConstellation,
Orbis.Ionosphere,
Orbis.Troposphere,
Orbis.GnssTime
],
"Data Sources": [
Orbis.CelesTrak,
Orbis.Constellation,
Orbis.GnssData,
Orbis.GnssData.Product,
Orbis.GnssData.Catalog,
Orbis.GnssData.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