Skip to main content

Lightweight Python client for the CrowdSky data API (frame discovery + download)

Project description

crowdsky-client

A lightweight Python client for the CrowdSky data API — discover and download crowd-sourced Seestar S50 stacked frames. Built as the shared contract between CrowdSky, the scientists writing CrowdSci analysis modules, and the CrowdSci runner on Zeus, so a pipeline behaves identically on a laptop and in production.

Deliberately light: it depends only on requests, astropy, and astropy-healpixnot the stacking engine (opencv/astroalign/sep).

Install

pip install crowdsky-client

Authenticate

Mint a personal API key at https://crowdsky.univie.ac.at/account.php (log in → Account → Create key). The secret is shown once — store it safely. Pass it directly or via the CROWDSKY_API_KEY environment variable.

from crowdsky_client import Client

c = Client(api_key="csk_…")                     # or: export CROWDSKY_API_KEY=csk_…; Client()

Use

# All frames imaging a target (cone-search over NSIDE=128 RING tiles, deduped by id):
frames = c.frames_for_target(159.6998, 53.5095, radius_deg=0.75, filter_name="IRCUT")

# Frames in a single HEALPix tile with server-side filters:
frames = c.frames_by_healpix(49152, start="2026-07-01T00:00:00Z", min_exptime=120)

# Download a stacked FITS by its unique id (bytes, or straight to disk):
fits_bytes = c.download_frame(frames[0]["id"])
c.download_frame_to(frames[0]["id"], "frame.fits")

# A frame's SEP + Gaia star table:
stars = c.star_data(frames[0]["id"])

# Public sky-coverage feed (no key needed) as an astropy Table:
coverage = c.sky_coverage()

Every data request sends Authorization: Bearer <api_key>; a revoked/expired/invalid key returns HTTP 401, surfaced as CrowdSkyError.

Develop / test

pip install -e ".[dev]"
pytest

Tests run fully offline via an injected fake session — no network, no key required.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crowdsky_client-0.1.0.tar.gz (37.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crowdsky_client-0.1.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file crowdsky_client-0.1.0.tar.gz.

File metadata

  • Download URL: crowdsky_client-0.1.0.tar.gz
  • Upload date:
  • Size: 37.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for crowdsky_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2dc202252588a8d5584c04ce5d12929d78b29e87b48aea36653759b9cd344307
MD5 d80da7a25014265e6f5689af552048c2
BLAKE2b-256 06990f847a1d4cf9fe223457ae0c8a5ea159bc16f048e8a431925d93837278f9

See more details on using hashes here.

File details

Details for the file crowdsky_client-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: crowdsky_client-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for crowdsky_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d794c6f0caf3e108336db6c10b5934de6e92376fdd699137f968fc7909285cb
MD5 a3a340a0cf031d002b0b4c6b7f547aef
BLAKE2b-256 0ff5b4f5b8f754e0cc66a74d7eddcec1a2e2c56e06b1c167db29b07f7096fe22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page