SDKs
Official client libraries for Python, JavaScript, Go, Rust, Java, C++, and MATLAB.
Pick a language at the top of each code block — every example on this page switches to match. Source code for every client is downloadable below.
Environment variables
All clients read credentials from environment variables. Set one of the following:
| Variable | Purpose |
|---|---|
VEGA_API_TOKEN | Recommended. Long-lived API token. |
VEGA_EMAIL | Account email (used with VEGA_PASSWORD). |
VEGA_PASSWORD | Account password (used with VEGA_EMAIL). |
VEGA_BASE_URL | Override the API base URL. Default: https://vega.space/api/v1 |
Install
pip install -r requirements.txtAuthenticate
Instantiate the client and reuse it for every call. The client picks up VEGA_API_TOKEN automatically; if you prefer email/password, call authenticate().
from client import VegaClient
client = VegaClient()
client.authenticate() # No-op if VEGA_API_TOKEN is set
me = client.get_me().json()
print(me)List tracked satellites
satellites = client.list_tracked_satellites().json()
for s in satellites:
print(s["id"], s["satellite"]["name"])Use the top-level id from /tracked_satellites (not satellite.id) when calling
interference endpoints.
Query interference timeseries
GET /interference/timeseries returns up to 10,080 one-minute samples over a 7-day window for a coordinate.
data = client.get_interference_timeseries(
tracked_satellite_id=123,
lat=37.77,
lon=-122.42,
frequency_band="Ku",
).json()
ts = data["timeseries"]
intensities = [p["intensity"] for p in ts]
print(f"{len(ts)} points, max={max(intensities)}, mean={sum(intensities) / len(ts):.2f}")Download
Each client ships as a small set of source files. Drop them into your project and go.
| Language | Files | HTTP library |
|---|---|---|
| Python | client.py, pull_interference.py, requirements.txt | requests |
| JavaScript | client.js, pull_interference.js, package.json | axios |
| Go | client.go, main.go, go.mod | net/http (stdlib) |
| Rust | src/client.rs, src/main.rs, Cargo.toml | reqwest |
| Java | VegaClient.java, PullInterference.java, EnvLoader.java | java.net.http (stdlib) |
| C++ | vega_client.h, vega_client.cpp, main.cpp, Makefile | libcurl |
| MATLAB | VegaClient.m, pull_interference.m, load_env.m | webread/webwrite (stdlib) |