Python SDK
Current version: 0.12.0
The official Asterwise Python SDK provides typed access to all 131 public API endpoints across Vedic + Western astrology, numerology, tarot, crystals, and dreams
Installation
pip install asterwise
Requirements: Python 3.10+
Quick start
import asterwise
from asterwise.api.astrology_api import AstrologyApi
from asterwise.models.natal_request import NatalRequest
configuration = asterwise.Configuration(
host="https://api.asterwise.com",
access_token="YOUR_API_KEY",
)
with asterwise.ApiClient(configuration) as client:
api = AstrologyApi(client)
result = api.natal_chart(NatalRequest(
date="1985-11-12",
time="06:45",
location="Mumbai, India",
ayanamsa="lahiri",
))
print(result.data)
Configuration
configuration = asterwise.Configuration(
host="https://api.asterwise.com",
access_token="YOUR_API_KEY",
)
Get your API key from asterwise.com/dashboard.
API classes
The SDK splits endpoints across API classes by domain (as published in the 0.12.0 package):
| Class | Import | Endpoints |
|---|---|---|
AstrologyApi | asterwise.api.astrology_api | natal, kundali chart SVG, Vimshottari dasha, Char dasha, dasha transits, yogas, doshas, Pitra dosha, Sade Sati, Ghat Chakra, gochar, matchmaking (Kundali Milan, Dashakoot, Papasamyam, Porutham, Thirumana Porutham), panchanga (day, calendar, Tamil, choghadiya, hora, Rahu Kaal, festivals), muhurta, varshaphal (chart, Saham, Harsha Bala), ayanamsha, atmakaraka, ishta devta, nakshatra details and prediction, planet nature, remedies, gemstones, rudraksha, puja suggestions |
AdvancedApi | asterwise.api.advanced_api | divisional charts, strength, ashtakavarga, transits, Yogini dasha, Ashtottari dasha |
KpApi | asterwise.api.kp_api | KP chart, ruling planets, significators |
LalKitabApi | asterwise.api.lal_kitab_api | Lal Kitab chart, remedies |
PrashnaApi | asterwise.api.prashna_api | prashna |
HoroscopeApi | asterwise.api.horoscope_api | Vedic Moon-sign horoscopes: daily, weekly, monthly, yearly |
WesternAstrologyApi | asterwise.api.western_astrology_api | Western natal, aspects, synastry, composite, compatibility, transits (daily, weekly, monthly), progressions, solar arc, solar, lunar and planetary returns, Moon phase and calendar, void-of-course Moon, planetary hours, annual profections, eclipses |
WesternApi | asterwise.api.western_api | Western Sun-sign horoscopes (daily, weekly, monthly, yearly), biorhythm |
NumerologyApi | asterwise.api.numerology_api | every numerology endpoint, including angel numbers, Lo Shu, mobile and vehicle numbers |
TarotApi | asterwise.api.tarot_api | cards, major arcana, suits, draw, card of the day, three-card, Celtic Cross and yes/no spreads |
CrystalsApi | asterwise.api.crystals_api | crystal catalogue, single crystal, by planet, recommendations, natal recommendations |
DreamsApi | asterwise.api.dreams_api | dream symbols, single symbol |
UtilitiesApi | asterwise.api.utilities_api | geocode, timezone |
Examples
Vimshottari Dasha
from asterwise.api.astrology_api import AstrologyApi
from asterwise.models.dasha_request import DashaRequest
with asterwise.ApiClient(configuration) as client:
api = AstrologyApi(client)
result = api.dasha(DashaRequest(
date="1985-11-12",
time="06:45",
location="Mumbai, India",
ayanamsa="lahiri",
levels=2,
))
print(result.data)
Numerology profile
from asterwise.api.numerology_api import NumerologyApi
from asterwise.models.numerology_request import NumerologyRequest
with asterwise.ApiClient(configuration) as client:
api = NumerologyApi(client)
result = api.numerology_profile(NumerologyRequest(
name="Arjun Mehta",
date="1985-11-12",
))
print(result.data)
Matchmaking
from asterwise.api.astrology_api import AstrologyApi
from asterwise.models.matchmaking_request import MatchmakingRequest
from asterwise.models.birth_input import BirthInput
person1 = BirthInput(
date="1985-11-12", time="06:45",
location="Mumbai, India", ayanamsa="lahiri"
)
person2 = BirthInput(
date="1990-06-21", time="15:30",
location="Rome, Italy", ayanamsa="lahiri"
)
with asterwise.ApiClient(configuration) as client:
api = AstrologyApi(client)
result = api.matchmaking(MatchmakingRequest(
person1=person1,
person2=person2,
))
print(result.data)