Skip to content

Commit 80a9052

Browse files
committed
docs: demonstrate chinese astrology and feng shui
The generated domain table already listed both, because sync-docs rewrites what sits between the DOMAINS markers. Everything outside them is written by hand and had gone stale: the breadth counts, the endpoint and language figures, the per-domain coverage lines, and the most-used endpoint blocks, which stopped at the domains that existed when they were written. Every method, argument and response field added here is checked against the generated types rather than the reference doc, which is how the zodiac response turned out to nest the animal in an object and to report the year stem element beside it.
1 parent ba6f85b commit 80a9052

3 files changed

Lines changed: 59 additions & 14 deletions

File tree

AGENTS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# roxy-sdk (Python) - Agent Guide
22

3-
Python SDK for RoxyAPI. 12+ domains (Western astrology, Vedic astrology, numerology, tarot, human design, forecast, biorhythm, I Ching, crystals, dreams, angel numbers, location) plus utility namespaces (usage, languages). One API key, sync and async.
3+
Python SDK for RoxyAPI. 14+ domains (Western astrology, Vedic astrology, forecast, human design, Chinese astrology, feng shui, numerology, tarot, biorhythm, I Ching, crystals, dreams, angel numbers, location) plus utility namespaces (usage, languages). One API key, sync and async.
44

55
## Install and initialize
66

@@ -126,7 +126,7 @@ card = roxy.tarot.get_daily_card(date="2026-04-22", lang="es")
126126
life_path = roxy.numerology.calculate_life_path(year=1990, month=1, day=15, lang="hi")
127127
```
128128

129-
Supported: `astrology`, `vedic_astrology`, `numerology`, `tarot`, `biorhythm`, `iching`, `crystals`, `angel_numbers`. English-only: `dreams`, `location`, `usage`, `languages`. To list supported codes at runtime, call `roxy.languages.list_languages()`.
129+
Supported: `astrology`, `vedic_astrology`, `forecast`, `human_design`, `chinese_astrology`, `feng_shui`, `numerology`, `tarot`, `biorhythm`, `iching`, `crystals`, `angel_numbers`. English-only: `dreams`, `location`, `usage`, `languages`. The two Chinese scripts (`zh-Hans`, `zh-Hant`) currently ship on Chinese astrology and feng shui; every other domain answers those codes in English per field. To list supported codes at runtime, call `roxy.languages.list_languages()`.
130130

131131
### Error handling
132132

@@ -156,7 +156,7 @@ except RoxyAPIError as e:
156156

157157
## Common tasks
158158

159-
Ordered by domain priority (Western, Vedic, Numerology, Tarot, Human Design, Forecast, Biorhythm, I Ching, Crystals, Dreams, Angel Numbers, Location, Usage, Languages).
159+
Ordered by domain priority (Western, Vedic, Forecast, Human Design, Chinese Astrology, Feng Shui, Numerology, Tarot, Biorhythm, I Ching, Crystals, Dreams, Angel Numbers, Location, Usage, Languages).
160160

161161
| Task | Code |
162162
|------|------|

README.md

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Python SDK for astrology, Vedic astrology, tarot, numerology, and more.
1616

1717
One API key. Sync and async (every method has an `_async` suffix). Verified against NASA JPL Horizons.
1818

19-
The fastest way to add natal charts, daily horoscopes, synastry, Vedic kundli, tarot spreads, numerology, human design bodygraphs, and transit forecasts to FastAPI, Django, Flask, or any Python project. 12+ domains behind a single [Roxy](https://roxyapi.com) subscription, interpretations in eight languages.
19+
The fastest way to add natal charts, daily horoscopes, synastry, Vedic kundli, tarot spreads, numerology, human design bodygraphs, and transit forecasts to FastAPI, Django, Flask, or any Python project. 14+ domains behind a single [Roxy](https://roxyapi.com) subscription, interpretations in 10+ languages.
2020

2121
## Install
2222

@@ -92,10 +92,12 @@ lat, lng, tz = city["latitude"], city["longitude"], city["timezone"]
9292
|--------|----------|----------------|
9393
| Western Astrology | `roxy.astrology` | Natal charts, daily / weekly / monthly horoscopes, synastry, compatibility score, transits, moon phases |
9494
| Vedic Astrology | `roxy.vedic_astrology` | Kundli, panchang, Vimshottari dasha, nakshatras, Mangal / Kaal Sarp / Sade Sati doshas, Guna Milan, navamsa, KP chart and ruling planets |
95+
| Forecast | `roxy.forecast` | Cross-domain timeline: transits, ingresses, stations, dasha changes, critical days |
96+
| Human Design | `roxy.human_design` | Full bodygraph: type, strategy, authority, profile, definition, centers, channels, gates |
97+
| Chinese Astrology | `roxy.chinese_astrology` | BaZi Four Pillars, Chinese zodiac, lunisolar calendar, hidden stems, Na Yin, Ten Gods, luck pillars, animal compatibility |
98+
| Feng Shui | `roxy.feng_shui` | Xuan Kong flying star charts, Kua number, Eight Mansions, annual and monthly plates, afflictions, Bagua map |
9599
| Numerology | `roxy.numerology` | Life path, expression, soul urge, personal year, full chart, compatibility, karmic lessons |
96100
| Tarot | `roxy.tarot` | Daily card, custom draws, three-card, Celtic Cross, yes / no, love spread, 78-card catalog |
97-
| Human Design | `roxy.human_design` | Full bodygraph: type, strategy, authority, profile, definition, centers, channels, gates |
98-
| Forecast | `roxy.forecast` | Cross-domain timeline: transits, ingresses, stations, dasha changes, critical days |
99101
| Biorhythm | `roxy.biorhythm` | Daily check-in, multi-day forecast, critical days, couples compatibility, phases |
100102
| I Ching | `roxy.iching` | Daily hexagram, three-coin cast, 64 hexagrams, trigrams |
101103
| Crystals | `roxy.crystals` | By zodiac, by chakra, birthstone, search, daily, pairings |
@@ -246,7 +248,50 @@ event = timeline["events"][0]
246248
print(event["date"], event["domain"], event["type"], event["description"], event["significance"])
247249
```
248250

