Skip to content
SkyCacheSkyCache
For developers

Build with SkyCache

SkyCache Nexus is intentionally modular. The core is a Python hub that ingests public content, prioritizes it, serves a mobile-first offline portal, and can form a multi-node community mesh fabric (DTN + opportunistic open gateway) — wrapping tools like SatDump and gr-satellites instead of reinventing demodulation. Not free commercial broadband.

Stack

  • Python 3.11+ · FastAPI · SQLite · static PWA · skycache.nexus
  • SoapySDR / RTL-SDR for receive-only hardware access
  • SatDump CLI for free-to-air weather decode
  • gr-satellites for open amateur / CubeSat telemetry
  • hostapd + dnsmasq + batman-adv templates for village fabric
  • Apache-2.0 software tree

CLI (0.6 legal surface)

python -m skycache capabilities          # full legal matrix
python -m skycache skybrary samples --ingest
python -m skycache skybrary search liberty
python -m skycache skybrary pack --profile literacy-1gb
python -m skycache nexus doctor
python -m skycache nexus sim --nodes 3 --disaster
python -m skycache mesh status --compliance
python -m skycache gateway --sim --pull
python -m skycache open-fetch URL --out file   # allowlisted hosts only
python -m skycache verify data/content
python -m skycache handoff --out data/handoff
python -m skycache serve --sim

Software v0.7.2 · Library catalog · Skybrary plan

Architecture

Loading diagram…

Quick start (simulation)

cd SkyCache
python -m pip install -e ".[dev]"
python scripts/make_sample_package.py
python -m skycache init --load-samples
python -m skycache serve --sim --host 127.0.0.1 --port 8080
# → http://127.0.0.1:8080/

Local software tree (when present on the operator machine): ~/SkyCache

Plugin contract

Decoders implement a small protocol: name, legal_profile (fta_public | amateur_open | file_import_only), can_handle, run → CaptureResult. Commercial decrypt plugins are out of scope and will be rejected.

Contribute

  1. Read legal/ethics rails — receive-only FTA/open content only.
  2. Keep simulation mode green without hardware.
  3. Prefer wrapping mature tools over reimplementing demods.
  4. Add tests for prioritizer, ingest, and API changes.
  5. Open an issue or PR on GitHub when the public repo is live.