AstroWay/api v2.190.0 · tr
tüm sistemler normal

Üç resmi SDK: TypeScript, Python, PHP ham curl yerine

Ham HTTP çalışır, ancak tiplenmiş istemci saatler tasarruf ettirir: yol otomatik tamamlaması, istek ve yanıt tipleri, 408/409/429/5xx için yerleşik retry ve Stainless tarzı hata hiyerarşisi. Üç resmi SDK'yı inceliyoruz - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist) - ve bunların tek bir OpenAPI sözleşmesinden nasıl üretildiğini.

API’ye erişim için curl veya fetch kullanmak mümkün - basit bir sözleşme, tek bir X-Api-Key başlığı, JSON’a dönüştürülür. Ancak endpoint sayısının 758 üzerinde ve isteklerin yüzlerce parametresi olduğunda, tipik bir client saatler kazandırır: yol autocompletionu, istek ve cevap türleri, ve isteğin yeniden gönderilmesi için otomatik tekrarlar.

Dolayısıyla, biz üç resmi SDK var, hepsi aynı OpenAPI 3.1 sözleşmesinden üretilmiştir.

Terminal window
# TypeScript / JavaScript
npm install @astroway/sdk
# Python
pip install astroway
# PHP
composer require astroway/sdk

Oynatılan haritasını üç dilde aynı şekilde çağırmak.

TypeScript - openapi-fetch (~6 KB runtime) üzerine ince bir katman, yol autocompletionu:

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 - Astroway ve AsyncAstroway ile aynı yüzey, httpx üzerine:

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 - Guzzle 7 ve PSR-18 üzerine:

<?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'];

Farklı üç dil, aynı garantiler - hepsi aynı OpenAPI sözleşmesinden üretilmiştir:

  • Tüm endpointler için istek ve cevap türleri. TS yol autocompletionu ve türize edilmiş istek ve cevapları; Python - PEP 561 türize edilmiş paket; PHP - türize edilmiş imzalar. IDE, alanları değil, yan sayfadaki belgelere bakarak gösterir.
  • İsteğin yeniden gönderilmesi için otomatik geri alma 408, 409, 429, 5xx için. Geçici ağ hataları veya hız limitleri, kodunuzu durdurur - client, yeniden gönderir.
  • Stainless-style hata hiyerarşisi. Hatalar, sınıflara göre türize edilir, değil, satırda catch. Belirli bir hata türü - RateLimitError, ValidationError - ve doğru bir şekilde işler.
  • OpenAPI 3.1 kaynağı. API endpointini ekleyin - SDK’da sonraki sürümde, elbette, otomatik olarak görünür.
  • OIDC + SLSA-provans yayın için: TS ve PHP - Güvenilen Yayıncı / otomatik-çevirmen, Python - Güvenilen Yayıncı OIDC PyPI’de. Tüketim zinciri kontrolü yapılır.

Tüm SDK’lar için base URL - https://api.astroway.info/v1/, anahtar X-Api-Key başlığıyla gönderilir. Oynatılan haritası için aynı anahtar, aynı HTTP çağrıları için.

Üç temel SDK’nin üzerine, belirli bir stek için hazır entegrasyonlar var:

  • @astroway/react - React uygulamaları için hook’lar
  • astroway/sdk-symfony - Symfony için paket
  • astroway/sdk-laravel - Laravel için paket

Çalışma, ama henüz yayınlanmamış - Go, Ruby ve Rust. Onların sayfaları zaten SDK kataloğunda, önizleme kurulum komutları var; paket, registry’de görününce, durum değişir.

  1. Anahtar dashboard/sign-up - ayda 10.000 kredit için ücretsiz
  2. SDK’nı kendi dilinde kur (komutlar yukarıda)
  3. İlk çağrı - oynatılan haritası, örnekteki snippet, anahtarını ASTROWAY_API_KEY olarak yerleştir

Tam SDK listesi ve örnekleri, SDK sayfasında.

MakSeong · AstroWay

I build the AstroWay API: Swiss Ephemeris on a clean REST surface, and I write about the dull parts that turn out to matter.

// bunu kullanarak inşa et

Solar Fire'daki aynı Swiss Ephemeris - 4 satır kodla.

Kart gerekmeden ücretsiz anahtar. İlk ödemeye kadar ayda 5.000 istek.

Daha fazla blog yazısı tüm yazılar →

Ephemeris 2026-07-19

Bakım altındaki doğruluk nasıl kontrol edilir: CI karşı swetest ve NASA

Astro-API'de doğruluk kolayca bir ephemeris refactorundan düşebilir. Bu koruma hakkında: bir Swiss Ephemeris çekirdeği tarayıcı ve sunucu için, yüzlerce dondurulmuş snapshot için standart haritalar ve her PR karşı swetest CGI, Kerykeion, Prokerala ve NASA karanlık listesi.

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.