A curses-based terminal application for viewing and analyzing satellite Two-Line Element (TLE) data
- 📡 Real-time TLE data fetching from Celestrak
- 📊 Detailed orbital parameter analysis with live calculations
- 🖥️ Terminal-based UI with curses interface
- 🛰️ Supports all active satellites
- 🧮 Advanced orbital mechanics calculations including:
- Epoch dates and time derivatives
- Mean, eccentric, and true anomalies
- Orbital elements (inclination, eccentricity, etc.)
- Position tracking (longitude/latitude)
- Period and semi-major axis calculations
- 🔍 Checksum validation for TLE data integrity
- ⌨️ Full keyboard navigation with scrolling
- Python 3.6+
- pip (Python package manager)
pip install numpy ephem pytzgit clone https://github.com/WR117H/SkySploit.git
cd SkySploit
python3 skyeye.py| Key | Action |
|---|---|
| ↑ / ↓ | Navigate satellite list |
| Enter | View satellite details |
| Page Up / Page Down | Scroll through list |
| Home / End | Jump to first/last satellite |
| q | Quit application |
- Use arrow keys to browse through the list of active satellites
- Press Enter to view detailed orbital parameters for a selected satellite
- The detailed view shows:
- Satellite name and TLE lines
- Orbital parameters (inclination, eccentricity, etc.)
- Current position (longitude/latitude)
- Period and semi-major axis
The application is organized into clear, modular components:
- modules.py: Helper functions for TLE processing and orbital calculations
- Satellite Class: Handles TLE data storage and orbital calculations
- TLEFetcher: Fetches and parses data from Celestrak
- UI Class: Manages all screen rendering and user interaction
- SkyEyeApp: Main application controller
- Object-Oriented Design: Clean separation of concerns
- Type Hints: Better code documentation and IDE support
- Error Handling: Robust error handling throughout
- Modularity: Easy to extend or modify individual components
- Performance: Lazy calculation of orbital parameters
- Validation: Checksum validation for TLE data integrity
- Connection Error: Ensure you have an internet connection to fetch TLE data
- Missing Dependencies: Install required packages:
pip install numpy ephem pytz - Terminal Size: Minimum terminal size of 80x24 recommended for optimal display
Failed to fetch TLE data: Internet connection or Celestrak service issueInvalid TLE data: Data corruption or format mismatchFailed to calculate parameters: Invalid TLE format or calculation error
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is open source and available under the MIT License.
- Data provided by Celestrak
- Built with Python and the curses library
- Orbital mechanics calculations based on standard TLE algorithms