Maya Tzolk'in¶
A Maya Tzolk'in (260-day sacred round) engine that deterministically derives a querent's Tzolk'in day — a trecena number (1-13) paired with one of twenty day signs — from their birth date. The cycle uses the GMT (584283) correlation, anchored at 21 December 2012 = 4 Ajaw.
from fortune_telling_core import Querent, ReadingRequest
from fortune_telling_core.traditions.tzolkin import TZOLKIN_DECK, TZOLKIN_SPREAD, build_engine
request = ReadingRequest(
deck_id=TZOLKIN_DECK.id,
spread_id=TZOLKIN_SPREAD.id,
querent=Querent(
id="sample",
display_name="Sample",
attributes={"birth_datetime": "2012-12-21T00:00:00+00:00"},
),
)
reading = build_engine().cast(request)
tzolkin ¶
TZOLKIN_DECK
module-attribute
¶
TZOLKIN_DECK = Deck(
id="tzolkin.deck.daysigns.v1",
symbols=tuple(
(
Symbol(
id=sign.symbol_id,
name=sign.name,
attributes={
"slug": sign.slug,
"cycle_index": str(sign.index),
"keyword": sign.keyword,
"direction": sign.direction,
},
)
)
for sign in DAYSIGNS
),
)
TZOLKIN_SPREAD
module-attribute
¶
TZOLKIN_SPREAD = Spread(
id="tzolkin.spread.birth.v1",
name="Tzolk'in",
positions=(
Position(
"day_sign",
"Day Sign",
"Tzolk'in day sign with its trecena number.",
),
),
)
TzolkinEngine ¶
Bases: AbstractEngine
Maya Tzolk'in (260-day sacred round) engine.
The engine deterministically derives a querent's Tzolk'in day — a trecena number (1-13) paired with one of twenty day signs — from their birth date, using the GMT (584283) correlation anchored at 21 December 2012 = 4 Ajaw.
deck ¶
Return the Tzolk'in day-sign deck.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request
|
ReadingRequest
|
Reading request whose |
required |
Returns:
| Type | Description |
|---|---|
Deck
|
The bundled Tzolk'in deck. |
Raises:
| Type | Description |
|---|---|
ValidationError
|
If the requested deck is unsupported. |
Source code in src/fortune_telling_core/traditions/tzolkin/engine.py
spread ¶
Return the Tzolk'in spread.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request
|
ReadingRequest
|
Reading request whose |
required |
Returns:
| Type | Description |
|---|---|
Spread
|
The bundled Tzolk'in spread. |
Raises:
| Type | Description |
|---|---|
ValidationError
|
If the requested spread is unsupported. |
Source code in src/fortune_telling_core/traditions/tzolkin/engine.py
draw ¶
Compute the Tzolk'in day 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 the single day-sign selection. |
Raises:
| Type | Description |
|---|---|
ValidationError
|
If required birth data is invalid. |
Source code in src/fortune_telling_core/traditions/tzolkin/engine.py
cast ¶
Compute a Tzolk'in 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 day-sign placement and Tzolk'in summary. |
Raises:
| Type | Description |
|---|---|
ValidationError
|
If required birth data is invalid. |