Orbital intelligence and space situational awareness tools
Project description
rotastellar-intel
Orbital Intelligence & Space Situational Awareness
Track satellites, parse TLEs, analyze conjunctions, and detect orbital patterns.
Installation
pip install rotastellar-intel
Quick Start
TLE Parsing
from rotastellar_intel import TLE
# Parse a Two-Line Element set
tle_lines = [
"ISS (ZARYA)",
"1 25544U 98067A 24001.50000000 .00016717 00000-0 10270-3 0 9025",
"2 25544 51.6400 208.9163 0006703 40.5765 35.4667 15.49560927421258"
]
tle = TLE.parse(tle_lines)
print(f"Satellite: {tle.name}")
print(f"NORAD ID: {tle.norad_id}")
print(f"Inclination: {tle.inclination_deg:.2f}°")
print(f"Period: {tle.orbital_period_minutes:.2f} minutes")
# Get position at epoch
position = tle.propagate()
print(f"Position: {position.latitude:.2f}°, {position.longitude:.2f}°")
Satellite Tracking
from rotastellar_intel import Tracker, GroundStation
from rotastellar import Position
# Create a tracker
tracker = Tracker()
tracker.add_tle("ISS", tle)
# Get current position
pos = tracker.get_position("ISS")
# Calculate passes over a ground station
gs = GroundStation(
name="KSC",
position=Position(28.5729, -80.6490, 0.0),
min_elevation_deg=10.0
)
passes = tracker.predict_passes("ISS", gs, hours=24)
for p in passes:
print(f"AOS: {p.aos}, Max El: {p.max_elevation_deg:.1f}°")
Conjunction Analysis
from rotastellar_intel import ConjunctionAnalyzer, RiskLevel
analyzer = ConjunctionAnalyzer()
# Analyze collision probability
conjunction = analyzer.analyze(
primary_id="ISS",
secondary_id="DEBRIS-12345",
miss_distance_km=0.5,
relative_velocity_km_s=10.0
)
print(f"Risk Level: {conjunction.risk_level}")
print(f"Collision Probability: {conjunction.collision_probability:.2e}")
if conjunction.risk_level == RiskLevel.CRITICAL:
print("⚠️ Maneuver recommended!")
Pattern Detection
from rotastellar_intel import PatternDetector, PatternType
detector = PatternDetector()
# Detect maneuvers from TLE history
patterns = detector.detect(satellite_id="STARLINK-1234", days=30)
for pattern in patterns:
if pattern.pattern_type == PatternType.ORBIT_RAISE:
print(f"Orbit raise detected: +{pattern.delta_altitude_km:.1f} km")
elif pattern.pattern_type == PatternType.MANEUVER:
print(f"Maneuver: Δv = {pattern.delta_v_m_s:.2f} m/s")
Features
- TLE Parsing — Full Two-Line Element support with SGP4 propagation
- Satellite Tracking — Real-time position and pass prediction
- Conjunction Analysis — Collision probability using NASA CARA methodology
- Pattern Detection — Maneuver detection, anomaly identification
Links
- Website: https://rotastellar.com/products/orbital-intelligence
- Documentation: https://docs.rotastellar.com/sdks/python/intel
- Main SDK: https://pypi.org/project/rotastellar/
Author
Created by Subhadip Mitra at RotaStellar.
License
MIT License — Copyright (c) 2026 RotaStellar
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rotastellar_intel-0.1.0.tar.gz
(16.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rotastellar_intel-0.1.0.tar.gz.
File metadata
- Download URL: rotastellar_intel-0.1.0.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab95667d0f4824f6fbde5fb66b73f002e1d8db215ca0dddb48ebdd868f82c92c
|
|
| MD5 |
f046d84dbcd4515d6f609ab65ca491ed
|
|
| BLAKE2b-256 |
4fecdc64144a48f9a92f597213bf9570b132c7c24d7e30464fb3c82d88fac7dd
|
File details
Details for the file rotastellar_intel-0.1.0-py3-none-any.whl.
File metadata
- Download URL: rotastellar_intel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79b309a67b5d5c46c81f1b656207f424ce5b21fdb208b18e00e2799b6a756e2e
|
|
| MD5 |
23a39994f721cefe9500f9a431ab804f
|
|
| BLAKE2b-256 |
e548cbbfb14220c19d415ace05834380e497aee99e29ac1ec50fdc8e677c9a02
|