249-
### 7. Biorhythm API (daily check-in, forecast, compatibility)
251+
### 7. Chinese astrology API (BaZi four pillars, zodiac sign)
252+
253+
BaZi (Four Pillars of Destiny), the twelve-animal zodiac, and the lunisolar calendar with its almanac. The school splits that make two calculators disagree are typed request parameters with named defaults, echoed back in a `conventions` object on every response, so a chart can be reproduced rather than guessed at. The zodiac routes answer the high-volume consumer questions; BaZi and the almanac are where an app goes deeper.
254+
255+
```python
256+
# BaZi Four Pillars. The anchor call: the rest of the domain reads off these four pillars.
257+
# `timezone` takes the IANA name, resolved to the DST-correct offset for the birth date.
258+
bazi = roxy.chinese_astrology.generate_bazi_chart(
259+
date="1990-07-04", time="10:12:00", timezone="America/New_York",
260+
)
261+
# bazi["pillars"][n]["position"] ("year" | "month" | "day" | "hour")
262+
# ...["stem"]["element"], ["branch"]["animal"], ["tenGod"]["name"], ["hiddenStems"], ["naYin"]
263+
print(bazi["dayMaster"]["element"], bazi["zodiacAnimal"])
264+
# bazi["fiveElements"], bazi["conventions"], bazi["summary"]
265+
266+
# Chinese zodiac sign. Defaults `year_boundary` to "lunar-new-year", the folk rule people mean
267+
# when they say which animal they are. Pass "li-chun" to match the classical BaZi boundary.
268+
sign = roxy.chinese_astrology.calculate_zodiac_animal(date="1990-07-04")
269+
# sign["animal"]["name"] ("Horse"), ["element"] ("Fire"), ["polarity"]
270+
# sign["element"] is the YEAR STEM element ("Metal"), not the element of the animal.
271+
# sign["yearPillar"], sign["interpretation"]
272+
```
273+
274+
### 8. Feng shui API (Kua number, flying star chart)
275+
276+
Kua numbers with the full Eight Mansions map ranked best to worst, Xuan Kong flying star natal charts for any of the nine periods and 24 mountains, annual and monthly star plates, and the four annual afflictions with exact degree spans. Chinese years resolve at Li Chun, computed astronomically rather than assumed, so the annual charts change over on the real boundary.
277+
278+
```python
279+
# Kua number: one birth date and a gender gives the personal directions everything else reads off.
280+
kua = roxy.feng_shui.calculate_kua_number(date="1990-07-04", gender="female")
281+
print(kua["kua"], kua["group"], kua["trigram"]["english"]) # 8 west Mountain
282+
# kua["sectors"][n]["direction"], ["starName"], ["nature"] ("auspicious" | "inauspicious"),
283+
# ["rank"], ["domain"]
284+
285+
# Flying star natal chart. Period plus facing gives the nine palaces with base, mountain
286+
# and water stars. Send `facing` (a mountain id like "bing" or a compass label like "S2")
287+
# or `facing_degrees`, not neither.
288+
chart = roxy.feng_shui.generate_flying_star_chart(period=9, facing="S2")
289+
# chart["facing"]["label"] ("S2"), chart["sitting"]["label"], chart["structure"]["name"]
290+
# chart["palaces"][n]["palace"], ["base"], ["mountain"], ["water"], ["reading"]
291+
# chart["mountainCenterStar"], chart["waterCenterStar"], chart["straddling"]
292+
```
293+
294+
### 9. Biorhythm API (daily check-in, forecast, compatibility)
250295

