AstroWay/api v2.190.0 · cs
všechny systémy jsou v pořádku

Tři oficiální SDK: TypeScript, Python, PHP místo surového curl

Surový HTTP funguje, ale typovaný klient šetří hodiny: automatické doplňování cest, typy požadavků a odpovědí, vestavěný retry na 408/409/429/5xx a hierarchie chyb ve stylu Stainless. Rozebíráme tři oficiální SDK - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist) - a jak jsou generovány z jednoho OpenAPI kontraktu.

Můžete přistupovat k API pomocí curl nebo fetch - kontrakt je jednoduchý, jeden hlavičkový X-Api-Key, JSON tam a zpět. Ale když máte více než 758 endpointů a požadavky mají desetky polí, typizovaný klient ušetří hodiny: automatické doplnění cest, typy požadavků a odpovědí, automatické opakování na nestabilní síti.

Proto máme tři oficiální SDK, generované z jednoho OpenAPI 3.1 kontraktu.

Terminál
# TypeScript / JavaScript
npm install @astroway/sdk
# Python
pip install astroway
# PHP
composer require astroway/sdk

Stejné volání natální mapy třemi jazyky.

TypeScript - tenká obálka nad openapi-fetch (~6 KB runtime), s automatickým doplněním cest:

import { Astroway } from '@astroway/sdk';
const aw = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const { data: chart } = await aw.client.POST('/chart', {
body: {
date: '1990-07-14',
time: '14:30:00',
timezoneOffset: 3,
latitude: 50.4501,
longitude: 30.5234,
houseSystem: 'P',
},
});
// aw.client.POST is the raw typed fetch, so `chart` is the { ok, data } envelope
console.log(chart.data.houses.ascendant); // 212.0952574979425

Python - synchronní Astroway a asynchronní AsyncAstroway s identickou povrchem, na httpx:

from astroway import Astroway
aw = Astroway(api_key=os.environ['ASTROWAY_API_KEY'])
chart = aw.post('/chart', body={
'date': '1990-07-14',
'time': '14:30:00',
'timezoneOffset': 3,
'latitude': 50.4501,
'longitude': 30.5234,
'houseSystem': 'P',
})
print(chart['houses']['ascendant'])

PHP - na povrchu Guzzle 7 a PSR-18:

<?php
use Astroway\Astroway;
$aw = new Astroway(['apiKey' => getenv('ASTROWAY_API_KEY')]);
$chart = $aw->post('/chart', body: [
'date' => '1990-07-14',
'time' => '14:30:00',
'timezoneOffset' => 3,
'latitude' => 50.4501,
'longitude' => 30.5234,
'houseSystem' => 'P',
]);
echo $chart['houses']['ascendant'];

Co mají společného všechny tři

Sekce “Co mají společného všechny tři”

Tři různé jazyky, ale stejné záruky - protože všechny tři generují z jednoho OpenAPI kontraktu:

  • Typy požadavků a odpovědí pro všechny endpointy. TS nabízí automatické doplnění cest a typizované těla; Python - PEP 561 typizovaný balíček; PHP - typizované signatury. IDE doporučuje pole, nikoli dokumentace v sousední kartě.
  • Vyrovnávací mechanismus s backoff na 408, 409, 429, 5xx. Momentární síťová porucha nebo omezení rychlosti nezpůsobí, že váš kód nefunguje - klient sám se opakuje.
  • Stainless-style hierarchie chyb. Chyby jsou typizovány podle tříd, nikoli řetězec v catch. Chytíte konkrétní typ - RateLimitError, ValidationError - a ošetřete přesně.
  • OpenAPI 3.1 jako zdroj. Přidáte endpoint do API - objeví se v SDK na další verzi, bez ruční duplikace.
  • OIDC + SLSA-provence na publikacích: TS a PHP - prostřednictvím Trusted Publisher / auto-mirror, Python - Trusted Publisher OIDC na PyPI. Řetězec dodání je ověřen.

Základní URL v všech - https://api.astroway.info/v1/, klíč je předán hlavičkovým X-Api-Key. Stejné klíč, který pro sírové HTTP požadavky; SDK nic nezmění v autentizaci.

Framework-obaly a roadmap

Sekce “Framework-obaly a roadmap”

Na povrchu tří základních SDK jsou připravené integrace pro konkrétní stacky:

  • @astroway/react - huki pro React aplikace
  • astroway/sdk-symfony - balíček pro Symfony
  • astroway/sdk-laravel - balíček pro Laravel

V práci, ale ještě neveřejné - Go, Ruby a Rust. Jejich stránky již jsou v katalogu SDK s předem nastavenými instalacemi; když je balíček vystupuje do registry, status se změní na „dostupný“.

  1. Klíč na dashboard/sign-up - 10 000 kreditů měsíčně zdarma
  2. Nainstalujte SDK vaším jazykem (příkazy výše)
  3. První volání - natální mapa s snípkem výše, vložte svůj klíč do ASTROWAY_API_KEY

Plný seznam SDK s příklady pro každý - na stránce SDK.

MakSeong · AstroWay

Dělám AstroWay API: zabaluju Swiss Ephemeris do čistého REST a píšu o nudných detailech, které jsou ve skutečnosti důležité.

// postav na tom

Stejný Swiss Ephemeris jako v Solar Fire - ve 4 řádcích kódu.

Zdarma klíč bez karty. 5 000 volání za měsíc do první platby.

Více z blogu všechny příspěvky →

Ephemeris 2026-07-19

Jak udržujeme přesnost pod kontrolou: CI proti swetest a NASA

Přesnost v astro-API snadno degraduje jeden refaktor ephemeridy. Rozdělíme ochranu: jedno jádro Swiss Ephemeris na prohlížeči a serverech, stovky zmražených snapshotů na referenčních mapách a triangulace každého PR proti swetest CGI, Kerykeion, Prokerala a katalogu zatmění NASA.

Industry 2026-06-05

Free Astrology API: Which One Has the Best Free Tier in 2026?

A side-by-side of free tiers across the major astrology APIs - credits, request caps, card requirements - and how much you can actually build for free.

Engineering 2026-06-05

Horoscope API Tutorial: Build a Daily Horoscope Feature

Add daily, weekly and monthly horoscopes to your app via API - sign-based text vs transit-based personalization - with TypeScript and Python code.