Skip to main content

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):

ClassImportEndpoints
AstrologyApiasterwise.api.astrology_apinatal, 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
AdvancedApiasterwise.api.advanced_apidivisional charts, strength, ashtakavarga, transits, Yogini dasha, Ashtottari dasha
KpApiasterwise.api.kp_apiKP chart, ruling planets, significators
LalKitabApiasterwise.api.lal_kitab_apiLal Kitab chart, remedies
PrashnaApiasterwise.api.prashna_apiprashna
HoroscopeApiasterwise.api.horoscope_apiVedic Moon-sign horoscopes: daily, weekly, monthly, yearly
WesternAstrologyApiasterwise.api.western_astrology_apiWestern 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
WesternApiasterwise.api.western_apiWestern Sun-sign horoscopes (daily, weekly, monthly, yearly), biorhythm
NumerologyApiasterwise.api.numerology_apievery numerology endpoint, including angel numbers, Lo Shu, mobile and vehicle numbers
TarotApiasterwise.api.tarot_apicards, major arcana, suits, draw, card of the day, three-card, Celtic Cross and yes/no spreads
CrystalsApiasterwise.api.crystals_apicrystal catalogue, single crystal, by planet, recommendations, natal recommendations
DreamsApiasterwise.api.dreams_apidream symbols, single symbol
UtilitiesApiasterwise.api.utilities_apigeocode, 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)