251296
Zero competition domain. Steady search volume with the top Google result being a static calculator page. Pure land-grab for wellness, productivity, sports, and couples apps.
252297

@@ -260,7 +305,7 @@ forecast = roxy.biorhythm.get_forecast(
260305
)
261306
```
262307

263-
### 8. I Ching API (daily hexagram, coin cast, 64-hexagram catalog)
308+
### 10. I Ching API (daily hexagram, coin cast, 64-hexagram catalog)
264309

265310
Meditation apps, decision-making tools, and wisdom chatbots. `i ching API` and `hexagram API` are the keywords.
266311

@@ -274,7 +319,7 @@ hexagrams = roxy.iching.list_hexagrams()
274319
# hexagrams["hexagrams"] has 64 entries
275320
```
276321

277-
### 9. Crystals API (by zodiac, by chakra, birthstone)
322+
### 11. Crystals API (by zodiac, by chakra, birthstone)
278323

279324
Crystal retail and metaphysical shops use these to build "crystals for [sign]" and "[chakra] chakra stones" pages.
280325

@@ -290,7 +335,7 @@ by_chakra = roxy.crystals.get_crystals_by_chakra(chakra="heart")
290335
birthstone = roxy.crystals.get_birthstones(month="4")
291336
```
292337

293-
### 10. Dream interpretation API (symbol dictionary, search)
338+
### 12. Dream interpretation API (symbol dictionary, search)
294339

295340
Thousands of dream symbols. `dream meaning` is among the highest-volume spiritual searches on Google. Journal apps, AI therapy chatbots, and self-discovery products are the buyers.
296341

@@ -304,7 +349,7 @@ results = roxy.dreams.search_dream_symbols(q="flying")
304349
# results["symbols"] is an array of matching symbols
305350
```
306351

307-
### 11. Angel Numbers API (1111, 222, 333 meanings plus universal lookup)
352+
### 13. Angel Numbers API (1111, 222, 333 meanings plus universal lookup)
308353

309354
Gen Z spiritual-tok fuel. `111 meaning`, `222 meaning`, `333 angel number` are evergreen viral queries with massive shareability.
310355

@@ -351,14 +396,14 @@ asyncio.run(main())
351396

352397
## Multi-language responses
353398

354-
Interpretations and editorial text are available in eight languages: English (`en`), Turkish (`tr`), German (`de`), Spanish (`es`), French (`fr`), Hindi (`hi`), Portuguese (`pt`), Russian (`ru`). Pass `lang` as a keyword argument on any supported method:
399+
Interpretations and editorial text are available in 10 languages: English (`en`), Turkish (`tr`), German (`de`), Spanish (`es`), French (`fr`), Hindi (`hi`), Portuguese (`pt`), Russian (`ru`), Chinese Simplified (`zh-Hans`), Chinese Traditional (`zh-Hant`). Pass `lang` as a keyword argument on any supported method:
355400

356401
```python
357402
card = roxy.tarot.get_daily_card(date="2026-04-22", lang="es")
358403
life_path = roxy.numerology.calculate_life_path(year=1990, month=1, day=15, lang="hi")
359404
```
360405

361-
Supported: `astrology`, `vedic_astrology`, `numerology`, `tarot`, `biorhythm`, `iching`, `crystals`, `angel_numbers`. English-only: `dreams`, `location`, `usage`. Untranslated fields fall back to English.
406+
Supported: `astrology`, `vedic_astrology`, `forecast`, `human_design`, `chinese_astrology`, `feng_shui`, `numerology`, `tarot`, `biorhythm`, `iching`, `crystals`, `angel_numbers`. English-only: `dreams`, `location`, `usage`. The two Chinese scripts (`zh-Hans`, `zh-Hant`) currently ship on Chinese astrology and feng shui; every other domain answers those codes in English per field. Untranslated fields fall back to English.
362407

363408
## Framework examples
364409

examples/app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""
22
Example FastAPI server using the roxy-sdk Python package.
33
4-
Demonstrates all 10 domains with async endpoints, error handling,
4+
Demonstrates nine of the fourteen domains with async endpoints, error handling,
55
connection lifecycle, and environment-based API key configuration.
66
77
Setup:

0 commit comments

Comments
 (0)