Thai Thaksa¶
A Thai Thaksa (ทักษา) engine that deterministically seats the eight grahas into a querent's houses from their birth datetime. The result drives Thai name and number divination: the Boriwan ruler and its lucky colour, Buddha posture, planetary strength, and the inauspicious Kalakini graha.
from fortune_telling_core import Querent, ReadingRequest
from fortune_telling_core.traditions.thaksa import THAKSA_DECK, THAKSA_SPREAD, build_engine
request = ReadingRequest(
deck_id=THAKSA_DECK.id,
spread_id=THAKSA_SPREAD.id,
querent=Querent(
id="sample",
display_name="Sample",
attributes={"birth_datetime": "1990-04-15T09:00:00+07:00"},
),
)
reading = build_engine().cast(request)
thaksa ¶
THAKSA_DECK
module-attribute
¶
THAKSA_DECK = Deck(
id="thaksa.deck.grahas.v1",
symbols=tuple(
(
Symbol(
id=graha.symbol_id,
name=graha.name,
attributes={
"slug": graha.slug,
"thai": graha.thai,
"cycle_index": str(graha.index),
"color": graha.color,
"buddha_posture": graha.buddha_posture,
"strength": str(graha.strength),
},
)
)
for graha in GRAHAS
),
)
THAKSA_SPREAD
module-attribute
¶
THAKSA_SPREAD = Spread(
id="thaksa.spread.houses.v1",
name="Thaksa",
positions=tuple(
(Position(house.slug, house.name, house.meaning))
for house in HOUSES
),
)
ThaksaEngine ¶
Bases: AbstractEngine
Thai Thaksa (ทักษา) engine.
The engine deterministically derives a querent's birth-day ruling graha and seats the eight grahas into the eight Thaksa houses, surfacing the ruler's lucky color, Buddha posture, planetary strength, and the inauspicious Kalakini graha. A Wednesday birth at or after 18:00 rules under Rahu (Wednesday night).
deck ¶
Return the Thaksa graha deck.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request
|
ReadingRequest
|
Reading request whose |
required |
Returns:
| Type | Description |
|---|---|
Deck
|
The bundled Thaksa deck. |
Raises:
| Type | Description |
|---|---|
ValidationError
|
If the requested deck is unsupported. |
Source code in src/fortune_telling_core/traditions/thaksa/engine.py
spread ¶
Return the Thaksa house spread.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request
|
ReadingRequest
|
Reading request whose |
required |
Returns:
| Type | Description |
|---|---|
Spread
|
The bundled Thaksa spread. |
Raises:
| Type | Description |
|---|---|
ValidationError
|
If the requested spread is unsupported. |
Source code in src/fortune_telling_core/traditions/thaksa/engine.py
draw ¶
Compute the Thaksa house placements as a deterministic draw.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request
|
ReadingRequest
|
Reading request with |
required |
rng
|
Rng
|
Ignored. The argument is present for |
required |
Returns:
| Type | Description |
|---|---|
Draw
|
A draw with one graha selection per Thaksa house. |
Raises:
| Type | Description |
|---|---|
ValidationError
|
If required birth data is invalid. |
Source code in src/fortune_telling_core/traditions/thaksa/engine.py
cast ¶
Compute a Thaksa reading without a caller RNG.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request
|
ReadingRequest
|
Reading request containing birth data. |
required |
Returns:
| Type | Description |
|---|---|
Reading
|
A reading with the eight house placements and a Thaksa summary. |
Raises:
| Type | Description |
|---|---|
ValidationError
|
If required birth data is invalid. |