You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: globalize examples, front-load high-demand keywords, sync domains to 12+
Lead-with-global: the Western examples (natal chart, daily horoscope, synastry,
human design, forecast) use global cities while the Vedic section keeps Indian
coordinates. The README opening now front-loads the high-demand surface (natal
charts, daily horoscopes, synastry, Vedic kundli, tarot spreads, numerology,
human design bodygraphs, transit forecasts). Domain count reads 12+ and the
breadth lists include human design and forecast.
Copy file name to clipboardExpand all lines: AGENTS.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# roxy-sdk (Python) - Agent Guide
2
2
3
-
Python SDK for RoxyAPI. Spiritual domains (Western astrology, Vedic astrology, numerology, tarot, Human Design, forecast, biorhythm, I Ching, crystals, dreams, angel numbers) plus utility namespaces (location, usage, languages). One API key, sync and async.
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.
Every chart, horoscope, panchang, dasha, dosha, navamsa, KP, synastry, compatibility, and natal endpoint needs `latitude`, `longitude`, and (for Western) `timezone`. **Never ask the user for coordinates.** Always call `roxy.location.search_cities` first.
32
32
33
33
```python
34
-
result = roxy.location.search_cities(q="Mumbai")
34
+
result = roxy.location.search_cities(q="New York")
35
35
city = result["cities"][0]
36
36
lat, lng, tz = city["latitude"], city["longitude"], city["timezone"]
37
-
# `timezone` is the IANA string ("Asia/Kolkata"). Pass it directly to any chart endpoint.
37
+
# `timezone` is the IANA string ("America/New_York"). Pass it directly to any chart endpoint.
38
38
# The server resolves it to the DST-correct decimal offset using the request's own date,
39
39
# so a January 1990 New York chart gets EST (-5) even when you looked the city up in July.
40
40
# If you prefer numbers, city["utcOffset"] (decimal: 5.5, -5, ...) also works.
41
41
```
42
42
43
-
`q` accepts bare city (`"Mumbai"`), city + country (`"Berlin Germany"`), or comma-qualified (`"Springfield, Illinois"`). Use the qualified form to disambiguate same-named cities.
43
+
`q` accepts bare city (`"Paris"`), city + country (`"Berlin Germany"`), or comma-qualified (`"Springfield, Illinois"`). Use the qualified form to disambiguate same-named cities.
44
44
45
45
## Domains
46
46
@@ -68,7 +68,7 @@ Type `roxy.` to see all available namespaces. Type `roxy.{domain}.` in an IDE wi
68
68
### Two-step pattern for coordinate-dependent endpoints
69
69
70
70
```python
71
-
result = roxy.location.search_cities(q="Delhi")
71
+
result = roxy.location.search_cities(q="London")
72
72
city = result["cities"][0]
73
73
74
74
chart = roxy.astrology.generate_natal_chart(
@@ -102,7 +102,7 @@ Most valuable endpoints are POST:
@@ -195,7 +195,7 @@ Ordered by domain priority (Western, Vedic, Numerology, Tarot, Human Design, For
195
195
| Dream symbol lookup |`roxy.dreams.get_dream_symbol(id="flying")`|
196
196
| Angel number meaning |`roxy.angel_numbers.get_angel_number(number="1111")`|
197
197
| Universal number lookup |`roxy.angel_numbers.analyze_number_sequence(number="1234")`|
198
-
| Find city coordinates |`roxy.location.search_cities(q="Mumbai")`|
198
+
| Find city coordinates |`roxy.location.search_cities(q="Berlin")`|
199
199
| Check API usage |`roxy.usage.get_usage_stats()`|
200
200
| List supported languages |`roxy.languages.list_languages()`|
201
201
@@ -208,8 +208,8 @@ These are the fields AI agents most often get wrong. Copy the format column exac
208
208
|`timezone`| IANA string (typed kwarg) OR decimal number (inside a `dict[str, Any]`) |`"Asia/Kolkata"`, `"America/New_York"`, `"Europe/London"` as the top-level `timezone=` kwarg (server resolves to the DST-correct offset for the chart date). Decimal hours (`5.5`, `-5`, `0`) work as JSON numbers and are accepted only inside `person1`/`person2` dicts because the dict is typed `dict[str, Any]` - the top-level `timezone=` kwarg is typed `str`, so a quoted decimal like `"5.5"` is rejected server-side (validation_error). |`"5.5"` as `timezone=` (rejected, server expects IANA string or a JSON number), `"5:30"`, `"+0530"`, `"GMT-5"`|
209
209
|`date`| ISO date string |`"1990-01-15"`|`"Jan 15 1990"`, `datetime.now()`, `"15/01/1990"`, `"1990-1-15"`|
210
210
|`time`| 24-hour string |`"14:30:00"`, `"09:00:00"`|`"2:30 PM"`, `"14:30"` (no seconds), `"9:0:0"` (no leading zeros) |
|`longitude`| Decimal degrees (float) |`-0.1278` (London), `-74.006` (NYC), `139.6917` (Tokyo) | Same as latitude - no DMS strings |
213
213
|`sign` (horoscope kwarg) | Lowercase zodiac name |`"aries"`, `"taurus"`, `"gemini"`, ... `"pisces"`|`"Aries"`, `"♈"`, `"1"`, `"ARIES"` (case-insensitive but prefer lowercase) |
214
214
|`full_name` (numerology) | Birth-certificate name |`"John William Smith"`, `"Priya Rajesh Sharma"`| Nickname, married name, partial name - affects all letter-based calcs |
215
215
|`seed`| Any string (deterministic) |`"user-42"`, `"session-abc-123"`, email hash | Numbers, objects - must be string |
@@ -226,7 +226,7 @@ These are the fields AI agents most often get wrong. Copy the format column exac
226
226
227
227
### Timezone cheat sheet (most-asked locations)
228
228
229
-
Values are decimal hours. For the typed top-level `timezone=` kwarg, pass the IANA name from `roxy.location.search_cities` (`timezone="Asia/Kolkata"`) - the server resolves it to the correct DST offset for the chart date. Inside a `person1`/`person2` dict the bare decimal works because the dict is typed `dict[str, Any]`, so the JSON-number form below is accepted.
229
+
Values are decimal hours. For the typed top-level `timezone=` kwarg, pass the IANA name from `roxy.location.search_cities` (`timezone="America/New_York"`) - the server resolves it to the correct DST offset for the chart date. Inside a `person1`/`person2` dict the bare decimal works because the dict is typed `dict[str, Any]`, so the JSON-number form below is accepted.
Copy file name to clipboardExpand all lines: README.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Python SDK for astrology, Vedic astrology, tarot, numerology, and more.
16
16
17
17
One API key. Sync and async (every method has an `_async` suffix). Verified against NASA JPL Horizons.
18
18
19
-
The fastest way to add natal charts, kundli matching, daily horoscopes, tarot readings, and spiritual insights to FastAPI, Django, Flask, or any Python project. Twelve 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. 12+ domains behind a single [Roxy](https://roxyapi.com) subscription, interpretations in eight languages.
20
20
21
21
## Install
22
22
@@ -47,22 +47,22 @@ from roxy_sdk import create_roxy
47
47
roxy = create_roxy("your-api-key")
48
48
49
49
# Step 1: geocode the birth city (required for any chart endpoint)
50
-
result = roxy.location.search_cities(q="Mumbai, India")
50
+
result = roxy.location.search_cities(q="London, UK")
51
51
city = result["cities"][0]
52
52
lat, lng, tz = city["latitude"], city["longitude"], city["timezone"]
53
53
54
-
# Step 2: Vedic kundli. `timezone` can be the IANA string ("Asia/Kolkata").
54
+
# Step 2: Western natal chart. `timezone` can be the IANA string ("Europe/London").
55
55
# The server resolves it to the DST-correct offset for the chart's own date.
0 commit comments