Stay connected to what's above.
AccessiSky helps you stay aware of celestial events — whether or not you can see them. Built with full screen reader support, it brings ISS passes, moon phases, meteor showers, and more to everyone.
This repository is being archived and is no longer under active development.
Forks and community continuations are very welcome. If you'd like to keep AccessiSky going, please feel free to fork the project and continue building on it.
- ISS Tracking: Know when the International Space Station passes over your location
- Moon Phases: Current phase, illumination percentage, upcoming lunar events
- Sun Data: Sunrise, sunset, twilight times (civil, nautical, astronomical)
- Aurora Forecast: Kp index, geomagnetic activity, aurora visibility predictions
- Space Weather: Solar wind speed and density from NOAA SWPC
- Meteor Showers: Calendar of 11 major annual showers with peak dates, ZHR, and viewing ratings
- Planet Visibility: Which planets are visible tonight with rise/set estimates and brightness
- Eclipse Calendar: Solar and lunar eclipses from 2025-2030 with visibility regions
- Viewing Conditions: Combined score factoring clouds, moon, darkness, and light pollution
- Dark Sky Times: When true astronomical darkness begins/ends for astrophotography
- Location Settings: Save your coordinates for accurate calculations
- Accessibility First: Full screen reader support, keyboard navigation, proper labels
uv handles everything automatically — no manual environment activation needed.
# Install uv first (if you don't have it)
# Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository
git clone https://github.com/Orinks/AccessiSky.git
cd AccessiSky
# Install and run (uv creates the environment automatically)
uv sync
uv run python -m accessisky# Clone the repository
git clone https://github.com/Orinks/AccessiSky.git
cd AccessiSky
# Create and activate virtual environment
python -m venv .venv
# On Windows:
.venv\Scripts\activate
# On macOS/Linux:
source .venv/bin/activate
# Install and run
pip install -e .[dev]
python -m accessiskyAccessiSky uses free, open APIs that require no API keys:
- Open Notify - ISS current position and pass predictions
- Sunrise-Sunset.org - Sun times and all twilight phases (civil, nautical, astronomical)
- NOAA SWPC - Space weather, Kp index, aurora forecasts
- USNO (US Naval Observatory) - Moon phases, illumination, rise/set times
- Open-Meteo - Weather data for viewing conditions (cloud cover, visibility)
- Moon phases - USNO API primary, local astronomical algorithms as fallback
- Meteor showers - IMO (International Meteor Organization) data, calculated locally
- Planet visibility - Simplified orbital mechanics, calculated locally
- Eclipses - NASA eclipse data for 2025-2030, stored locally
- Viewing conditions - Combines weather API data with local calculations
# Run tests
pytest
# Run with coverage
pytest --cov=src/accessisky --cov-report=term-missing
# Lint code
ruff check .
# Format code
ruff format .Ctrl+R- Refresh all dataCtrl+L- Set locationCtrl+,- SettingsF1- ISS Tracker tabF2- Moon Phases tabF3- Sun Times tabF4- Aurora Forecast tabF5- Meteor Showers tabF6- Planets tabF7- Eclipses tabCtrl+Tab- Next tabCtrl+Q- Quit
MIT License - see LICENSE for details.
- AccessiWeather - Accessible weather app (companion project)
# Clone and install with uv
git clone https://github.com/Orinks/AccessiSky.git
cd AccessiSky
uv sync
# Enable pre-push lint hook
git config core.hooksPath .githooks
# Run tests
uv run pytest
# Run linting
uv run ruff check src tests
uv run ruff format src testsThe pre-push hook runs ruff check before every push to catch lint errors early.