From 79d4f1a09ed5be774f882f4afa1bb28b21ce8440 Mon Sep 17 00:00:00 2001 From: nose Date: Tue, 25 Nov 2025 22:19:36 -0800 Subject: [PATCH] k --- LICENSE | 21 + MANIFEST.in | 5 + docs/FILTERING.md | 192 ++ docs/REGISTRY_MAPPING.md | 110 ++ mytest.py | 56 + pyproject.toml | 74 + src/__init__.py | 35 + src/kaballah/__init__.py | 22 + src/kaballah/attributes.py | 215 ++ src/kaballah/cube/__init__.py | 6 + src/kaballah/cube/attributes.py | 513 +++++ src/kaballah/cube/cube.py | 359 ++++ src/kaballah/tree/__init__.py | 5 + src/kaballah/tree/tree.py | 136 ++ src/letter/__init__.py | 27 + src/letter/attributes.py | 249 +++ src/letter/iChing.py | 220 +++ src/letter/iChing_attributes.py | 42 + src/letter/letter.py | 87 + src/letter/paths.py | 340 ++++ src/letter/words/__init__.py | 5 + src/letter/words/word.py | 40 + src/number/__init__.py | 19 + src/number/loader.py | 198 ++ src/number/number.py | 84 + src/tarot/__init__.py | 179 ++ src/tarot/attributes.py | 129 ++ src/tarot/card/__init__.py | 26 + src/tarot/card/card.py | 331 ++++ src/tarot/card/data.py | 1750 +++++++++++++++++ src/tarot/card/details.py | 557 ++++++ src/tarot/card/image_loader.py | 346 ++++ src/tarot/card/loader.py | 259 +++ src/tarot/card/spread.py | 323 +++ src/tarot/deck/__init__.py | 32 + src/tarot/deck/deck.py | 734 +++++++ src/tarot/deck/default/01_Ace Cups.webp | Bin 0 -> 50432 bytes src/tarot/deck/default/02_Ten Cups.webp | Bin 0 -> 60176 bytes src/tarot/deck/default/03_Two Cups.webp | Bin 0 -> 50520 bytes src/tarot/deck/default/04_Three Cups.webp | Bin 0 -> 75608 bytes src/tarot/deck/default/05_Four Cups.webp | Bin 0 -> 60330 bytes src/tarot/deck/default/06_Five Cups.webp | Bin 0 -> 53502 bytes src/tarot/deck/default/07_Six Cups.webp | Bin 0 -> 53898 bytes src/tarot/deck/default/08_Seven Cups.webp | Bin 0 -> 52718 bytes src/tarot/deck/default/09_Eight Cups.webp | Bin 0 -> 57634 bytes src/tarot/deck/default/10_Nine Cups.webp | Bin 0 -> 61382 bytes src/tarot/deck/default/11_Knight Cups.webp | Bin 0 -> 63522 bytes src/tarot/deck/default/12_Prince Cups.webp | Bin 0 -> 62520 bytes src/tarot/deck/default/13_Princess Cups.webp | Bin 0 -> 53836 bytes src/tarot/deck/default/14_Queen Cups.webp | Bin 0 -> 75084 bytes src/tarot/deck/default/15_Ace Disks.webp | Bin 0 -> 58458 bytes src/tarot/deck/default/16_Ten Disks.webp | Bin 0 -> 65006 bytes src/tarot/deck/default/17_Two Disks.webp | Bin 0 -> 61746 bytes src/tarot/deck/default/18_Three Disks.webp | Bin 0 -> 86202 bytes src/tarot/deck/default/19_Four Disks.webp | Bin 0 -> 62202 bytes src/tarot/deck/default/20_Five Disks.webp | Bin 0 -> 71334 bytes src/tarot/deck/default/21_Six Disks.webp | Bin 0 -> 67614 bytes src/tarot/deck/default/22_Seven Disks.webp | Bin 0 -> 69766 bytes src/tarot/deck/default/23_Eight Disks.webp | Bin 0 -> 71732 bytes src/tarot/deck/default/24_Nine Disks.webp | Bin 0 -> 67142 bytes src/tarot/deck/default/25_Knight Disks.webp | Bin 0 -> 64988 bytes src/tarot/deck/default/26_Prince Disks.webp | Bin 0 -> 63874 bytes src/tarot/deck/default/27_Princess Disks.webp | Bin 0 -> 54030 bytes src/tarot/deck/default/28_Queen Disks.webp | Bin 0 -> 67222 bytes src/tarot/deck/default/29_Ace Swords.webp | Bin 0 -> 48184 bytes src/tarot/deck/default/30_Ten Swords.webp | Bin 0 -> 61524 bytes src/tarot/deck/default/31_Two Swords.webp | Bin 0 -> 53004 bytes src/tarot/deck/default/32_Three Swords.webp | Bin 0 -> 49666 bytes src/tarot/deck/default/33_Four Swords.webp | Bin 0 -> 58230 bytes src/tarot/deck/default/34_Five Swords.webp | Bin 0 -> 56552 bytes src/tarot/deck/default/35_Six Swords.webp | Bin 0 -> 64458 bytes src/tarot/deck/default/36_Seven Swords.webp | Bin 0 -> 52338 bytes src/tarot/deck/default/37_Eight Swords.webp | Bin 0 -> 51194 bytes src/tarot/deck/default/38_Nine Swords.webp | Bin 0 -> 64886 bytes src/tarot/deck/default/39_Knight Swords.webp | Bin 0 -> 66486 bytes src/tarot/deck/default/40_Prince Swords.webp | Bin 0 -> 64190 bytes .../deck/default/41_Princess Swords.webp | Bin 0 -> 55228 bytes src/tarot/deck/default/42_Queen Swords.webp | Bin 0 -> 65832 bytes src/tarot/deck/default/43_Fool.webp | Bin 0 -> 41546 bytes src/tarot/deck/default/44_Magus.webp | Bin 0 -> 60096 bytes src/tarot/deck/default/45_Fortune.webp | Bin 0 -> 65224 bytes src/tarot/deck/default/46_Lust.webp | Bin 0 -> 54652 bytes src/tarot/deck/default/47_Hanged Man.webp | Bin 0 -> 49206 bytes src/tarot/deck/default/48_Death.webp | Bin 0 -> 55946 bytes src/tarot/deck/default/49_Art.webp | Bin 0 -> 50562 bytes src/tarot/deck/default/50_Devil.webp | Bin 0 -> 47296 bytes src/tarot/deck/default/51_Tower.webp | Bin 0 -> 47600 bytes src/tarot/deck/default/52_Star.webp | Bin 0 -> 43032 bytes src/tarot/deck/default/53_Moon.webp | Bin 0 -> 50758 bytes src/tarot/deck/default/54_Sun.webp | Bin 0 -> 46242 bytes src/tarot/deck/default/55_High Priestess.webp | Bin 0 -> 45076 bytes src/tarot/deck/default/56_Aeon.webp | Bin 0 -> 77186 bytes src/tarot/deck/default/57_Universe.webp | Bin 0 -> 71072 bytes src/tarot/deck/default/58_Empress.webp | Bin 0 -> 67188 bytes src/tarot/deck/default/59_Emperor.webp | Bin 0 -> 62488 bytes src/tarot/deck/default/60_Hierophant.webp | Bin 0 -> 61414 bytes src/tarot/deck/default/61_Lovers.webp | Bin 0 -> 60818 bytes src/tarot/deck/default/62_Chariot.webp | Bin 0 -> 73122 bytes src/tarot/deck/default/63_Justice.webp | Bin 0 -> 47666 bytes src/tarot/deck/default/64_Hermit.webp | Bin 0 -> 38662 bytes src/tarot/deck/default/65_Ace Wands.webp | Bin 0 -> 45500 bytes src/tarot/deck/default/66_Ten Wands.webp | Bin 0 -> 70346 bytes src/tarot/deck/default/67_Two Wands.webp | Bin 0 -> 50548 bytes src/tarot/deck/default/68_Three Wands.webp | Bin 0 -> 62982 bytes src/tarot/deck/default/69_Four Wands.webp | Bin 0 -> 60614 bytes src/tarot/deck/default/70_Five Wands.webp | Bin 0 -> 57262 bytes src/tarot/deck/default/71_Six Wands.webp | Bin 0 -> 57090 bytes src/tarot/deck/default/72_Seven Wands.webp | Bin 0 -> 68980 bytes src/tarot/deck/default/73_Eight Wands.webp | Bin 0 -> 56540 bytes src/tarot/deck/default/74_Nine Wands.webp | Bin 0 -> 63742 bytes src/tarot/deck/default/75_Knight Wands.webp | Bin 0 -> 64056 bytes src/tarot/deck/default/76_Prince Wands.webp | Bin 0 -> 66188 bytes src/tarot/deck/default/77_Princess Wands.webp | Bin 0 -> 54344 bytes src/tarot/deck/default/78_Queen Wands.webp | Bin 0 -> 66736 bytes src/tarot/tarot_api.py | 119 ++ src/temporal/__init__.py | 53 + src/temporal/astrology.py | 241 +++ src/temporal/attributes.py | 88 + src/temporal/calendar.py | 73 + src/temporal/coordinates.py | 121 ++ src/temporal/temporal.py | 104 + src/temporal/time.py | 67 + src/utils/__init__.py | 49 + src/utils/attributes.py | 390 ++++ src/utils/filter.py | 302 +++ src/utils/misc.py | 194 ++ src/utils/object_formatting.py | 177 ++ src/utils/query.py | 300 +++ tests/__init__.py | 1 + tests/test_attributes.py | 619 ++++++ tests/test_deck.py | 213 ++ thelema_calendar.py | 215 ++ 132 files changed, 11052 insertions(+) create mode 100644 LICENSE create mode 100644 MANIFEST.in create mode 100644 docs/FILTERING.md create mode 100644 docs/REGISTRY_MAPPING.md create mode 100644 mytest.py create mode 100644 pyproject.toml create mode 100644 src/__init__.py create mode 100644 src/kaballah/__init__.py create mode 100644 src/kaballah/attributes.py create mode 100644 src/kaballah/cube/__init__.py create mode 100644 src/kaballah/cube/attributes.py create mode 100644 src/kaballah/cube/cube.py create mode 100644 src/kaballah/tree/__init__.py create mode 100644 src/kaballah/tree/tree.py create mode 100644 src/letter/__init__.py create mode 100644 src/letter/attributes.py create mode 100644 src/letter/iChing.py create mode 100644 src/letter/iChing_attributes.py create mode 100644 src/letter/letter.py create mode 100644 src/letter/paths.py create mode 100644 src/letter/words/__init__.py create mode 100644 src/letter/words/word.py create mode 100644 src/number/__init__.py create mode 100644 src/number/loader.py create mode 100644 src/number/number.py create mode 100644 src/tarot/__init__.py create mode 100644 src/tarot/attributes.py create mode 100644 src/tarot/card/__init__.py create mode 100644 src/tarot/card/card.py create mode 100644 src/tarot/card/data.py create mode 100644 src/tarot/card/details.py create mode 100644 src/tarot/card/image_loader.py create mode 100644 src/tarot/card/loader.py create mode 100644 src/tarot/card/spread.py create mode 100644 src/tarot/deck/__init__.py create mode 100644 src/tarot/deck/deck.py create mode 100644 src/tarot/deck/default/01_Ace Cups.webp create mode 100644 src/tarot/deck/default/02_Ten Cups.webp create mode 100644 src/tarot/deck/default/03_Two Cups.webp create mode 100644 src/tarot/deck/default/04_Three Cups.webp create mode 100644 src/tarot/deck/default/05_Four Cups.webp create mode 100644 src/tarot/deck/default/06_Five Cups.webp create mode 100644 src/tarot/deck/default/07_Six Cups.webp create mode 100644 src/tarot/deck/default/08_Seven Cups.webp create mode 100644 src/tarot/deck/default/09_Eight Cups.webp create mode 100644 src/tarot/deck/default/10_Nine Cups.webp create mode 100644 src/tarot/deck/default/11_Knight Cups.webp create mode 100644 src/tarot/deck/default/12_Prince Cups.webp create mode 100644 src/tarot/deck/default/13_Princess Cups.webp create mode 100644 src/tarot/deck/default/14_Queen Cups.webp create mode 100644 src/tarot/deck/default/15_Ace Disks.webp create mode 100644 src/tarot/deck/default/16_Ten Disks.webp create mode 100644 src/tarot/deck/default/17_Two Disks.webp create mode 100644 src/tarot/deck/default/18_Three Disks.webp create mode 100644 src/tarot/deck/default/19_Four Disks.webp create mode 100644 src/tarot/deck/default/20_Five Disks.webp create mode 100644 src/tarot/deck/default/21_Six Disks.webp create mode 100644 src/tarot/deck/default/22_Seven Disks.webp create mode 100644 src/tarot/deck/default/23_Eight Disks.webp create mode 100644 src/tarot/deck/default/24_Nine Disks.webp create mode 100644 src/tarot/deck/default/25_Knight Disks.webp create mode 100644 src/tarot/deck/default/26_Prince Disks.webp create mode 100644 src/tarot/deck/default/27_Princess Disks.webp create mode 100644 src/tarot/deck/default/28_Queen Disks.webp create mode 100644 src/tarot/deck/default/29_Ace Swords.webp create mode 100644 src/tarot/deck/default/30_Ten Swords.webp create mode 100644 src/tarot/deck/default/31_Two Swords.webp create mode 100644 src/tarot/deck/default/32_Three Swords.webp create mode 100644 src/tarot/deck/default/33_Four Swords.webp create mode 100644 src/tarot/deck/default/34_Five Swords.webp create mode 100644 src/tarot/deck/default/35_Six Swords.webp create mode 100644 src/tarot/deck/default/36_Seven Swords.webp create mode 100644 src/tarot/deck/default/37_Eight Swords.webp create mode 100644 src/tarot/deck/default/38_Nine Swords.webp create mode 100644 src/tarot/deck/default/39_Knight Swords.webp create mode 100644 src/tarot/deck/default/40_Prince Swords.webp create mode 100644 src/tarot/deck/default/41_Princess Swords.webp create mode 100644 src/tarot/deck/default/42_Queen Swords.webp create mode 100644 src/tarot/deck/default/43_Fool.webp create mode 100644 src/tarot/deck/default/44_Magus.webp create mode 100644 src/tarot/deck/default/45_Fortune.webp create mode 100644 src/tarot/deck/default/46_Lust.webp create mode 100644 src/tarot/deck/default/47_Hanged Man.webp create mode 100644 src/tarot/deck/default/48_Death.webp create mode 100644 src/tarot/deck/default/49_Art.webp create mode 100644 src/tarot/deck/default/50_Devil.webp create mode 100644 src/tarot/deck/default/51_Tower.webp create mode 100644 src/tarot/deck/default/52_Star.webp create mode 100644 src/tarot/deck/default/53_Moon.webp create mode 100644 src/tarot/deck/default/54_Sun.webp create mode 100644 src/tarot/deck/default/55_High Priestess.webp create mode 100644 src/tarot/deck/default/56_Aeon.webp create mode 100644 src/tarot/deck/default/57_Universe.webp create mode 100644 src/tarot/deck/default/58_Empress.webp create mode 100644 src/tarot/deck/default/59_Emperor.webp create mode 100644 src/tarot/deck/default/60_Hierophant.webp create mode 100644 src/tarot/deck/default/61_Lovers.webp create mode 100644 src/tarot/deck/default/62_Chariot.webp create mode 100644 src/tarot/deck/default/63_Justice.webp create mode 100644 src/tarot/deck/default/64_Hermit.webp create mode 100644 src/tarot/deck/default/65_Ace Wands.webp create mode 100644 src/tarot/deck/default/66_Ten Wands.webp create mode 100644 src/tarot/deck/default/67_Two Wands.webp create mode 100644 src/tarot/deck/default/68_Three Wands.webp create mode 100644 src/tarot/deck/default/69_Four Wands.webp create mode 100644 src/tarot/deck/default/70_Five Wands.webp create mode 100644 src/tarot/deck/default/71_Six Wands.webp create mode 100644 src/tarot/deck/default/72_Seven Wands.webp create mode 100644 src/tarot/deck/default/73_Eight Wands.webp create mode 100644 src/tarot/deck/default/74_Nine Wands.webp create mode 100644 src/tarot/deck/default/75_Knight Wands.webp create mode 100644 src/tarot/deck/default/76_Prince Wands.webp create mode 100644 src/tarot/deck/default/77_Princess Wands.webp create mode 100644 src/tarot/deck/default/78_Queen Wands.webp create mode 100644 src/tarot/tarot_api.py create mode 100644 src/temporal/__init__.py create mode 100644 src/temporal/astrology.py create mode 100644 src/temporal/attributes.py create mode 100644 src/temporal/calendar.py create mode 100644 src/temporal/coordinates.py create mode 100644 src/temporal/temporal.py create mode 100644 src/temporal/time.py create mode 100644 src/utils/__init__.py create mode 100644 src/utils/attributes.py create mode 100644 src/utils/filter.py create mode 100644 src/utils/misc.py create mode 100644 src/utils/object_formatting.py create mode 100644 src/utils/query.py create mode 100644 tests/__init__.py create mode 100644 tests/test_attributes.py create mode 100644 tests/test_deck.py create mode 100644 thelema_calendar.py diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..bfff778 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 PY-Tarot Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..220b2c1 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,5 @@ +include README.md +include LICENSE +include pyproject.toml +recursive-include docs *.md +recursive-include tests *.py diff --git a/docs/FILTERING.md b/docs/FILTERING.md new file mode 100644 index 0000000..55e00ec --- /dev/null +++ b/docs/FILTERING.md @@ -0,0 +1,192 @@ +# Filtering Guide + +Universal filter syntax for all queryable objects in PY-Tarot. + +## Basic Filtering (AND Logic) + +Multiple filters use AND logic - all conditions must match. + +### Cards - Basic + +```python +from tarot import Tarot + +# Single filter +Tarot.deck.card.filter(suit="Cups") +# → All Cups cards (1-14) + +# Multiple filters (AND) +Tarot.deck.card.filter(suit="Cups", type="Court") +# → Knight, Prince, Princess, Queen of Cups (4 cards) + +# Filter by pip number +Tarot.deck.card.filter(pip=3) +# → 3 of Cups, Pentacles, Swords, Wands (4 cards) + +# Filter Aces +Tarot.deck.card.filter(type="Ace") +# → Ace of Cups, Pentacles, Swords, Wands (4 cards) + +# Filter specific court rank +Tarot.deck.card.filter(court_rank="Knight") +# → All 4 Knights (all suits) + +# Combine: Knights of Cups +Tarot.deck.card.filter(court_rank="Knight", suit="Cups") +# → Knight of Cups (1 card) +``` + +### Cards - By Card Type + +```python +# All Major Arcana +Tarot.deck.card.filter(type="Major") +# → The Fool through The World (22 cards) + +# All Court Cards +Tarot.deck.card.filter(type="Court") +# → 16 cards (4 ranks × 4 suits) + +# All Pips (2-10) +Tarot.deck.card.filter(type="Pip") +# → 36 cards + +# All Aces +Tarot.deck.card.filter(type="Ace") +# → 4 cards + +# Specific pip type + suit +Tarot.deck.card.filter(type="Pip", pip=5, suit="Wands") +# → 5 of Wands (1 card) +``` + +### Cards - Court Cards + +```python +# All Knights +Tarot.deck.card.filter(type="Court", court_rank="Knight") +# → Knight of Cups, Pentacles, Swords, Wands (4 cards) + +# All Queens +Tarot.deck.card.filter(type="Court", court_rank="Queen") +# → Queen of Cups, Pentacles, Swords, Wands (4 cards) + +# Queen of specific element +Tarot.deck.card.filter(type="Court", court_rank="Queen", suit="Wands") +# → Queen of Wands (1 card) + +# All Princes +Tarot.deck.card.filter(court_rank="Prince") +# → Prince of Cups, Pentacles, Swords, Wands (4 cards) + +# All Princesses +Tarot.deck.card.filter(court_rank="Princess") +# → Princess of Cups, Pentacles, Swords, Wands (4 cards) +``` + +## Advanced Filtering + +### Multiple Values (OR Logic) + +Use `filter()` multiple times and combine results: + +```python +# Aces OR Pips with value 3 +aces = Tarot.deck.card.filter(type="Ace") +threes = Tarot.deck.card.filter(pip=3) +result = aces + threes +# → Ace of all suits + 3 of all suits (8 cards) + +# Wands OR Pentacles +wands = Tarot.deck.card.filter(suit="Wands") +pentacles = Tarot.deck.card.filter(suit="Pentacles") +result = wands + pentacles +# → All Wands + all Pentacles (28 cards) + +# Knights OR Queens +knights = Tarot.deck.card.filter(court_rank="Knight") +queens = Tarot.deck.card.filter(court_rank="Queen") +result = knights + queens +# → All Knights + all Queens (8 cards) +``` + +### Complex Queries + +```python +# All Cups court cards +cups_court = Tarot.deck.card.filter(suit="Cups", type="Court") +# → Knight, Prince, Princess, Queen of Cups (4 cards) + +# All water element (Cups and lower pips) +water_cards = Tarot.deck.card.filter(suit="Cups") +# → All 14 Cups cards + +# Fire element court cards +fire_court = Tarot.deck.card.filter(suit="Wands", type="Court") +# → Knight, Prince, Princess, Queen of Wands (4 cards) + +# All numbered cards from 2-10 (pips) in specific suits +fives_in_water_earth = ( + Tarot.deck.card.filter(pip=5, suit="Cups") + + Tarot.deck.card.filter(pip=5, suit="Pentacles") +) +# → 5 of Cups + 5 of Pentacles (2 cards) +``` + +## Available Filter Fields + +### All Cards +- `type` → "Major", "Pip", "Ace", "Court" +- `arcana` → "Major", "Minor" +- `number` → Card's position in deck (1-78) +- `name` → Full card name (case-insensitive) + +### Minor Arcana Only +- `suit` → "Cups", "Pentacles", "Swords", "Wands" +- `pip` → 1-10 (1 for Ace, 2-10 for pips) +- `court_rank` → "Knight", "Prince", "Princess", "Queen" + +### Court Cards Only +- `court_rank` → "Knight", "Prince", "Princess", "Queen" +- `associated_element` → Element object for the court rank + +### Major Arcana Only +- `kabbalistic_number` → 0-21 + +## Display Results + +```python +# Print as formatted list +cards = Tarot.deck.card.filter(suit="Cups") +print(cards) + +# Print nicely formatted +cards_str = Tarot.deck.card.display_filter(suit="Cups") +print(cards_str) + +# Access individual cards +cups = Tarot.deck.card.filter(suit="Cups") +first_cup = cups[0] # Ace of Cups +print(f"{first_cup.number}. {first_cup.name}") +``` + +## Case Sensitivity + +All filters are case-insensitive: + +```python +Tarot.deck.card.filter(suit="cups") # Works +Tarot.deck.card.filter(suit="CUPS") # Works +Tarot.deck.card.filter(suit="Cups") # Works +Tarot.deck.card.filter(type="ace") # Works +Tarot.deck.card.filter(type="ACE") # Works +Tarot.deck.card.filter(type="Ace") # Works +``` + +## Tips + +- Use `type` to filter by card class (Major, Pip, Ace, Court) +- Use `suit` to filter by element (Cups/Water, Pentacles/Earth, Swords/Air, Wands/Fire) +- Multiple kwargs = AND logic +- For OR logic, call `filter()` separately and combine lists with `+` +- All string comparisons are case-insensitive diff --git a/docs/REGISTRY_MAPPING.md b/docs/REGISTRY_MAPPING.md new file mode 100644 index 0000000..7021363 --- /dev/null +++ b/docs/REGISTRY_MAPPING.md @@ -0,0 +1,110 @@ +## Registry System: Position-Based Card Details + +### Overview +The registry uses a **position-based lookup system** that maps card positions (1-78) to interpretive data stored in `CardDetailsRegistry`. This system is independent of card names, allowing the same registry entries to work across different deck variants. + +### Design Principle +**Card position is the permanent identifier**, not the card name. This means: +- Card #44 is always "Magus position" in the deck order +- If you rename card #44 to "Magus", "Magician", "Mage", or any other variant, it still maps to the same registry entry +- Different deck variants can have completely different names but use the same spiritual/interpretive data + +### File Organization +Your deck files follow this numbering (which drives card position): +- **1-14**: Cups (Ace, Ten, 2-9, Knight, Prince, Princess, Queen) +- **15-28**: Pentacles/Disks (same structure) +- **29-42**: Swords (same structure) +- **43-64**: Major Arcana (43=Fool, 44=Magus, ..., 64=Universe) +- **65-78**: Wands (same structure) + +Example: `44_Magus.webp` → Card at position 44 → Magus name → Registry position 44 → Details for position 44 + +### Position-Based Lookup Process + +``` +Card created with number (position) + ↓ +card.number = 44 + ↓ +load_into_card(card) + ↓ +get_by_position(44) + ↓ +Position 44 maps to registry key "I" (1st trump after Fool) + ↓ +registry.get("I") → Returns Magician/Magus details + ↓ +Details loaded into card object (independent of card.name) +``` + +### Position Mapping + +**Minor Arcana Positions:** +- 1-14: Cups - Maps to "Ace of Cups" through "Queen of Cups" +- 15-28: Pentacles - Maps to "Ace of Pentacles" through "Queen of Pentacles" +- 29-42: Swords - Maps to "Ace of Swords" through "Queen of Swords" +- 65-78: Wands - Maps to "Ace of Wands" through "Queen of Wands" + +**Major Arcana Positions:** +- 43 → "o" (Roman for 0/Fool) +- 44 → "I" (Roman for 1/Magus) +- 45 → "II" (Roman for 2) +- ...continuing through... +- 64 → "XXI" (Roman for 21/Universe) + +### Implementation + +```python +def _build_position_map(self) -> Dict[int, str]: + """ + Maps card position (1-78) to registry key: + - Minor Arcana: position → card name ("Ace of Cups", etc.) + - Major Arcana: position → Roman numeral ("o", "I", "II", etc.) + """ + # Builds complete 1-78 mapping + return position_map + +def get_by_position(self, position: int) -> Optional[Dict[str, Any]]: + """Get details for a card by its position (1-78).""" + registry_key = self._position_map.get(position) + return self._details.get(registry_key) + +def load_into_card(self, card: 'Card') -> bool: + """Load card details using position-based lookup.""" + details = self.get_by_position(card.number) + # Populate card with: explanation, interpretation, keywords, etc. +``` + +### Why Position-Based? + +1. **Deck Variant Independence**: Different decks can use completely different names +2. **Stable Identity**: Card position never changes across variants +3. **Scalable**: Easily support new deck variants by just changing card names +4. **Future Proof**: New interpretations can be added keyed to positions, not names + +### Example Flow + +File: `44_Magus.webp` +↓ +Card object: number=44, name="Magus", arcana="Major" +↓ +`load_into_card(card)` called +↓ +`get_by_position(44)` returns registry key "I" +↓ +Registry lookup: `registry.get("I")` +↓ +Populates card with Magician/Magus interpretation: +- keywords: ["manifestation", "resourcefulness", ...] +- interpretation: "Communication; Conscious Will; ..." +- guidance: "Focus your energy and intention..." + +### Key Point + +Even if you rename card #44 to something completely different, it will still load the same interpretation because the lookup is based on **position (44)**, not **name ("Magus")**. + +↓ +Registry lookup: `registry.get("o")` +↓ +Populates card with: explanation, interpretation, keywords, etc. + diff --git a/mytest.py b/mytest.py new file mode 100644 index 0000000..0500728 --- /dev/null +++ b/mytest.py @@ -0,0 +1,56 @@ +from tarot import Tarot, letter, number, kaballah +from temporal import ThalemaClock +from datetime import datetime +from utils import Personality, MBTIType + +# Tarot core functionality +card = Tarot.deck.card(3) +print(f"Card: {card}") + +# Spreads - now under Tarot.deck.card.spread() +print("\n" + Tarot.deck.card.spread("Celtic Cross")) + +# Temporal functionality (separate module) +clock = ThalemaClock(datetime.now()) +print(f"\nClock: {clock}") +print(Tarot.deck.card.filter(suit="Cups")) + +# Top-level namespaces with pretty printing +print("\n" + "=" * 60) +print("Letter Namespace:") +print(letter) + +print("\n" + "=" * 60) +print("Number Namespace:") +print(number) + +print("\nDigital root of 343:", number.digital_root(343)) + +print("\n" + "=" * 60) +print("Kaballah - Tree of Life:") +print(kaballah.Tree) + +print("\n" + "=" * 60) +print("Kaballah - Cube of Space:") +print(kaballah.Cube.wall.display_filter(side="Below")) + +# Filtering examples +print("\n" + "=" * 60) + +print(Tarot.deck.card.filter(type='court')) + +# MBTI Personality types mapped to Tarot court cards (1-to-1 direct mapping) +print("\n" + "=" * 60) +print("MBTI Personality Types & Tarot Court Cards") +print("=" * 60) + +# Create personalities for all 16 MBTI types +mbti_types = ['ENFP', 'ISTJ', 'INTJ', 'INFJ', 'ENTJ', 'ESFJ', 'ESTP', 'ISFJ', + 'ENTP', 'ISFP', 'INTP', 'INFP', 'ESTJ', 'ESFP', 'ISTP', 'INTJ'] +for mbti in mbti_types: + personality = Personality.from_mbti(mbti, Tarot.deck) + print(f"\n{personality}") +#prints court cards +print(Tarot.deck.card.filter(suit="cups,wands")) + + \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..178bcf5 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,74 @@ +[build-system] +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "py-tarot" +version = "0.1.0" +description = "A Python library for Tarot card reading and interpretation" +readme = "README.md" +requires-python = ">=3.8" +license = {text = "MIT"} +authors = [ + {name = "Your Name", email = "your.email@example.com"} +] +keywords = ["tarot", "divination", "cards", "spirituality"] +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", +] + +dependencies = [ + "tomli>=1.2.0;python_version<'3.11'", + "tomli_w>=1.0.0", +] + +[project.optional-dependencies] +dev = [ + "pytest>=7.0", + "pytest-cov>=3.0", + "black>=22.0", + "isort>=5.10", + "flake8>=4.0", + "mypy>=0.950", +] +docs = [ + "sphinx>=4.5", + "sphinx-rtd-theme>=1.0", +] + +[project.urls] +Homepage = "https://github.com/yourusername/py-tarot" +Documentation = "https://py-tarot.readthedocs.io" +Repository = "https://github.com/yourusername/py-tarot.git" +Issues = "https://github.com/yourusername/py-tarot/issues" + +[tool.setuptools] +packages = ["tarot"] + +[tool.setuptools.package-dir] +"" = "src" + +[tool.black] +line-length = 100 +target-version = ['py38', 'py39', 'py310', 'py311', 'py312'] + +[tool.isort] +profile = "black" +line_length = 100 + +[tool.mypy] +python_version = "3.8" +warn_return_any = true +warn_unused_configs = true +disallow_untyped_defs = false + +[tool.pytest.ini_options] +testpaths = ["tests"] diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..95e7d18 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1,35 @@ +""" +PY-Tarot: Comprehensive Tarot library with hierarchical namespaces. + +Provides four root namespaces for different domains: + + number - Numerology (digital root, colors, Sepheric attributes) + letter - Alphabets, ciphers (English, Hebrew, Greek), words, I Ching + kaballah - Tree of Life and Cube of Space + tarot - Tarot-specific (deck, cards, temporal) + +Quick Start: + + from tarot import number, letter, kaballah, Tarot + + # Number + num = number.number(5) + root = number.digital_root(256) + + # Letter + letter_obj = letter.letter('A') + result = letter.word('MAGICK').cipher('english_simple') + + # Kaballah + sephera = kaballah.Tree.sephera(1) + wall = kaballah.Cube.wall('North') + + # Tarot + card = Tarot.deck.card(3) + major5 = Tarot.deck.card.major(5) + cups2 = Tarot.deck.card.minor.cups(2) +""" + +__version__ = "0.1.0" +__author__ = "PY-Tarot Contributors" +__all__ = [] diff --git a/src/kaballah/__init__.py b/src/kaballah/__init__.py new file mode 100644 index 0000000..84b4632 --- /dev/null +++ b/src/kaballah/__init__.py @@ -0,0 +1,22 @@ +""" +Kaballah namespace - Tree of Life and Cube of Space. + +Provides fluent query interface for: +- Tree of Life with Sephiroth and Paths +- Cube of Space with walls and areas +- Kabbalistic correspondences + +Usage: + from tarot import kaballah + + sephera = kaballah.Tree.sephera(1) + path = kaballah.Tree.path(11) + wall = kaballah.Cube.wall("North") + direction = kaballah.Cube.direction("North", "East") +""" + +from .tree import Tree +from .cube import Cube + +# Export classes for fluent access +__all__ = ["Tree", "Cube"] diff --git a/src/kaballah/attributes.py b/src/kaballah/attributes.py new file mode 100644 index 0000000..53ae6bd --- /dev/null +++ b/src/kaballah/attributes.py @@ -0,0 +1,215 @@ +""" +Kabbalistic attributes and data structures. + +This module defines attributes specific to the Kabbalah module, +including Sephira, Paths, and Tree of Life structures. +""" + +from dataclasses import dataclass, field +from typing import Dict, List, Optional, Tuple, Any + +from utils.attributes import ( + Element, + ElementType, + Planet, + Color, + Colorscale, + Perfume, + God, +) + + +@dataclass +class Sephera: + """Represents a Sephira on the Tree of Life.""" + number: int + name: str + hebrew_name: str + meaning: str + archangel: str + order_of_angels: str + mundane_chakra: str + element: Optional['ElementType'] = None + planetary_ruler: Optional[str] = None + tarot_trump: Optional[str] = None + colorscale: Optional['Colorscale'] = None + + +@dataclass +class PeriodicTable: + """Represents a Sephirothic position in Kabbalah with cross-correspondences.""" + number: int + name: str + sephera: Optional[Sephera] + element: Optional['ElementType'] = None + planet: Optional['Planet'] = None + color: Optional['Color'] = None + tarot_trump: Optional[str] = None + hebrew_letter: Optional[str] = None + divine_name: Optional[str] = None + archangel: Optional[str] = None + order_of_angels: Optional[str] = None + keywords: List[str] = field(default_factory=list) + + +@dataclass +class TreeOfLife: + """Represents the Tree of Life structure.""" + sephiroth: Dict[int, str] + paths: Dict[Tuple[int, int], str] + + +@dataclass +class Correspondences: + """Represents Kabbalistic correspondences.""" + number: int + sephira: str + element: Optional[str] + planet: Optional[str] + zodiac: Optional[str] + tarot_trump: Optional[str] + archangel: Optional[str] + order_of_angels: Optional[str] + divine_name: Optional[str] + + +@dataclass +class Path: + """Represents one of the 22 Paths on the Tree of Life with full correspondences.""" + number: int # 11-32 + hebrew_letter: str # Hebrew letter name (Aleph through Tau) + transliteration: str # English transliteration + tarot_trump: str # Major Arcana card (0-XXI) + sephera_from: Optional['Sephera'] = None # Lower Sephira + sephera_to: Optional['Sephera'] = None # Upper Sephira + element: Optional['ElementType'] = None # Element (Air, Fire, Water, Earth) + planet: Optional['Planet'] = None # Planetary ruler + zodiac_sign: Optional[str] = None # Zodiac sign (12 paths only) + colorscale: Optional['Colorscale'] = None # Golden Dawn color scales + perfumes: List['Perfume'] = field(default_factory=list) + gods: Dict[str, List['God']] = field(default_factory=dict) + keywords: List[str] = field(default_factory=list) + description: str = "" + + def __post_init__(self) -> None: + if not 11 <= self.number <= 32: + raise ValueError(f"Path number must be between 11 and 32, got {self.number}") + + def is_elemental_path(self) -> bool: + """Check if this is one of the 4 elemental paths.""" + elemental_numbers = {11, 23, 31, 32} # Aleph, Mem, Shin, 32-bis + return self.number in elemental_numbers + + def is_planetary_path(self) -> bool: + """Check if this path has planetary correspondence.""" + return self.planet is not None + + def is_zodiacal_path(self) -> bool: + """Check if this path has zodiac correspondence.""" + return self.zodiac_sign is not None + + def add_god(self, god: 'God') -> None: + """Attach a god to this path grouped by culture.""" + culture_key = god.culture_key() + culture_bucket = self.gods.setdefault(culture_key, []) + if god not in culture_bucket: + culture_bucket.append(god) + + def add_perfume(self, perfume: 'Perfume') -> None: + """Attach a perfume correspondence if it is not already present.""" + if perfume not in self.perfumes: + self.perfumes.append(perfume) + + def get_gods(self, culture: Optional[str] = None) -> List['God']: + """Return all gods for this path, optionally filtered by culture.""" + if culture: + return list(self.gods.get(culture.lower(), [])) + merged: List['God'] = [] + for values in self.gods.values(): + merged.extend(values) + return merged + + def __str__(self) -> str: + """Return nicely formatted string representation of the Path.""" + lines = [] + + # Header with path number and letter + lines.append(f"--- Path {self.number}: {self.hebrew_letter} ({self.transliteration}) ---") + lines.append("") + + # Basic correspondences + lines.append(f"tarot_trump: {self.tarot_trump}") + + # Connections + if self.sephera_from or self.sephera_to: + seph_from = self.sephera_from.name if self.sephera_from else "Unknown" + seph_to = self.sephera_to.name if self.sephera_to else "Unknown" + lines.append(f"connects: {seph_from} ↔ {seph_to}") + + # Element + if self.element: + element_name = self.element.name if hasattr(self.element, 'name') else str(self.element) + lines.append(f"element: {element_name}") + + # Planet + if self.planet: + lines.append("") + lines.append("--- Planet ---") + for line in str(self.planet).split("\n"): + lines.append(f" {line}") + + # Zodiac + if self.zodiac_sign: + lines.append(f"zodiac_sign: {self.zodiac_sign}") + + # Colorscale + if self.colorscale: + lines.append("") + lines.append("--- Colorscale ---") + lines.append(f" name: {self.colorscale.name}") + lines.append(f" king_scale: {self.colorscale.king_scale}") + lines.append(f" queen_scale: {self.colorscale.queen_scale}") + lines.append(f" emperor_scale: {self.colorscale.emperor_scale}") + lines.append(f" empress_scale: {self.colorscale.empress_scale}") + if self.colorscale.sephirotic_color: + lines.append(f" sephirotic_color: {self.colorscale.sephirotic_color}") + lines.append(f" type: {self.colorscale.type}") + if self.colorscale.keywords: + lines.append(f" keywords: {', '.join(self.colorscale.keywords)}") + if self.colorscale.description: + lines.append(f" description: {self.colorscale.description}") + + # Perfumes + if self.perfumes: + lines.append("") + lines.append("--- Perfumes ---") + for perfume in self.perfumes: + for line in str(perfume).split("\n"): + lines.append(f" {line}") + lines.append("") + + # Gods + if self.gods: + lines.append("") + lines.append("--- Gods ---") + for culture, god_list in self.gods.items(): + lines.append(f" {culture}:") + for god in god_list: + for line in str(god).split("\n"): + lines.append(f" {line}") + lines.append("") + + # Keywords + if self.keywords: + lines.append("") + lines.append("--- Keywords ---") + lines.append(f" {', '.join(self.keywords)}") + + # Description + if self.description: + lines.append("") + lines.append("--- Description ---") + lines.append(f" {self.description}") + + lines.append("") + return "\n".join(lines) diff --git a/src/kaballah/cube/__init__.py b/src/kaballah/cube/__init__.py new file mode 100644 index 0000000..e751b32 --- /dev/null +++ b/src/kaballah/cube/__init__.py @@ -0,0 +1,6 @@ +"""Cube namespace - access Cube of Space walls and areas.""" + +from .cube import Cube +from .attributes import CubeOfSpace, Wall, WallDirection + +__all__ = ["Cube", "CubeOfSpace", "Wall", "WallDirection"] diff --git a/src/kaballah/cube/attributes.py b/src/kaballah/cube/attributes.py new file mode 100644 index 0000000..039e436 --- /dev/null +++ b/src/kaballah/cube/attributes.py @@ -0,0 +1,513 @@ +""" +Cube of Space attributes and data structures. + +Defines the CubeOfSpace, Wall, and WallDirection classes for the Cube of Space +Kabbalistic model with hierarchical wall and direction structure. +""" + +from dataclasses import dataclass, field +from typing import Dict, List, Optional + + +@dataclass(frozen=True, repr=False) +class WallDirection: + """ + Represents a single direction within a Wall of the Cube of Space. + + Each wall has 5 directions: North, South, East, West, Center. + Each direction has a Hebrew letter and zodiac correspondence. + """ + name: str # "North", "South", "East", "West", "Center" + letter: str # Hebrew letter (e.g., "Aleph", "Bet", etc.) + zodiac: Optional[str] = None # Zodiac sign if applicable + element: Optional[str] = None # Associated element if any + planet: Optional[str] = None # Associated planet if any + keywords: List[str] = field(default_factory=list) + description: str = "" + + VALID_DIRECTION_NAMES = {"North", "South", "East", "West", "Center"} + + def __post_init__(self) -> None: + if self.name not in self.VALID_DIRECTION_NAMES: + raise ValueError( + f"Invalid direction name '{self.name}'. " + f"Valid names: {', '.join(sorted(self.VALID_DIRECTION_NAMES))}" + ) + if not self.letter or not isinstance(self.letter, str): + raise ValueError(f"Direction must have a letter, got {self.letter}") + + def __repr__(self) -> str: + """Custom repr showing key attributes.""" + return f"WallDirection({self.name}, {self.letter})" + + +@dataclass(frozen=True, repr=False) +class Wall: + """ + Represents one of the 6 walls of the Cube of Space. + + Each wall has 5 directions: North, South, East, West, Center. + The 6 walls are: North, South, East, West, Above, Below. + Opposite walls: North↔South, East↔West, Above↔Below. + Each direction has a Hebrew letter and zodiac correspondence. + """ + name: str # "North", "South", "East", "West", "Above", "Below" + side: str # Alias for name, used for filtering (e.g., "north", "south") + opposite: str # Opposite wall name (e.g., "South" for North wall) + element: Optional[str] = None # Associated element + planet: Optional[str] = None # Associated planet + archangel: Optional[str] = None # Associated archangel + keywords: List[str] = field(default_factory=list) + description: str = "" + directions: Dict[str, "WallDirection"] = field(default_factory=dict) + + VALID_WALL_NAMES = {"North", "South", "East", "West", "Above", "Below"} + + # Opposite wall mappings + OPPOSITE_WALLS = { + "North": "South", + "South": "North", + "East": "West", + "West": "East", + "Above": "Below", + "Below": "Above", + } + + def __post_init__(self) -> None: + if self.name not in self.VALID_WALL_NAMES: + raise ValueError( + f"Invalid wall name '{self.name}'. " + f"Valid walls: {', '.join(sorted(self.VALID_WALL_NAMES))}" + ) + + # Validate side matches name (case-insensitive) + if self.side.capitalize() != self.name: + raise ValueError( + f"Wall side '{self.side}' must match name '{self.name}'" + ) + + # Validate opposite wall + expected_opposite = self.OPPOSITE_WALLS.get(self.name) + if self.opposite != expected_opposite: + raise ValueError( + f"Wall '{self.name}' must have opposite '{expected_opposite}', got '{self.opposite}'" + ) + + # Ensure all 5 directions exist + if len(self.directions) != 5: + raise ValueError( + f"Wall '{self.name}' must have exactly 5 directions (North, South, East, West, Center), " + f"got {len(self.directions)}" + ) + + required_directions = {"North", "South", "East", "West", "Center"} + if set(self.directions.keys()) != required_directions: + raise ValueError( + f"Wall '{self.name}' must have directions: {required_directions}, " + f"got {set(self.directions.keys())}" + ) + + def __repr__(self) -> str: + """Custom repr showing wall name and element.""" + return f"Wall({self.name}, {self.element})" + + def __str__(self) -> str: + """Custom string representation for printing wall details with recursive direction details.""" + keywords_str = ", ".join(self.keywords) if self.keywords else "None" + lines = [ + f"Wall: {self.name}", + f" Side: {self.side}", + f" Opposite: {self.opposite}", + f" Element: {self.element}", + f" Planet: {self.planet}", + f" Archangel: {self.archangel}", + f" Keywords: {keywords_str}", + ] + + # Add directions with their details recursively + if self.directions: + lines.append(" Directions:") + # Order: Center, North, South, East, West + direction_order = ["Center", "North", "South", "East", "West"] + for dir_name in direction_order: + if dir_name in self.directions: + direction = self.directions[dir_name] + lines.append(f" --- {direction.name} ---") + lines.append(f" Letter: {direction.letter}") + if direction.zodiac: + lines.append(f" Zodiac: {direction.zodiac}") + if direction.element: + lines.append(f" Element: {direction.element}") + if direction.planet: + lines.append(f" Planet: {direction.planet}") + if direction.keywords: + keywords = ", ".join(direction.keywords) + lines.append(f" Keywords: {keywords}") + if direction.description: + lines.append(f" Description: {direction.description}") + + return "\n".join(lines) + + def direction(self, direction_name: str) -> Optional["WallDirection"]: + """Get a specific direction by name. Usage: wall.direction("North")""" + return self.directions.get(direction_name.capitalize()) + + def all_directions(self) -> list: + """Return all 5 directions as a list.""" + return list(self.directions.values()) + + # Aliases for backward compatibility + def get_direction(self, direction_name: str) -> Optional["WallDirection"]: + """Deprecated: use direction() instead.""" + return self.direction(direction_name) + + def get_opposite_wall_name(self) -> str: + """Deprecated: use the opposite property instead.""" + return self.opposite + + +@dataclass +class CubeOfSpace: + """ + Represents the Cube of Space with 6 walls. + + The Cube of Space is a 3D sacred geometry model consisting of: + - 6 walls (North, South, East, West, Above, Below) + - Each wall contains 5 areas (center, above, below, east, west) + - Opposite walls: North↔South, East↔West, Above↔Below + - Total: 30 positions plus central core + """ + walls: Dict[str, Wall] = field(default_factory=dict) + center: Optional[WallDirection] = None # Central core position + + # Built-in wall definitions with all correspondences + _WALL_DEFINITIONS = { + "North": { + "element": "Air", + "planet": "Mercury", + "archangel": "Raphael", + "keywords": ["Thought", "Communication", "Intellect"], + "description": "Northern Wall - Air element, Mercury correspondence", + "areas": { + "center": { + "element": "Spirit", + "keywords": ["Integration", "Balance", "Foundation"], + "description": "Center of North wall - synthesis of thought", + }, + "above": { + "element": "Fire", + "keywords": ["Higher Mind", "Spiritual Thought", "Ascent"], + "description": "Above area - elevated intellectual consciousness", + }, + "below": { + "element": "Earth", + "keywords": ["Practical Thought", "Grounded Mind", "Implementation"], + "description": "Below area - material manifestation of thought", + }, + "east": { + "element": "Air", + "keywords": ["Clarity", "Awakening", "Dawn Thought"], + "description": "East area - morning mind, new perspectives", + }, + "west": { + "element": "Water", + "keywords": ["Emotional Thought", "Reflection", "Dreams"], + "description": "West area - intuitive mind, introspection", + }, + }, + }, + "South": { + "element": "Fire", + "planet": "Mars", + "archangel": "Samael", + "keywords": ["Will", "Action", "Passion"], + "description": "Southern Wall - Fire element, Mars correspondence", + "areas": { + "center": { + "element": "Spirit", + "keywords": ["Pure Will", "Center of Power", "Drive"], + "description": "Center of South wall - focal point of action", + }, + "above": { + "element": "Fire", + "keywords": ["Divine Will", "Higher Purpose", "Spiritual Force"], + "description": "Above area - transcendent power and courage", + }, + "below": { + "element": "Earth", + "keywords": ["Physical Action", "Embodied Will", "Manifestation"], + "description": "Below area - action in material world", + }, + "east": { + "element": "Air", + "keywords": ["Active Mind", "Strategic Will", "Beginning Action"], + "description": "East area - dawn of new endeavors", + }, + "west": { + "element": "Water", + "keywords": ["Passionate Emotion", "Emotional Drive", "Desire"], + "description": "West area - feeling-guided action", + }, + }, + }, + "East": { + "element": "Air", + "planet": "Venus", + "archangel": "Haniel", + "keywords": ["Dawn", "Beginning", "Ascent"], + "description": "Eastern Wall - Air element, new beginnings", + "areas": { + "center": { + "element": "Spirit", + "keywords": ["New Potential", "Morning Star", "Awakening"], + "description": "Center of East wall - point of emergence", + }, + "above": { + "element": "Fire", + "keywords": ["Spiritual Dawn", "Divine Light", "Inspiration"], + "description": "Above area - celestial promise", + }, + "below": { + "element": "Earth", + "keywords": ["Material Growth", "Physical Sunrise", "Earthly Beginning"], + "description": "Below area - manifestation of new potential", + }, + "east": { + "element": "Air", + "keywords": ["Pure Beginning", "First Breath", "Clarity"], + "description": "East area - absolute dawn principle", + }, + "west": { + "element": "Water", + "keywords": ["Emotional Renewal", "Feelings Awakening", "Hope"], + "description": "West area - emotional opening toward new day", + }, + }, + }, + "West": { + "element": "Water", + "planet": "Venus", + "archangel": "Uriel", + "keywords": ["Emotion", "Decline", "Closure"], + "description": "Western Wall - Water element, endings and emotions", + "areas": { + "center": { + "element": "Spirit", + "keywords": ["Emotional Core", "Sunset Synthesis", "Integration"], + "description": "Center of West wall - emotional balance point", + }, + "above": { + "element": "Fire", + "keywords": ["Spiritual Emotion", "Divine Love", "Transcendence"], + "description": "Above area - love beyond form", + }, + "below": { + "element": "Earth", + "keywords": ["Physical Emotion", "Embodied Feeling", "Sensuality"], + "description": "Below area - emotion in material form", + }, + "east": { + "element": "Air", + "keywords": ["Mental Emotion", "Thoughts Felt", "Understanding Feeling"], + "description": "East area - intellectual understanding of emotion", + }, + "west": { + "element": "Water", + "keywords": ["Pure Emotion", "Deep Feeling", "Subconscious"], + "description": "West area - pure emotional depths", + }, + }, + }, + "Above": { + "element": "Fire", + "planet": "Sun", + "archangel": "Michael", + "keywords": ["Heaven", "Spirit", "Light"], + "description": "Upper Wall - Fire element, divine consciousness", + "areas": { + "center": { + "element": "Spirit", + "keywords": ["Divine Center", "Oneness", "Source"], + "description": "Center of Above wall - point of divine unity", + }, + "above": { + "element": "Fire", + "keywords": ["Pure Spirit", "Infinite Light", "Transcendence"], + "description": "Above area - highest divine realm", + }, + "below": { + "element": "Earth", + "keywords": ["Spirit in Matter", "Divine Manifestation", "Incarnation"], + "description": "Below area - spirit descending to form", + }, + "east": { + "element": "Air", + "keywords": ["Divine Thought", "Holy Wisdom", "Inspiration"], + "description": "East area - divine intellect and inspiration", + }, + "west": { + "element": "Water", + "keywords": ["Divine Love", "Compassion", "Mercy"], + "description": "West area - divine love and compassion", + }, + }, + }, + "Below": { + "element": "Earth", + "planet": "Saturn", + "archangel": "Cassiel", + "keywords": ["Matter", "Foundation", "Manifestation"], + "description": "Lower Wall - Earth element, material foundation", + "areas": { + "center": { + "element": "Spirit", + "keywords": ["Material Foundation", "Grounding", "Embodiment"], + "description": "Center of Below wall - anchor point of manifestation", + }, + "above": { + "element": "Fire", + "keywords": ["Active Force", "Will to Build", "Transformation"], + "description": "Above area - active principle in matter", + }, + "below": { + "element": "Earth", + "keywords": ["Pure Earth", "Deep Matter", "Grounding Root"], + "description": "Below area - deepest material foundation", + }, + "east": { + "element": "Air", + "keywords": ["Material Structure", "Physical Form", "Manifestation"], + "description": "East area - form emerging into manifestation", + }, + "west": { + "element": "Water", + "keywords": ["Nurturing Matter", "Fertile Ground", "Sustenance"], + "description": "West area - material nourishment and growth", + }, + }, + }, + } + + def __post_init__(self) -> None: + """Validate that all 6 walls are present.""" + required_walls = {"North", "South", "East", "West", "Above", "Below"} + if set(self.walls.keys()) != required_walls: + raise ValueError( + f"CubeOfSpace must have all 6 walls, got: {set(self.walls.keys())}" + ) + + @classmethod + def create_default(cls) -> "CubeOfSpace": + """ + Create a CubeOfSpace with all 6 walls fully populated with built-in definitions. + + Each wall has 5 directions (North, South, East, West, Center) positioned on that wall. + Each direction has a Hebrew letter and optional zodiac correspondence. + + Returns: + CubeOfSpace: Fully initialized cube with all walls and directions + """ + walls = {} + + # Direction name mapping - same 5 directions on every wall + # Maps old area names to consistent direction names + direction_map = { + "center": {"name": "Center", "letter": "Aleph", "zodiac": None}, + "above": {"name": "North", "letter": "Bet", "zodiac": None}, + "below": {"name": "South", "letter": "Gimel", "zodiac": None}, + "east": {"name": "East", "letter": "Daleth", "zodiac": "Aries"}, + "west": {"name": "West", "letter": "He", "zodiac": "Pisces"} + } + + for wall_name, wall_data in cls._WALL_DEFINITIONS.items(): + # Create directions for this wall + # Each wall has the same 5 directions: North, South, East, West, Center + directions = {} + for old_name, direction_config in direction_map.items(): + if old_name in wall_data["areas"]: + direction_data = wall_data["areas"][old_name] + direction = WallDirection( + name=direction_config["name"], + letter=direction_config["letter"], + zodiac=direction_config.get("zodiac"), + element=direction_data.get("element"), + keywords=direction_data.get("keywords", []), + description=direction_data.get("description", ""), + ) + # Use the direction name as key so every wall has North, South, East, West, Center + directions[direction_config["name"]] = direction + + # Create the wall + wall = Wall( + name=wall_name, + side=wall_name.lower(), + opposite=Wall.OPPOSITE_WALLS[wall_name], + element=wall_data.get("element"), + planet=wall_data.get("planet"), + archangel=wall_data.get("archangel"), + keywords=wall_data.get("keywords", []), + description=wall_data.get("description", ""), + directions=directions, + ) + walls[wall_name] = wall + + # Create central core + central_core = WallDirection( + name="Center", + letter="Aleph", + element="Spirit", + keywords=["Unity", "Source", "All"], + description="Central core of the Cube of Space - synthesis of all forces", + ) + + return cls(walls=walls, center=central_core) + + def wall(self, wall_name: str) -> Optional[Wall]: + """Get a wall by name. Usage: cube.wall("north")""" + return self.walls.get(wall_name) + + def opposite(self, wall_name: str) -> Optional[Wall]: + """Get the opposite wall. Usage: cube.opposite("north")""" + opposite_name = Wall.OPPOSITE_WALLS.get(wall_name) + if not opposite_name: + return None + return self.walls.get(opposite_name) + + def direction(self, wall_name: str, direction_name: str) -> Optional[WallDirection]: + """Get a specific direction from a specific wall. Usage: cube.direction("north", "center")""" + wall = self.wall(wall_name) + if not wall: + return None + return wall.direction(direction_name) + + def walls_all(self) -> List[Wall]: + """Return all 6 walls as a list.""" + return list(self.walls.values()) + + def directions(self, wall_name: str) -> list: + """Return all 5 directions for a specific wall. Usage: cube.directions("north")""" + wall = self.wall(wall_name) + if not wall: + return [] + return wall.all_directions() + + # Aliases for backward compatibility + def get_wall(self, wall_name: str) -> Optional[Wall]: + """Deprecated: use wall() instead.""" + return self.wall(wall_name) + + def get_direction(self, wall_name: str, direction_name: str) -> Optional[WallDirection]: + """Deprecated: use direction() instead.""" + return self.direction(wall_name, direction_name) + + def get_opposite_wall(self, wall_name: str) -> Optional[Wall]: + """Deprecated: use opposite() instead.""" + return self.opposite(wall_name) + + def all_walls(self) -> List[Wall]: + """Deprecated: use walls_all() instead.""" + return self.walls_all() + + def all_directions_for_wall(self, wall_name: str) -> list: + """Deprecated: use directions() instead.""" + return self.directions(wall_name) diff --git a/src/kaballah/cube/cube.py b/src/kaballah/cube/cube.py new file mode 100644 index 0000000..3f80736 --- /dev/null +++ b/src/kaballah/cube/cube.py @@ -0,0 +1,359 @@ +""" +Tarot Cube of Space module. + +Provides hierarchical access to Cube > Wall > Direction structure. + +Usage: + from tarot.cube import Cube + + # Access walls + Tarot.cube.wall("North") # Get specific wall + Tarot.cube.wall().filter(element="Air") # Filter all walls + + # Access directions (NEW - replaces old "area" concept) + wall = Tarot.cube.wall("North") + wall.filter("East") # Filter by direction + wall.filter(element="Fire") # Filter by attribute + wall.direction("East") # Get specific direction +""" + +from typing import Optional, Any + + +class CubeMeta(type): + """Metaclass to add __str__ to Cube class itself.""" + + def __str__(cls) -> str: + """Return readable representation when Cube is converted to string.""" + cls._ensure_initialized() + if cls._cube is None: + return "Cube of Space (not initialized)" + + walls = cls._cube.walls if hasattr(cls._cube, 'walls') else {} + lines = [ + "Cube of Space", + "=" * 60, + f"Walls: {len(walls)} (North, South, East, West, Above, Below)", + "", + "Structure:", + ] + + # Show walls with their elements and areas + for wall_name in ["North", "South", "East", "West", "Above", "Below"]: + wall = walls.get(wall_name) + if wall: + element = f" [{wall.element}]" if hasattr(wall, 'element') else "" + areas = len(wall.directions) if hasattr(wall, 'directions') else 0 + lines.append(f" {wall_name}{element}: {areas} areas") + + return "\n".join(lines) + + def __repr__(cls) -> str: + """Return object representation.""" + cls._ensure_initialized() + if cls._cube is None: + return "Cube(not initialized)" + walls = cls._cube.walls if hasattr(cls._cube, 'walls') else {} + return f"Cube(walls={len(walls)})" + + +class DirectionAccessor: + """Fluent accessor for filtering and accessing directions within a specific wall.""" + + _wall: Optional[Any] = None + + def __init__(self, wall: Any): + """Initialize with a Wall object.""" + self._wall = wall + + def all(self) -> list: + """Get all directions in this wall.""" + if self._wall is None or not hasattr(self._wall, 'directions'): + return [] + return list(self._wall.directions.values()) + + def filter(self, direction_name: Optional[str] = None, **kwargs) -> list: + """ + Filter directions in this wall by name or any WallDirection attribute. + + Args: + direction_name: Specific direction (North, South, East, West, Center) + **kwargs: Any WallDirection attribute + + Returns: + List of WallDirection objects matching filters + """ + from utils.filter import universal_filter + + all_dirs = self.all() + + # Filter by direction name if provided + if direction_name: + all_dirs = [ + d for d in all_dirs + if d.name.lower() == direction_name.lower() + ] + + # Apply other filters + if kwargs: + all_dirs = universal_filter(all_dirs, **kwargs) + + return all_dirs + + def display(self) -> str: + """Display all directions in this wall formatted.""" + from utils.filter import format_results + + return format_results(self.all()) + + def display_filter(self, direction_name: Optional[str] = None, **kwargs) -> str: + """ + Filter directions and display results nicely formatted. + + Args: + direction_name: Direction name to filter + **kwargs: Any WallDirection attribute + + Example: + print(wall.display_filter("East")) + """ + from utils.filter import format_results + + results = self.filter(direction_name, **kwargs) + return format_results(results) + + def __call__(self, direction_name: Optional[str] = None) -> Optional[Any]: + """Get specific direction by name.""" + if direction_name is None: + return self.all() + if self._wall is None or not hasattr(self._wall, 'directions'): + return None + return self._wall.directions.get(direction_name.capitalize()) + + def __repr__(self) -> str: + """Return friendly representation.""" + directions = self.all() + dir_names = ", ".join([d.name for d in directions]) + wall_name = self._wall.name if self._wall else "Unknown" + return f"DirectionAccessor({wall_name}: {dir_names})" + + def __str__(self) -> str: + """Return formatted string of all directions.""" + return self.display() + + +class WallWrapper: + """Wraps a Wall object to add DirectionAccessor for hierarchical access.""" + + def __init__(self, wall: Any): + """Initialize with a Wall object.""" + self._wall = wall + self._direction_accessor = DirectionAccessor(wall) + + def __getattr__(self, name: str) -> Any: + """Delegate attribute access to the wrapped wall.""" + if name in ('_wall', '_direction_accessor'): + return object.__getattribute__(self, name) + return getattr(self._wall, name) + + def filter(self, direction_name: Optional[str] = None, **kwargs) -> list: + """ + Filter directions in this wall. + + Usage: + wall.filter("East") # Get East direction + wall.filter(element="Fire") # Get Fire directions + """ + return self._direction_accessor.filter(direction_name, **kwargs) + + def display_filter(self, direction_name: Optional[str] = None, **kwargs) -> str: + """ + Filter directions and display results nicely formatted. + + Usage: + wall.display_filter("East") + wall.display_filter(element="Fire") + """ + return self._direction_accessor.display_filter(direction_name, **kwargs) + + def direction(self, direction_name: str) -> Optional[Any]: + """Get a specific direction.""" + return self._direction_accessor(direction_name) + + def all_directions(self) -> list: + """Get all directions in this wall.""" + return self._direction_accessor.all() + + def __repr__(self) -> str: + """Return friendly representation.""" + return f"Wall({self._wall.name}, {self._wall.element})" + + def __str__(self) -> str: + """Return formatted string of wall details.""" + wall = self._wall + lines = [ + f"--- {wall.name} ---", + f" name: {wall.name}", + f" side: {wall.side}", + f" element: {wall.element}", + f" planet: {wall.planet}", + f" opposite: {wall.opposite}", + f" archangel: {wall.archangel}", + f" keywords: {', '.join(wall.keywords) if wall.keywords else 'None'}", + f" description: {wall.description}", + f" directions: {', '.join(wall.directions.keys())}", + ] + return "\n".join(lines) + + +class WallAccessor: + """Fluent accessor for filtering and accessing Cube walls.""" + + _cube: Optional["CubeOfSpace"] = None # type: ignore + _initialized: bool = False + + @classmethod + def _ensure_initialized(cls) -> None: + """Lazy-initialize the Cube on first access.""" + if cls._initialized: + return + from kaballah.cube.attributes import CubeOfSpace + + WallAccessor._cube = CubeOfSpace.create_default() + WallAccessor._initialized = True + + def all(self) -> list: + """Get all walls.""" + self._ensure_initialized() + if WallAccessor._cube is None: + return [] + return WallAccessor._cube.all_walls() + + def filter(self, **kwargs) -> list: + """ + Filter walls by any Wall attribute. + + Uses the universal filter for consistency across the project. + + Args: + **kwargs: Any Wall attribute with its value + + Usage: + Cube.wall.filter(element="Air") + Cube.wall.filter(planet="Mercury") + + Returns: + List of Wall objects matching all filters + """ + from utils.filter import universal_filter + + return universal_filter(self.all(), **kwargs) + + def display(self) -> str: + """Display all walls formatted.""" + from utils.filter import format_results + + return format_results(self.all()) + + def display_filter(self, **kwargs) -> str: + """ + Filter walls and display results nicely formatted. + + Args: + **kwargs: Any Wall attribute with its value + + Returns: + Formatted string with filtered walls + + Example: + print(Cube.wall.display_filter(element="Air")) + """ + results = self.filter(**kwargs) + # Use the custom __str__ method of Wall objects for proper line-by-line formatting + return "\n\n".join([str(wall) for wall in results]) + + def __call__(self, wall_name: Optional[str] = None) -> Optional[Any]: + """Get a specific wall by name or return all walls. + + Deprecated: Use filter(side="north") instead. + """ + self._ensure_initialized() + + if wall_name is None: + return self.all() + + if WallAccessor._cube is None: + return None + return WallAccessor._cube.wall(wall_name) + + def __repr__(self) -> str: + """Return friendly representation showing all walls.""" + walls = self.all() + wall_names = ", ".join([w.name for w in walls]) + return f"WallAccessor({wall_names})" + + def __str__(self) -> str: + """Return formatted string of all walls.""" + return self.display() + + +class Cube(metaclass=CubeMeta): + """ + Unified accessor for Cube of Space correspondences. + + Hierarchical structure: Cube > Wall > Direction + + Usage: + # Filter walls by side + north = Cube.wall.filter(side="north")[0] # Get north wall + air_walls = Cube.wall.filter(element="Air") # Filter by element + + # Access all walls + all_walls = Cube.wall.all() # Get all 6 walls + + # Work with directions within a wall + wall = Cube.wall.filter(side="north")[0] + east_dir = wall.direction("East") # Get direction + fire_dirs = wall.filter(element="Fire") # Filter directions + """ + + _cube: Optional["CubeOfSpace"] = None # type: ignore + _initialized: bool = False + _wall_accessor: Optional[WallAccessor] = None + + @classmethod + def _ensure_initialized(cls) -> None: + """Lazy-initialize the Cube of Space on first access.""" + if cls._initialized: + return + + from kaballah.cube.attributes import CubeOfSpace + + cls._cube = CubeOfSpace.create_default() + cls._initialized = True + + @classmethod + def _get_wall_accessor(cls) -> "WallAccessor": + """Get or create the wall accessor.""" + cls._ensure_initialized() + if cls._wall_accessor is None: + cls._wall_accessor = WallAccessor() + return cls._wall_accessor + + # Use a descriptor to make wall work like a property on the class + class WallProperty: + """Descriptor that returns wall accessor when accessed.""" + def __get__(self, obj: Any, objtype: Optional[type] = None) -> "WallAccessor": + if objtype is None: + objtype = type(obj) + return objtype._get_wall_accessor() + + wall = WallProperty() + + @classmethod + def opposite_wall(cls, wall_name: str) -> Optional[object]: + """Get the opposite wall.""" + cls._ensure_initialized() + if cls._cube is None: + return None + return cls._cube.opposite_wall(wall_name) diff --git a/src/kaballah/tree/__init__.py b/src/kaballah/tree/__init__.py new file mode 100644 index 0000000..87cf31b --- /dev/null +++ b/src/kaballah/tree/__init__.py @@ -0,0 +1,5 @@ +"""Tree namespace - access Tree of Life, Sephiroth, and Paths.""" + +from .tree import Tree + +__all__ = ["Tree"] diff --git a/src/kaballah/tree/tree.py b/src/kaballah/tree/tree.py new file mode 100644 index 0000000..c504811 --- /dev/null +++ b/src/kaballah/tree/tree.py @@ -0,0 +1,136 @@ +""" +Tarot Tree of Life module. + +Provides access to Sephiroth, Paths, and Tree of Life correspondences. + +Usage: + from tarot.tree import Tree + + sephera = Tree.sephera(1) # Get Sephira 1 (Kether) + path = Tree.path(11) # Get Path 11 + all_sepheras = Tree.sephera() # Get all Sephiroth + + print(Tree()) # Display Tree structure +""" + +from typing import TYPE_CHECKING, Dict, List, Optional, Union, overload + +if TYPE_CHECKING: + from tarot.attributes import Sephera, Path + from tarot.card.data import CardDataLoader + from utils.query import QueryResult, Query + + +class TreeMeta(type): + """Metaclass to add __str__ to Tree class itself.""" + + def __str__(cls) -> str: + """Return readable representation when Tree is converted to string.""" + # Access Tree class attributes through type.__getattribute__ + Tree._ensure_initialized() + sepheras = type.__getattribute__(cls, '_sepheras') + paths = type.__getattribute__(cls, '_paths') + lines = [ + "Tree of Life", + "=" * 60, + f"Sephiroth: {len(sepheras)} nodes", + f"Paths: {len(paths)} connections", + "", + "Structure:", + ] + + # Show Sephira hierarchy + for num in sorted(sepheras.keys()): + seph = sepheras[num] + lines.append(f" {num}. {seph.name} ({seph.hebrew_name})") + + return "\n".join(lines) + + def __repr__(cls) -> str: + """Return object representation.""" + Tree._ensure_initialized() + sepheras = type.__getattribute__(cls, '_sepheras') + paths = type.__getattribute__(cls, '_paths') + return f"Tree(sepheras={len(sepheras)}, paths={len(paths)})" + + +class Tree(metaclass=TreeMeta): + """ + Unified accessor for Tree of Life correspondences. + + All methods are class methods, so Tree is accessed as a static namespace: + + sephera = Tree.sephera(1) + path = Tree.path(11) + print(Tree()) # Displays tree structure + """ + + _sepheras: Dict[int, 'Sephera'] = {} # type: ignore + _paths: Dict[int, 'Path'] = {} # type: ignore + _initialized: bool = False + _loader: Optional['CardDataLoader'] = None # type: ignore + + @classmethod + def _ensure_initialized(cls) -> None: + """Lazy-load data from CardDataLoader on first access.""" + if cls._initialized: + return + + from tarot.card.data import CardDataLoader + cls._loader = CardDataLoader() + cls._sepheras = cls._loader._sephera + cls._paths = cls._loader._paths + cls._initialized = True + + @classmethod + @overload + def sephera(cls, number: int) -> Optional['Sephera']: + ... + + @classmethod + @overload + def sephera(cls, number: None = ...) -> Dict[int, 'Sephera']: + ... + + @classmethod + def sephera(cls, number: Optional[int] = None) -> Union[Optional['Sephera'], Dict[int, 'Sephera']]: + """Return a Sephira or all Sephiroth.""" + cls._ensure_initialized() + if number is None: + return cls._sepheras.copy() + return cls._sepheras.get(number) + + @classmethod + @overload + def path(cls, number: int) -> Optional['Path']: + ... + + @classmethod + @overload + def path(cls, number: None = ...) -> Dict[int, 'Path']: + ... + + @classmethod + def path(cls, number: Optional[int] = None) -> Union[Optional['Path'], Dict[int, 'Path']]: + """Return a Path or all Paths.""" + cls._ensure_initialized() + if number is None: + return cls._paths.copy() + return cls._paths.get(number) + + @classmethod + def filter(cls, expression: str) -> 'Query': + """ + Filter Sephiroth by attribute:value expression. + + Examples: + Tree.filter('name:Kether').first() + Tree.filter('number:1').first() + Tree.filter('sphere:1').all() + + Returns a Query object for chaining. + """ + from tarot.query import Query + cls._ensure_initialized() + # Create a query from all Sephiroth + return Query(cls._sepheras).filter(expression) diff --git a/src/letter/__init__.py b/src/letter/__init__.py new file mode 100644 index 0000000..7f1f1dc --- /dev/null +++ b/src/letter/__init__.py @@ -0,0 +1,27 @@ +""" +Letter namespace - Alphabets, Letters, Ciphers, I Ching, Periodic Table, Words. + +Provides fluent query interface for: +- Alphabets (English, Hebrew, Greek) +- Ciphers and word encoding +- Hebrew letters with Tarot correspondences (paths) +- I Ching trigrams and hexagrams +- Periodic table with Sephiroth +- Word analysis and cipher operations + +Usage: + from tarot import letter + + letter.alphabet('english') + letter.words.word('MAGICK').cipher('english_simple') + letter.iching.hexagram(1) + letter.paths('aleph') # Get Hebrew letter with Tarot correspondences +""" + +from .letter import letter +from .iChing import trigram, hexagram +from .words import word +from .paths import letters + +__all__ = ["letter", "trigram", "hexagram", "word", "letters"] + diff --git a/src/letter/attributes.py b/src/letter/attributes.py new file mode 100644 index 0000000..2cc4a91 --- /dev/null +++ b/src/letter/attributes.py @@ -0,0 +1,249 @@ +""" +Letter attributes and data structures. + +This module defines attributes specific to the Letter module, +including Alphabets, Enochian letters, and Double Letter Trumps. +""" + +from dataclasses import dataclass, field +from typing import Dict, List, Optional, Tuple, Any + +from utils.attributes import ( + Element, + ElementType, + Planet, + Meaning, +) + + +@dataclass +class Letter: + """Represents a letter with its attributes.""" + character: str + position: int + name: str + + +@dataclass +class EnglishAlphabet: + """English alphabet with Tarot/Kabbalistic correspondence.""" + letter: str + position: int + sound: str + + def __post_init__(self) -> None: + if not (1 <= self.position <= 26): + raise ValueError(f"Position must be between 1 and 26, got {self.position}") + if len(self.letter) != 1 or not self.letter.isalpha(): + raise ValueError(f"Letter must be a single alphabetic character, got {self.letter}") + + +@dataclass +class GreekAlphabet: + """Greek alphabet with Tarot/Kabbalistic correspondence.""" + letter: str + position: int + transliteration: str + + def __post_init__(self) -> None: + if not (1 <= self.position <= 24): + raise ValueError(f"Position must be between 1 and 24, got {self.position}") + + +@dataclass +class HebrewAlphabet: + """Hebrew alphabet with Tarot/Kabbalistic correspondence.""" + letter: str + position: int + transliteration: str + meaning: str + + def __post_init__(self) -> None: + if not (1 <= self.position <= 22): + raise ValueError(f"Position must be between 1 and 22, got {self.position}") + + +@dataclass +class DoublLetterTrump: + """Represents a Double Letter Trump (Yodh through Tau, 3-21 of Major Arcana).""" + number: int # 3-21 (19 double letter trumps) + name: str # Full name (e.g., "The Empress") + hebrew_letter_1: str # First Hebrew letter (e.g., "Gimel") + hebrew_letter_2: Optional[str] = None # Second Hebrew letter if applicable + planet: Optional['Planet'] = None # Associated planet + tarot_trump: Optional[str] = None # e.g., "III - The Empress" + astrological_sign: Optional[str] = None # Zodiac sign if any + element: Optional['ElementType'] = None # Associated element + number_value: Optional[int] = None # Numerological value + keywords: List[str] = field(default_factory=list) + meaning: Optional['Meaning'] = None # Upright and reversed meanings + description: str = "" + + def __post_init__(self) -> None: + if not 3 <= self.number <= 21: + raise ValueError(f"Double Letter Trump number must be 3-21, got {self.number}") + + +@dataclass(frozen=True) +class EnochianLetter: + """Represents an Enochian letter with its properties.""" + name: str # Enochian letter name + letter: str # The letter itself + hebrew_equivalent: Optional[str] = None + tarot_correspondence: Optional[str] = None + planet: Optional[str] = None + element: Optional[str] = None + keywords: List[str] = field(default_factory=list) + description: str = "" + + +@dataclass(frozen=True) +class EnochianSpirit: + """Represents an Enochian spirit or intelligence.""" + name: str # Spirit name + rank: str # e.g., "King", "Prince", "Duke", "Intelligence" + element: Optional[str] = None + direction: Optional[str] = None # e.g., "East", "South", etc. + sigil: Optional[str] = None # ASCII representation or description + keywords: List[str] = field(default_factory=list) + description: str = "" + + +@dataclass(frozen=True) +class EnochianArchetype: + """ + Archetypal form of an Enochian Tablet. + + Provides a 4x4 grid with positions that can be filled with different + visual representations (colors, images, symbols, etc.). + """ + name: str # e.g., "Tablet of Air Archetype" + tablet_name: str # Reference to parent tablet + grid: Dict[Tuple[int, int], 'EnochianGridPosition'] = field(default_factory=dict) # 4x4 grid + row_correspondences: List[Dict[str, Any]] = field(default_factory=list) # Row meanings (4 rows) + col_correspondences: List[Dict[str, Any]] = field(default_factory=list) # Column meanings (4 cols) + keywords: List[str] = field(default_factory=list) + description: str = "" + + def get_position(self, row: int, col: int) -> Optional['EnochianGridPosition']: + """Get the grid position at (row, col).""" + if not 0 <= row < 4 or not 0 <= col < 4: + return None + return self.grid.get((row, col)) + + def get_row_correspondence(self, row: int) -> Optional[Dict[str, Any]]: + """Get the meaning/correspondence for a row.""" + if 0 <= row < len(self.row_correspondences): + return self.row_correspondences[row] + return None + + def get_col_correspondence(self, col: int) -> Optional[Dict[str, Any]]: + """Get the meaning/correspondence for a column.""" + if 0 <= col < len(self.col_correspondences): + return self.col_correspondences[col] + return None + + +@dataclass(frozen=True) +class EnochianGridPosition: + """ + Represents a single position in an Enochian Tablet grid. + + A 4x4 grid cell with: + - Center letter + - Directional letters (N, S, E, W) + - Archetypal correspondences (Tarot, element, etc.) + """ + row: int # Grid row (0-3) + col: int # Grid column (0-3) + center_letter: str # The main letter at this position + north_letter: Optional[str] = None # Letter above + south_letter: Optional[str] = None # Letter below + east_letter: Optional[str] = None # Letter to the right + west_letter: Optional[str] = None # Letter to the left + tarot_card: Optional[str] = None # Associated Tarot card (e.g., "Ace of Swords") + tarot_suit: Optional[str] = None # Suit correspondence (Swords, Wands, Cups, Pentacles) + tarot_number: Optional[int] = None # Card number (0-13, 0=Ace) + element: Optional[str] = None # Element correspondence + zodiac_sign: Optional[str] = None # Zodiac correspondence + planetary_hour: Optional[str] = None # Associated hour + keywords: List[str] = field(default_factory=list) + meanings: List[str] = field(default_factory=list) + + def get_all_letters(self) -> Dict[str, str]: + """Get all letters in this position: center and directional.""" + letters = {"center": self.center_letter} + if self.north_letter: + letters["north"] = self.north_letter + if self.south_letter: + letters["south"] = self.south_letter + if self.east_letter: + letters["east"] = self.east_letter + if self.west_letter: + letters["west"] = self.west_letter + return letters + + +@dataclass(frozen=True) +class EnochianTablet: + """ + Represents an Enochian Tablet. + + The Enochian system contains: + - 4 elemental tablets (Earth, Water, Air, Fire) + - 1 tablet of union (Aethyr) + - Each tablet is 12x12 (144 squares) containing Enochian letters + - Archetypal form with 4x4 grid for user customization + """ + name: str # e.g., "Tablet of Earth", "Tablet of Air", etc. + number: int # Tablet identifier (1-5) + element: Optional[str] = None # Earth, Water, Air, Fire, or Aethyr/Union + rulers: List[str] = field(default_factory=list) # Names of spirits ruling this tablet + archangels: List[str] = field(default_factory=list) # Associated archangels + letters: Dict[Tuple[int, int], str] = field(default_factory=dict) # Grid of letters (row, col) -> letter + planetary_hours: List[str] = field(default_factory=list) # Associated hours + keywords: List[str] = field(default_factory=list) + description: str = "" + archetype: Optional[EnochianArchetype] = None # Archetypal form for visualization + + # Valid tablets + VALID_TABLETS = { + "Tablet of Union", # Aethyr + "Tablet of Earth", + "Tablet of Water", + "Tablet of Air", + "Tablet of Fire", + } + + def __post_init__(self) -> None: + if self.name not in self.VALID_TABLETS: + raise ValueError( + f"Invalid tablet '{self.name}'. " + f"Valid tablets: {', '.join(self.VALID_TABLETS)}" + ) + # Tablet of Union uses 0, elemental tablets use 1-5 + valid_range = (0, 0) if "Union" in self.name else (1, 5) + if not valid_range[0] <= self.number <= valid_range[1]: + raise ValueError( + f"Tablet number must be {valid_range[0]}-{valid_range[1]}, got {self.number}" + ) + + def is_elemental(self) -> bool: + """Check if this is an elemental tablet (not union).""" + return self.element in {"Earth", "Water", "Air", "Fire"} + + def is_union(self) -> bool: + """Check if this is the Tablet of Union (Aethyr).""" + return self.element == "Aethyr" or "Union" in self.name + + def get_letter(self, row: int, col: int) -> Optional[str]: + """Get letter at specific grid position.""" + return self.letters.get((row, col)) + + def get_row(self, row: int) -> List[Optional[str]]: + """Get all letters in a row.""" + return [self.letters.get((row, col)) for col in range(12)] + + def get_column(self, col: int) -> List[Optional[str]]: + """Get all letters in a column.""" + return [self.letters.get((row, col)) for row in range(12)] diff --git a/src/letter/iChing.py b/src/letter/iChing.py new file mode 100644 index 0000000..3ef30cc --- /dev/null +++ b/src/letter/iChing.py @@ -0,0 +1,220 @@ +"""I Ching trigrams and hexagrams module. + +Provides fluent query interface for I Ching trigrams and hexagrams, +including Tarot correspondences and binary representations. + +Usage: + from letter.iChing import trigram, hexagram + + qian = trigram.trigram('Qian') + creative = hexagram.hexagram(1) +""" + +from typing import TYPE_CHECKING, Dict, Optional + +from utils.query import CollectionAccessor + +if TYPE_CHECKING: + from tarot.card.data import CardDataLoader + from tarot.attributes import Trigram, Hexagram + + +def _line_diagram_from_binary(binary: str) -> str: + """Render a sideways ASCII diagram where top lines appear on the right.""" + if not binary: + return "" + cleaned = [bit for bit in binary if bit in {"0", "1"}] + if not cleaned: + return "" + symbol_map = {"1": "|", "0": ":"} + # Reverse so the right-most character represents the top line. + return "".join(symbol_map[bit] for bit in reversed(cleaned)) + + +class _Trigram: + """Fluent query accessor for I Ching trigrams.""" + + def __init__(self) -> None: + self._initialized: bool = False + self._trigrams: Dict[str, 'Trigram'] = {} + self.trigram = CollectionAccessor(self._get_trigrams) + + def _ensure_initialized(self) -> None: + """Load trigrams on first access.""" + if self._initialized: + return + + self._load_trigrams() + self._initialized = True + + def _get_trigrams(self): + self._ensure_initialized() + return self._trigrams.copy() + + def _load_trigrams(self) -> None: + """Load the eight I Ching trigrams.""" + from tarot.attributes import Trigram + + trigram_specs = [ + {"name": "Qian", "chinese": "乾", "pinyin": "Qián", "element": "Heaven", "attribute": "Creative", "binary": "111", "description": "Pure yang drive that initiates action."}, + {"name": "Dui", "chinese": "兑", "pinyin": "Duì", "element": "Lake", "attribute": "Joyous", "binary": "011", "description": "Open delight that invites community."}, + {"name": "Li", "chinese": "离", "pinyin": "Lí", "element": "Fire", "attribute": "Clinging", "binary": "101", "description": "Radiant clarity that adheres to insight."}, + {"name": "Zhen", "chinese": "震", "pinyin": "Zhèn", "element": "Thunder", "attribute": "Arousing", "binary": "001", "description": "Sudden awakening that shakes stagnation."}, + {"name": "Xun", "chinese": "巽", "pinyin": "Xùn", "element": "Wind", "attribute": "Gentle", "binary": "110", "description": "Penetrating influence that persuades subtly."}, + {"name": "Kan", "chinese": "坎", "pinyin": "Kǎn", "element": "Water", "attribute": "Abysmal", "binary": "010", "description": "Depth, risk, and sincere feeling."}, + {"name": "Gen", "chinese": "艮", "pinyin": "Gèn", "element": "Mountain", "attribute": "Stillness", "binary": "100", "description": "Grounded rest that establishes boundaries."}, + {"name": "Kun", "chinese": "坤", "pinyin": "Kūn", "element": "Earth", "attribute": "Receptive", "binary": "000", "description": "Vast receptivity that nurtures form."}, + ] + self._trigrams = {} + for spec in trigram_specs: + name = spec.get("name") + if not name: + raise ValueError("Trigram spec missing 'name'") + binary = spec.get("binary", "") + self._trigrams[name.lower()] = Trigram( + name=name, + chinese_name=spec.get("chinese", ""), + pinyin=spec.get("pinyin", ""), + element=spec.get("element", ""), + attribute=spec.get("attribute", ""), + binary=binary, + description=spec.get("description", ""), + line_diagram=_line_diagram_from_binary(binary), + ) + + +class _Hexagram: + """Fluent query accessor for I Ching hexagrams.""" + + def __init__(self) -> None: + self._initialized: bool = False + self._hexagrams: Dict[int, 'Hexagram'] = {} + self.hexagram = CollectionAccessor(self._get_hexagrams) + + def _ensure_initialized(self) -> None: + """Load hexagrams on first access.""" + if self._initialized: + return + + self._load_hexagrams() + self._initialized = True + + def _get_hexagrams(self): + self._ensure_initialized() + return self._hexagrams.copy() + + def _load_hexagrams(self) -> None: + """Load all 64 I Ching hexagrams.""" + from tarot.attributes import Hexagram + from tarot.card.data import CardDataLoader, calculate_digital_root + + # Ensure trigrams are loaded first + trigram._ensure_initialized() + + # Load planets for hexagram correspondences + loader = CardDataLoader() + + hex_specs = [ + {"number": 1, "name": "Creative Force", "chinese": "乾", "pinyin": "Qián", "judgement": "Initiative succeeds when anchored in integrity.", "image": "Heaven above and below mirrors unstoppable drive.", "upper": "Qian", "lower": "Qian", "keywords": "Leadership|Momentum|Clarity"}, + {"number": 2, "name": "Receptive Field", "chinese": "坤", "pinyin": "Kūn", "judgement": "Grounded support flourishes through patience.", "image": "Earth layered upon earth offers fertile space.", "upper": "Kun", "lower": "Kun", "keywords": "Nurture|Support|Yielding"}, + {"number": 3, "name": "Sprouting", "chinese": "屯", "pinyin": "Zhūn", "judgement": "Challenges at the start need perseverance.", "image": "Water over thunder shows storms that germinate seeds.", "upper": "Kan", "lower": "Zhen", "keywords": "Beginnings|Struggle|Resolve"}, + {"number": 4, "name": "Youthful Insight", "chinese": "蒙", "pinyin": "Méng", "judgement": "Ignorance yields to steady guidance.", "image": "Mountain above water signals learning via restraint.", "upper": "Gen", "lower": "Kan", "keywords": "Study|Mentorship|Humility"}, + {"number": 5, "name": "Waiting", "chinese": "需", "pinyin": "Xū", "judgement": "Hold position until nourishment arrives.", "image": "Water above heaven depicts clouds gathering provision.", "upper": "Kan", "lower": "Qian", "keywords": "Patience|Faith|Preparation"}, + {"number": 6, "name": "Conflict", "chinese": "訟", "pinyin": "Sòng", "judgement": "Clarity and fairness prevent escalation.", "image": "Heaven above water shows tension seeking balance.", "upper": "Qian", "lower": "Kan", "keywords": "Debate|Justice|Boundaries"}, + {"number": 7, "name": "Collective Force", "chinese": "師", "pinyin": "Shī", "judgement": "Coordinated effort requires disciplined leadership.", "image": "Earth over water mirrors troops marshaling supplies.", "upper": "Kun", "lower": "Kan", "keywords": "Discipline|Leadership|Community"}, + {"number": 8, "name": "Union", "chinese": "比", "pinyin": "Bǐ", "judgement": "Shared values attract loyal allies.", "image": "Water over earth highlights bonds formed through empathy.", "upper": "Kan", "lower": "Kun", "keywords": "Alliance|Affinity|Trust"}, + {"number": 9, "name": "Small Accumulating", "chinese": "小畜", "pinyin": "Xiǎo Chù", "judgement": "Gentle restraint nurtures gradual gains.", "image": "Wind over heaven indicates tender guidance on great power.", "upper": "Xun", "lower": "Qian", "keywords": "Restraint|Cultivation|Care"}, + {"number": 10, "name": "Treading", "chinese": "履", "pinyin": "Lǚ", "judgement": "Walk with awareness when near power.", "image": "Heaven over lake shows respect between ranks.", "upper": "Qian", "lower": "Dui", "keywords": "Conduct|Respect|Sensitivity"}, + {"number": 11, "name": "Peace", "chinese": "泰", "pinyin": "Tài", "judgement": "Harmony thrives when resources circulate freely.", "image": "Earth over heaven signals prosperity descending.", "upper": "Kun", "lower": "Qian", "keywords": "Harmony|Prosperity|Flourish"}, + {"number": 12, "name": "Standstill", "chinese": "否", "pinyin": "Pǐ", "judgement": "When channels close, conserve strength.", "image": "Heaven over earth reveals blocked exchange.", "upper": "Qian", "lower": "Kun", "keywords": "Stagnation|Reflection|Pause"}, + {"number": 13, "name": "Fellowship", "chinese": "同人", "pinyin": "Tóng Rén", "judgement": "Shared purpose unites distant hearts.", "image": "Heaven over fire shows clarity within community.", "upper": "Qian", "lower": "Li", "keywords": "Community|Shared Vision|Openness"}, + {"number": 14, "name": "Great Possession", "chinese": "大有", "pinyin": "Dà Yǒu", "judgement": "Generosity cements lasting influence.", "image": "Fire over heaven reflects radiance sustained by ethics.", "upper": "Li", "lower": "Qian", "keywords": "Wealth|Stewardship|Confidence"}, + {"number": 15, "name": "Modesty", "chinese": "謙", "pinyin": "Qiān", "judgement": "Balance is found by lowering the proud.", "image": "Earth over mountain reveals humility safeguarding strength.", "upper": "Kun", "lower": "Gen", "keywords": "Humility|Balance|Service"}, + {"number": 16, "name": "Enthusiasm", "chinese": "豫", "pinyin": "Yù", "judgement": "Inspired music rallies the people.", "image": "Thunder over earth depicts drums stirring hearts.", "upper": "Zhen", "lower": "Kun", "keywords": "Inspiration|Celebration|Momentum"}, + {"number": 17, "name": "Following", "chinese": "隨", "pinyin": "Suí", "judgement": "Adapt willingly to timely leadership.", "image": "Lake over thunder points to joyful allegiance.", "upper": "Dui", "lower": "Zhen", "keywords": "Adaptation|Loyalty|Flow"}, + {"number": 18, "name": "Repairing", "chinese": "蠱", "pinyin": "Gǔ", "judgement": "Address decay with responsibility and care.", "image": "Mountain over wind shows correction of lineages.", "upper": "Gen", "lower": "Xun", "keywords": "Restoration|Accountability|Healing"}, + {"number": 19, "name": "Approach", "chinese": "臨", "pinyin": "Lín", "judgement": "Leaders draw near to listen sincerely.", "image": "Earth over lake signifies compassion visiting the people.", "upper": "Kun", "lower": "Dui", "keywords": "Empathy|Guidance|Presence"}, + {"number": 20, "name": "Contemplation", "chinese": "觀", "pinyin": "Guān", "judgement": "Observation inspires ethical alignment.", "image": "Wind over earth is the elevated view of the sage.", "upper": "Xun", "lower": "Kun", "keywords": "Perspective|Ritual|Vision"}, + {"number": 21, "name": "Biting Through", "chinese": "噬嗑", "pinyin": "Shì Kè", "judgement": "Decisive action cuts through obstruction.", "image": "Fire over thunder shows justice enforced with clarity.", "upper": "Li", "lower": "Zhen", "keywords": "Decision|Justice|Resolve"}, + {"number": 22, "name": "Grace", "chinese": "賁", "pinyin": "Bì", "judgement": "Beauty adorns substance when humility remains.", "image": "Mountain over fire highlights poise and restraint.", "upper": "Gen", "lower": "Li", "keywords": "Aesthetics|Poise|Form"}, + {"number": 23, "name": "Splitting Apart", "chinese": "剝", "pinyin": "Bō", "judgement": "When decay spreads, strip away excess.", "image": "Mountain over earth signals outer shells falling.", "upper": "Gen", "lower": "Kun", "keywords": "Decline|Release|Truth"}, + {"number": 24, "name": "Return", "chinese": "復", "pinyin": "Fù", "judgement": "Cycles renew when rest follows completion.", "image": "Earth over thunder marks the turning of the year.", "upper": "Kun", "lower": "Zhen", "keywords": "Renewal|Rhythm|Faith"}, + {"number": 25, "name": "Innocence", "chinese": "無妄", "pinyin": "Wú Wàng", "judgement": "Sincerity triumphs over scheming.", "image": "Heaven over thunder shows spontaneous virtue.", "upper": "Qian", "lower": "Zhen", "keywords": "Authenticity|Spontaneity|Trust"}, + {"number": 26, "name": "Great Taming", "chinese": "大畜", "pinyin": "Dà Chù", "judgement": "Conserve strength until action serves wisdom.", "image": "Mountain over heaven portrays restraint harnessing power.", "upper": "Gen", "lower": "Qian", "keywords": "Discipline|Reserve|Mastery"}, + {"number": 27, "name": "Nourishment", "chinese": "頤", "pinyin": "Yí", "judgement": "Words and food alike must be chosen with care.", "image": "Mountain over thunder emphasizes mindful sustenance.", "upper": "Gen", "lower": "Zhen", "keywords": "Nutrition|Speech|Mindfulness"}, + {"number": 28, "name": "Great Exceeding", "chinese": "大過", "pinyin": "Dà Guò", "judgement": "Bearing heavy loads demands flexibility.", "image": "Lake over wind shows a beam bending before it breaks.", "upper": "Dui", "lower": "Xun", "keywords": "Weight|Adaptability|Responsibility"}, + {"number": 29, "name": "The Abyss", "chinese": "坎", "pinyin": "Kǎn", "judgement": "Repeated trials teach sincere caution.", "image": "Water over water is the perilous gorge.", "upper": "Kan", "lower": "Kan", "keywords": "Trial|Honesty|Depth"}, + {"number": 30, "name": "Radiance", "chinese": "離", "pinyin": "Lí", "judgement": "Clarity is maintained by tending the flame.", "image": "Fire over fire represents brilliance sustained through care.", "upper": "Li", "lower": "Li", "keywords": "Illumination|Culture|Attention"}, + {"number": 31, "name": "Influence", "chinese": "咸", "pinyin": "Xián", "judgement": "Sincere attraction arises from mutual respect.", "image": "Lake over mountain highlights responsive hearts.", "upper": "Dui", "lower": "Gen", "keywords": "Attraction|Mutuality|Sensitivity"}, + {"number": 32, "name": "Duration", "chinese": "恒", "pinyin": "Héng", "judgement": "Commitment endures when balanced.", "image": "Thunder over wind speaks of constancy amid change.", "upper": "Zhen", "lower": "Xun", "keywords": "Commitment|Consistency|Rhythm"}, + {"number": 33, "name": "Retreat", "chinese": "遯", "pinyin": "Dùn", "judgement": "Strategic withdrawal preserves integrity.", "image": "Heaven over mountain shows noble retreat.", "upper": "Qian", "lower": "Gen", "keywords": "Withdrawal|Strategy|Self-care"}, + {"number": 34, "name": "Great Power", "chinese": "大壯", "pinyin": "Dà Zhuàng", "judgement": "Strength must remain aligned with virtue.", "image": "Thunder over heaven affirms action matched with purpose.", "upper": "Zhen", "lower": "Qian", "keywords": "Power|Ethics|Momentum"}, + {"number": 35, "name": "Progress", "chinese": "晉", "pinyin": "Jìn", "judgement": "Advancement arrives through clarity and loyalty.", "image": "Fire over earth depicts dawn spreading across the plain.", "upper": "Li", "lower": "Kun", "keywords": "Advancement|Visibility|Service"}, + {"number": 36, "name": "Darkening Light", "chinese": "明夷", "pinyin": "Míng Yí", "judgement": "Protect the inner light when circumstances grow harsh.", "image": "Earth over fire shows brilliance concealed for safety.", "upper": "Kun", "lower": "Li", "keywords": "Protection|Subtlety|Endurance"}, + {"number": 37, "name": "Family", "chinese": "家人", "pinyin": "Jiā Rén", "judgement": "Clear roles nourish household harmony.", "image": "Wind over fire indicates rituals ordering the home.", "upper": "Xun", "lower": "Li", "keywords": "Home|Roles|Care"}, + {"number": 38, "name": "Opposition", "chinese": "睽", "pinyin": "Kuí", "judgement": "Recognize difference without hostility.", "image": "Fire over lake reflects contrast seeking balance.", "upper": "Li", "lower": "Dui", "keywords": "Contrast|Perspective|Tolerance"}, + {"number": 39, "name": "Obstruction", "chinese": "蹇", "pinyin": "Jiǎn", "judgement": "Turn hindrance into training.", "image": "Water over mountain shows difficult ascent.", "upper": "Kan", "lower": "Gen", "keywords": "Obstacle|Effort|Learning"}, + {"number": 40, "name": "Deliverance", "chinese": "解", "pinyin": "Xiè", "judgement": "Relief comes when knots are untied.", "image": "Thunder over water portrays release after storm.", "upper": "Zhen", "lower": "Kan", "keywords": "Release|Solution|Breath"}, + {"number": 41, "name": "Decrease", "chinese": "損", "pinyin": "Sǔn", "judgement": "Voluntary simplicity restores balance.", "image": "Mountain over lake shows graceful sharing of resources.", "upper": "Gen", "lower": "Dui", "keywords": "Simplicity|Offering|Balance"}, + {"number": 42, "name": "Increase", "chinese": "益", "pinyin": "Yì", "judgement": "Blessings multiply when shared.", "image": "Wind over thunder reveals generous expansion.", "upper": "Xun", "lower": "Zhen", "keywords": "Growth|Generosity|Opportunity"}, + {"number": 43, "name": "Breakthrough", "chinese": "夬", "pinyin": "Guài", "judgement": "Speak truth boldly to clear corruption.", "image": "Lake over heaven highlights decisive proclamation.", "upper": "Dui", "lower": "Qian", "keywords": "Resolution|Declaration|Courage"}, + {"number": 44, "name": "Encounter", "chinese": "姤", "pinyin": "Gòu", "judgement": "Unexpected influence requires discernment.", "image": "Heaven over wind shows potent visitors arriving.", "upper": "Qian", "lower": "Xun", "keywords": "Encounter|Discernment|Temptation"}, + {"number": 45, "name": "Gathering", "chinese": "萃", "pinyin": "Cuì", "judgement": "Unity grows when motive is sincere.", "image": "Lake over earth signifies assembly around shared cause.", "upper": "Dui", "lower": "Kun", "keywords": "Assembly|Devotion|Focus"}, + {"number": 46, "name": "Ascending", "chinese": "升", "pinyin": "Shēng", "judgement": "Slow steady progress pierces obstacles.", "image": "Earth over wind shows roots pushing upward.", "upper": "Kun", "lower": "Xun", "keywords": "Growth|Perseverance|Aspiration"}, + {"number": 47, "name": "Oppression", "chinese": "困", "pinyin": "Kùn", "judgement": "Constraints refine inner resolve.", "image": "Lake over water indicates fatigue relieved only by integrity.", "upper": "Dui", "lower": "Kan", "keywords": "Constraint|Endurance|Faith"}, + {"number": 48, "name": "The Well", "chinese": "井", "pinyin": "Jǐng", "judgement": "Communal resources must be maintained.", "image": "Water over wind depicts a well drawing fresh insight.", "upper": "Kan", "lower": "Xun", "keywords": "Resource|Maintenance|Depth"}, + {"number": 49, "name": "Revolution", "chinese": "革", "pinyin": "Gé", "judgement": "Change succeeds when timing and virtue align.", "image": "Lake over fire indicates shedding the old skin.", "upper": "Dui", "lower": "Li", "keywords": "Change|Timing|Renewal"}, + {"number": 50, "name": "The Vessel", "chinese": "鼎", "pinyin": "Dǐng", "judgement": "Elevated service transforms the culture.", "image": "Fire over wind depicts the cauldron that refines offerings.", "upper": "Li", "lower": "Xun", "keywords": "Service|Transformation|Heritage"}, + {"number": 51, "name": "Arousing Thunder", "chinese": "震", "pinyin": "Zhèn", "judgement": "Shock awakens the heart to reverence.", "image": "Thunder over thunder doubles the drumbeat of alertness.", "upper": "Zhen", "lower": "Zhen", "keywords": "Shock|Awakening|Movement"}, + {"number": 52, "name": "Still Mountain", "chinese": "艮", "pinyin": "Gèn", "judgement": "Cultivate stillness to master desire.", "image": "Mountain over mountain shows unmoving focus.", "upper": "Gen", "lower": "Gen", "keywords": "Stillness|Meditation|Boundaries"}, + {"number": 53, "name": "Gradual Development", "chinese": "漸", "pinyin": "Jiàn", "judgement": "Lasting progress resembles a tree growing rings.", "image": "Wind over mountain displays slow maturation.", "upper": "Xun", "lower": "Gen", "keywords": "Patience|Evolution|Commitment"}, + {"number": 54, "name": "Marrying Maiden", "chinese": "歸妹", "pinyin": "Guī Mèi", "judgement": "Adjust expectations when circumstances limit rank.", "image": "Thunder over lake spotlights unequal partnerships.", "upper": "Zhen", "lower": "Dui", "keywords": "Transition|Adaptation|Protocol"}, + {"number": 55, "name": "Abundance", "chinese": "豐", "pinyin": "Fēng", "judgement": "Radiant success must be handled with balance.", "image": "Thunder over fire illuminates the hall at noon.", "upper": "Zhen", "lower": "Li", "keywords": "Splendor|Responsibility|Timing"}, + {"number": 56, "name": "The Wanderer", "chinese": "旅", "pinyin": "Lǚ", "judgement": "Travel lightly and guard reputation.", "image": "Fire over mountain marks a traveler tending the campfire.", "upper": "Li", "lower": "Gen", "keywords": "Travel|Restraint|Awareness"}, + {"number": 57, "name": "Gentle Wind", "chinese": "巽", "pinyin": "Xùn", "judgement": "Persistent influence accomplishes what force cannot.", "image": "Wind over wind indicates subtle penetration.", "upper": "Xun", "lower": "Xun", "keywords": "Penetration|Diplomacy|Subtlety"}, + {"number": 58, "name": "Joyous Lake", "chinese": "兌", "pinyin": "Duì", "judgement": "Openhearted dialogue dissolves resentment.", "image": "Lake over lake celebrates shared delight.", "upper": "Dui", "lower": "Dui", "keywords": "Joy|Conversation|Trust"}, + {"number": 59, "name": "Dispersion", "chinese": "渙", "pinyin": "Huàn", "judgement": "Loosen rigid structures so spirit can move.", "image": "Wind over water shows breath dispersing fear.", "upper": "Xun", "lower": "Kan", "keywords": "Dissolve|Freedom|Relief"}, + {"number": 60, "name": "Limitation", "chinese": "節", "pinyin": "Jié", "judgement": "Clear boundaries enable real freedom.", "image": "Water over lake portrays calibrated vessels.", "upper": "Kan", "lower": "Dui", "keywords": "Boundaries|Measure|Discipline"}, + {"number": 61, "name": "Inner Truth", "chinese": "中孚", "pinyin": "Zhōng Fú", "judgement": "Trustworthiness unites disparate groups.", "image": "Wind over lake depicts resonance within the heart.", "upper": "Xun", "lower": "Dui", "keywords": "Sincerity|Empathy|Alignment"}, + {"number": 62, "name": "Small Exceeding", "chinese": "小過", "pinyin": "Xiǎo Guò", "judgement": "Attend to details when stakes are delicate.", "image": "Thunder over mountain reveals careful movement.", "upper": "Zhen", "lower": "Gen", "keywords": "Detail|Caution|Adjustment"}, + {"number": 63, "name": "After Completion", "chinese": "既濟", "pinyin": "Jì Jì", "judgement": "Success endures only if vigilance continues.", "image": "Water over fire displays balance maintained through work.", "upper": "Kan", "lower": "Li", "keywords": "Completion|Maintenance|Balance"}, + {"number": 64, "name": "Before Completion", "chinese": "未濟", "pinyin": "Wèi Jì", "judgement": "Stay attentive as outcomes crystallize.", "image": "Fire over water illustrates the final push before harmony.", "upper": "Li", "lower": "Kan", "keywords": "Transition|Focus|Preparation"}, + ] + planet_cycle = ["Sun", "Moon", "Mercury", "Venus", "Mars", "Jupiter", "Saturn", "Earth"] + self._hexagrams = {} + for spec in hex_specs: + number = spec.get("number") + name = spec.get("name") + upper_name = spec.get("upper") + lower_name = spec.get("lower") + if number is None or not name or not upper_name or not lower_name: + continue + upper = trigram._trigrams.get(upper_name.lower()) + lower = trigram._trigrams.get(lower_name.lower()) + if upper is None or lower is None: + continue + assoc_number = loader._numbers.get(calculate_digital_root(number)) + planet_name = spec.get("planet") or planet_cycle[(number - 1) % len(planet_cycle)] + planet = loader._planets.get(planet_name.lower()) if planet_name else None + keywords_field = spec.get("keywords") + keywords = keywords_field.split("|") if keywords_field else [] + line_diagram = _line_diagram_from_binary(upper.binary + lower.binary) + self._hexagrams[number] = Hexagram( + number=number, + name=name, + chinese_name=spec.get("chinese", ""), + pinyin=spec.get("pinyin", ""), + judgement=spec.get("judgement", ""), + image=spec.get("image", ""), + upper_trigram=upper, + lower_trigram=lower, + keywords=keywords, + associated_number=assoc_number, + planetary_influence=planet, + line_diagram=line_diagram, + ) + + +# Create singleton instances +trigram = _Trigram() +hexagram = _Hexagram() diff --git a/src/letter/iChing_attributes.py b/src/letter/iChing_attributes.py new file mode 100644 index 0000000..6e744fa --- /dev/null +++ b/src/letter/iChing_attributes.py @@ -0,0 +1,42 @@ +""" +I Ching attributes and data structures. + +This module defines attributes specific to the I Ching system, +including Trigrams and Hexagrams. +""" + +from dataclasses import dataclass, field +from typing import List, Optional + +from utils.attributes import Number, Planet + + +@dataclass +class Trigram: + """Represents one of the eight I Ching trigrams.""" + name: str + chinese_name: str + pinyin: str + element: str + attribute: str + binary: str + description: str = "" + line_diagram: str = "" + + +@dataclass +class Hexagram: + """Represents an I Ching hexagram with Tarot correspondence.""" + number: int + name: str + chinese_name: str + pinyin: str + judgement: str + image: str + upper_trigram: Trigram + lower_trigram: Trigram + keywords: List[str] = field(default_factory=list) + associated_number: Optional[Number] = None + planetary_influence: Optional[Planet] = None + notes: str = "" + line_diagram: str = "" diff --git a/src/letter/letter.py b/src/letter/letter.py new file mode 100644 index 0000000..bf60e79 --- /dev/null +++ b/src/letter/letter.py @@ -0,0 +1,87 @@ +"""Tarot letter namespace - fluent query interface.""" + +from typing import TYPE_CHECKING + +from utils.query import CollectionAccessor + +if TYPE_CHECKING: + from tarot.card.data import CardDataLoader + + +class Letter: + """Fluent query accessor for letters, alphabets, ciphers, and correspondences.""" + + def __init__(self) -> None: + self._initialized: bool = False + self._loader: 'CardDataLoader | None' = None + self.alphabet = CollectionAccessor(self._get_alphabets) + self.cipher = CollectionAccessor(self._get_ciphers) + self.letter = CollectionAccessor(self._get_letters) + self.iching = CollectionAccessor(self._get_hexagrams) + self.periodic = CollectionAccessor(self._get_periodic) + + def _ensure_initialized(self) -> None: + """Lazy-load data from CardDataLoader on first access.""" + if self._initialized: + return + + from tarot.card.data import CardDataLoader + self._loader = CardDataLoader() + self._initialized = True + + def _require_loader(self) -> 'CardDataLoader': + self._ensure_initialized() + assert self._loader is not None, "Loader not initialized" + return self._loader + + def _get_alphabets(self): + loader = self._require_loader() + return loader._alphabets.copy() + + def _get_ciphers(self): + loader = self._require_loader() + return loader._ciphers.copy() + + def _get_letters(self): + loader = self._require_loader() + return dict(loader.letter()) + + def _get_hexagrams(self): + loader = self._require_loader() + return loader._hexagrams.copy() + + def _get_periodic(self): + loader = self._require_loader() + return loader._periodic_table.copy() + + def word(self, text: str, *, alphabet: str = 'english'): + """ + Start a fluent cipher request for the given text. + + Usage: + letter.word('MAGICK').cipher('english_simple') + letter.word('MAGICK', alphabet='hebrew').cipher('hebrew_standard') + """ + loader = self._require_loader() + return loader.word(text, alphabet=alphabet) + + def __str__(self) -> str: + """Return a nice summary of the letter accessor.""" + return ( + "Letter Namespace - Alphabets, Letters, Ciphers, I Ching, Periodic Table, Words\n\n" + "Access methods:\n" + " letter.alphabet - English, Hebrew, Greek alphabets\n" + " letter.cipher - Cipher systems (English simple, Hebrew, etc.)\n" + " letter.letter - Hebrew letters (Aleph through Tau)\n" + " letter.word(text) - Encode text with cipher systems\n" + " letter.iching - I Ching trigrams and hexagrams\n" + " letter.periodic - Periodic table with Sephiroth" + ) + + def __repr__(self) -> str: + """Return a nice representation of the letter accessor.""" + return self.__str__() + + +# Create singleton instance +letter = Letter() diff --git a/src/letter/paths.py b/src/letter/paths.py new file mode 100644 index 0000000..41a93ce --- /dev/null +++ b/src/letter/paths.py @@ -0,0 +1,340 @@ +""" +Tarot Letters namespace - Hebrew letters with full correspondences. + +Provides fluent access to Hebrew letters (Paths on Tree of Life) organized by type: +- Mother Letters (3): Aleph, Mem, Shin +- Double Letters (7): Beth through Tzadi +- Simple Letters (12): Yodh through Tau + +Data is sourced from CardDataLoader.paths() for a single source of truth. +Each letter has attributes like: + - Hebrew Letter + - Zodiac (for simple letters) + - Trump (Major Arcana card) + - Four Color System (King, Queen, Prince, Princess) + - Cube of Space correspondence + - Intelligence/Archangel + - Musical Note +""" + +from typing import List, Optional, Dict, Union, TYPE_CHECKING +from dataclasses import dataclass, field +from utils.filter import universal_filter, get_filterable_fields, format_results + +if TYPE_CHECKING: + from utils.query import CollectionAccessor + from tarot.attributes import Path + + +@dataclass +class TarotLetter: + """ + Represents a Hebrew letter with full Tarot correspondences. + + Wraps Path objects from CardDataLoader to provide a letter-focused interface + while maintaining a single source of truth. + """ + path: 'Path' # Reference to the actual Path object from CardDataLoader + letter_type: str # "Mother", "Double", or "Simple" (derived from path) + + def __post_init__(self) -> None: + """Validate that path is set.""" + if not self.path: + raise ValueError("TarotLetter requires a valid Path object") + + @property + def hebrew_letter(self) -> str: + """Get Hebrew letter character.""" + return self.path.hebrew_letter or "" + + @property + def transliteration(self) -> str: + """Get transliterated name.""" + return self.path.transliteration or "" + + @property + def position(self) -> int: + """Get position (1-22 for paths).""" + return self.path.number + + @property + def trump(self) -> Optional[str]: + """Get Tarot trump designation.""" + return self.path.tarot_trump + + @property + def element(self) -> Optional[str]: + """Get element name if applicable.""" + return self.path.element.name if self.path.element else None + + @property + def planet(self) -> Optional[str]: + """Get planet name if applicable.""" + return self.path.planet.name if self.path.planet else None + + @property + def zodiac(self) -> Optional[str]: + """Get zodiac sign if applicable.""" + return self.path.zodiac_sign + + @property + def intelligence(self) -> Optional[str]: + """Get archangel/intelligence name from associated gods.""" + # Extract first god's name from the path's associated gods + all_gods = self.path.get_gods() + if all_gods: + return all_gods[0].name + return None + + @property + def meaning(self) -> Optional[str]: + """Get path meaning/description.""" + return self.path.description + + @property + def keywords(self) -> List[str]: + """Get keywords associated with path.""" + return self.path.keywords or [] + + def display(self) -> str: + """Format letter for display.""" + lines = [ + f"Hebrew: {self.hebrew_letter}", + f"Name: {self.transliteration}", + f"Type: {self.letter_type}", + f"Position: {self.position}", + ] + + if self.trump: + lines.append(f"Trump: {self.trump}") + if self.zodiac: + lines.append(f"Zodiac: {self.zodiac}") + if self.planet: + lines.append(f"Planet: {self.planet}") + if self.element: + lines.append(f"Element: {self.element}") + if self.intelligence: + lines.append(f"Intelligence: {self.intelligence}") + if self.meaning: + lines.append(f"Meaning: {self.meaning}") + if self.keywords: + lines.append(f"Keywords: {', '.join(self.keywords)}") + + return "\n".join(lines) + + +class LetterAccessor: + """Fluent accessor for Tarot letters.""" + + def __init__(self, letters_dict: Dict[str, TarotLetter]) -> None: + self._letters = letters_dict + + def __call__(self, transliteration: str) -> Optional[TarotLetter]: + """Get a letter by transliteration (e.g., 'aleph', 'beth', 'gimel').""" + return self._letters.get(transliteration.lower()) + + def __getitem__(self, key: Union[str, int]) -> Optional[TarotLetter]: + """Get letter by name or position.""" + if isinstance(key, int): + # Get by position (1-22) + for letter in self._letters.values(): + if letter.position == key: + return letter + return None + return self(key) + + def all(self) -> List[TarotLetter]: + """Get all letters.""" + return sorted(self._letters.values(), key=lambda x: x.position) + + def by_type(self, letter_type: str) -> List[TarotLetter]: + """Filter by type: 'Mother', 'Double', or 'Simple'.""" + return [l for l in self._letters.values() if l.letter_type == letter_type] + + def by_zodiac(self, zodiac: str) -> Optional[TarotLetter]: + """Get letter by zodiac sign.""" + for letter in self._letters.values(): + if letter.zodiac and zodiac.lower() in letter.zodiac.lower(): + return letter + return None + + def by_planet(self, planet: str) -> List[TarotLetter]: + """Get letters by planet.""" + return [l for l in self._letters.values() if l.planet and planet.lower() in l.planet.lower()] + + def by_trump(self, trump: str) -> Optional[TarotLetter]: + """Get letter by tarot trump.""" + return next((l for l in self._letters.values() if l.trump == trump), None) + + def get_filterable_fields(self) -> List[str]: + """ + Dynamically get all filterable fields from TarotLetter. + + Returns the same fields as the universal filter utility. + Useful for introspection and validation. + """ + return get_filterable_fields(TarotLetter) + + def filter(self, **kwargs) -> List[TarotLetter]: + """ + Filter letters by any TarotLetter attribute. + + Uses the universal filter from utils.filter for consistency + across the entire project. + + The filter automatically handles all fields from the TarotLetter dataclass: + - letter_type, element, trump, zodiac, planet + - king, queen, prince, princess + - cube, intelligence, note, meaning, hebrew_letter, transliteration, position + - keywords (list matching) + + Args: + **kwargs: Any TarotLetter attribute with its value + + Usage: + Tarot.letters.filter(letter_type="Simple") + Tarot.letters.filter(element="Fire") + Tarot.letters.filter(letter_type="Double", planet="Mars") + Tarot.letters.filter(element="Air", letter_type="Mother") + Tarot.letters.filter(intelligence="Metatron") + Tarot.letters.filter(position=1) + + Returns: + List of TarotLetter objects matching all filters + """ + return universal_filter(self.all(), **kwargs) + + def display_filter(self, **kwargs) -> str: + """ + Filter letters and display results nicely formatted. + + Combines filtering and formatting in one call. + + Args: + **kwargs: Any TarotLetter attribute with its value + + Returns: + Formatted string with filtered letters + + Example: + print(Tarot.letters.display_filter(element="Fire")) + """ + results = self.filter(**kwargs) + return format_results(results) + + def display_all(self) -> str: + """Display all letters formatted.""" + lines = [] + for letter in self.all(): + lines.append(letter.display()) + lines.append("-" * 50) + return "\n".join(lines) + + def display_by_type(self, letter_type: str) -> str: + """Display all letters of a specific type.""" + letters = self.by_type(letter_type) + if not letters: + return f"No letters found with type: {letter_type}" + + lines = [f"\n{letter_type.upper()} LETTERS ({len(letters)} total)"] + lines.append("=" * 50) + for letter in letters: + lines.append(letter.display()) + lines.append("-" * 50) + return "\n".join(lines) + + @property + def iChing(self): + """Access I Ching trigrams and hexagrams.""" + return IChing() + + +class IChing: + """Namespace for I Ching trigrams and hexagrams access. + + Provides fluent query interface for accessing I Ching trigrams and hexagrams + with Tarot correspondences. + + Usage: + trigrams = Tarot.letters.iChing.trigram + qian = trigrams.name('Qian') + all_trigrams = trigrams.all() + + hexagrams = Tarot.letters.iChing.hexagram + hex1 = hexagrams.all()[1] + all_hex = hexagrams.list() + """ + + trigram: 'CollectionAccessor' + hexagram: 'CollectionAccessor' + + def __init__(self) -> None: + """Initialize iChing accessor with trigram and hexagram collections.""" + from tarot.letter import iChing as iching_module + self.trigram = iching_module.trigram.trigram + self.hexagram = iching_module.hexagram.hexagram + + def __repr__(self) -> str: + """Clean representation of iChing namespace.""" + return "IChing(trigram, hexagram)" + + def __str__(self) -> str: + """String representation of iChing namespace.""" + return "I Ching (trigrams and hexagrams)" + + +class LettersRegistry: + """Registry and accessor for all Hebrew letters with Tarot correspondences.""" + + _instance: Optional['LettersRegistry'] = None + _letters: Dict[str, TarotLetter] = {} + _initialized: bool = False + + def __new__(cls): + if cls._instance is None: + cls._instance = super().__new__(cls) + return cls._instance + + def __init__(self) -> None: + if self._initialized: + return + + self._initialize_letters() + self._initialized = True + + def _initialize_letters(self) -> None: + """Initialize all 22 Hebrew letters by wrapping Path objects from CardDataLoader.""" + from tarot.card.data import CardDataLoader + + loader = CardDataLoader() + paths = loader.path() # Get all 22 paths + + self._letters = {} + + # Map each path (11-32) to a TarotLetter with appropriate type + for path_number, path in paths.items(): + # Determine letter type based on path number + # Mother letters: 11 (Aleph), 23 (Mem), 31 (Shin) + # Double letters: 12, 13, 14, 15, 18, 21, 22 + # Simple (Zodiacal/Planetary): 16, 17, 19, 20, 24, 25, 26, 27, 28, 29, 30, 32 + + if path_number in {11, 23, 31}: + letter_type = "Mother" + elif path_number in {12, 13, 14, 15, 18, 21, 22}: + letter_type = "Double" + else: + letter_type = "Simple" + + # Create TarotLetter wrapping the path + letter_key = path.transliteration.lower() + self._letters[letter_key] = TarotLetter(path=path, letter_type=letter_type) + + def accessor(self) -> LetterAccessor: + """Get the letter accessor.""" + return LetterAccessor(self._letters) + + +def letters() -> LetterAccessor: + """Get the letters accessor for fluent queries.""" + registry = LettersRegistry() + return registry.accessor() diff --git a/src/letter/words/__init__.py b/src/letter/words/__init__.py new file mode 100644 index 0000000..93b78c4 --- /dev/null +++ b/src/letter/words/__init__.py @@ -0,0 +1,5 @@ +"""Words namespace - word cipher and gematria operations.""" + +from .word import word + +__all__ = ["word"] diff --git a/src/letter/words/word.py b/src/letter/words/word.py new file mode 100644 index 0000000..ae0da62 --- /dev/null +++ b/src/letter/words/word.py @@ -0,0 +1,40 @@ +"""Tarot word namespace - fluent cipher operations.""" + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from tarot.card.data import CardDataLoader + + +class _Word: + """Fluent accessor for word analysis and cipher operations.""" + + _loader: 'CardDataLoader | None' = None + _initialized: bool = False + + @classmethod + def _ensure_initialized(cls) -> None: + """Lazy-load CardDataLoader on first access.""" + if cls._initialized: + return + + from tarot.card.data import CardDataLoader + cls._loader = CardDataLoader() + cls._initialized = True + + @classmethod + def word(cls, text: str, *, alphabet: str = 'english'): + """ + Start a fluent cipher request for the given text. + + Usage: + word.word('MAGICK').cipher('english_simple') + word.word('MAGICK', alphabet='hebrew').cipher('hebrew_standard') + """ + cls._ensure_initialized() + assert cls._loader is not None, "Loader not initialized" + return cls._loader.word(text, alphabet=alphabet) + + +# Create singleton instance +word = _Word() diff --git a/src/number/__init__.py b/src/number/__init__.py new file mode 100644 index 0000000..d36646d --- /dev/null +++ b/src/number/__init__.py @@ -0,0 +1,19 @@ +""" +Number namespace - Numerology and number correspondences. + +Provides fluent query interface for: +- Numbers 1-9 with Sepheric attributes +- Digital root calculation +- Colors and correspondences + +Usage: + from tarot import number + + num = number.number(5) + root = number.digital_root(256) + colors = number.color() +""" + +from .number import number, calculate_digital_root + +__all__ = ["number", "calculate_digital_root"] diff --git a/src/number/loader.py b/src/number/loader.py new file mode 100644 index 0000000..7cf8f8e --- /dev/null +++ b/src/number/loader.py @@ -0,0 +1,198 @@ +"""Numbers loader - access to numerology and number correspondences.""" + +from typing import Dict, Optional, Union, overload +from utils.filter import universal_filter + + +def calculate_digital_root(value: int) -> int: + """ + Calculate the digital root of a number by repeatedly summing its digits. + + Digital root reduces any number to a single digit (1-9) by repeatedly + summing its digits until a single digit remains. + + Args: + value: The number to reduce to digital root + + Returns: + The digital root (1-9) + + Examples: + >>> calculate_digital_root(14) # 1+4 = 5 + 5 + >>> calculate_digital_root(99) # 9+9 = 18, 1+8 = 9 + 9 + >>> calculate_digital_root(5) + 5 + """ + if value < 1: + raise ValueError(f"Value must be positive, got {value}") + + while value >= 10: + value = sum(int(digit) for digit in str(value)) + + return value + + +class Numbers: + """ + Unified accessor for numerology, numbers, and color correspondences. + + All methods are class methods, so Numbers is accessed as a static namespace: + + num = Numbers.number(5) + root = Numbers.digital_root(256) + color = Numbers.color_by_number(root) + """ + + # These are populated on first access from CardDataLoader + _numbers: Dict[int, 'Number'] = {} # type: ignore + _colors: Dict[int, 'Color'] = {} # type: ignore + _initialized: bool = False + + @classmethod + def _ensure_initialized(cls) -> None: + """Lazy-load data from CardDataLoader on first access.""" + if cls._initialized: + return + + from tarot.card.data import CardDataLoader + loader = CardDataLoader() + cls._numbers = loader.number() + cls._colors = loader.color() + cls._initialized = True + + @classmethod + @overload + def number(cls, value: int) -> Optional['Number']: + ... + + @classmethod + @overload + def number(cls, value: None = ...) -> Dict[int, 'Number']: + ... + + @classmethod + def number(cls, value: Optional[int] = None) -> Union[Optional['Number'], Dict[int, 'Number']]: + """Return an individual Number or the full numerology table.""" + cls._ensure_initialized() + if value is None: + return cls._numbers.copy() + return cls._numbers.get(value) + + @classmethod + @overload + def color(cls, sephera_number: int) -> Optional['Color']: + ... + + @classmethod + @overload + def color(cls, sephera_number: None = ...) -> Dict[int, 'Color']: + ... + + @classmethod + def color(cls, sephera_number: Optional[int] = None) -> Union[Optional['Color'], Dict[int, 'Color']]: + """Return a single color correspondence or the entire map.""" + cls._ensure_initialized() + if sephera_number is None: + return cls._colors.copy() + return cls._colors.get(sephera_number) + + @classmethod + def color_by_number(cls, number: int) -> Optional['Color']: + """Get a Color by mapping a number through digital root.""" + root = calculate_digital_root(number) + return cls.color(root) + + @classmethod + def number_by_digital_root(cls, value: int) -> Optional['Number']: + """Get a Number object using digital root calculation.""" + root = calculate_digital_root(value) + return cls.number(root) + + @classmethod + def digital_root(cls, value: int) -> int: + """Get the digital root of a value.""" + return calculate_digital_root(value) + + @classmethod + def filter_numbers(cls, **kwargs) -> list: + """ + Filter numbers by any Number attribute. + + Uses the universal filter from utils.filter for consistency + across the entire project. + + Args: + **kwargs: Any Number attribute with its value + + Usage: + Numbers.filter_numbers(element="Fire") + Numbers.filter_numbers(sephera_number=5) + + Returns: + List of Number objects matching all filters + """ + cls._ensure_initialized() + return universal_filter(list(cls._numbers.values()), **kwargs) + + @classmethod + def display_filter_numbers(cls, **kwargs) -> str: + """ + Filter numbers and display results nicely formatted. + + Combines filtering and formatting in one call. + + Args: + **kwargs: Any Number attribute with its value + + Returns: + Formatted string with filtered numbers + + Example: + print(Numbers.display_filter_numbers(element="Fire")) + """ + from utils.filter import format_results + results = cls.filter_numbers(**kwargs) + return format_results(results) + + @classmethod + def filter_colors(cls, **kwargs) -> list: + """ + Filter colors by any Color attribute. + + Uses the universal filter from utils.filter for consistency + across the entire project. + + Args: + **kwargs: Any Color attribute with its value + + Usage: + Numbers.filter_colors(element="Water") + Numbers.filter_colors(sephera_number=3) + + Returns: + List of Color objects matching all filters + """ + cls._ensure_initialized() + return universal_filter(list(cls._colors.values()), **kwargs) + + @classmethod + def display_filter_colors(cls, **kwargs) -> str: + """ + Filter colors and display results nicely formatted. + + Combines filtering and formatting in one call. + + Args: + **kwargs: Any Color attribute with its value + + Returns: + Formatted string with filtered colors + + Example: + print(Numbers.display_filter_colors(element="Water")) + """ + from utils.filter import format_results + results = cls.filter_colors(**kwargs) + return format_results(results) diff --git a/src/number/number.py b/src/number/number.py new file mode 100644 index 0000000..9652fa5 --- /dev/null +++ b/src/number/number.py @@ -0,0 +1,84 @@ +"""Tarot number namespace - fluent query interface for numerology.""" + +from typing import TYPE_CHECKING + +from utils.query import CollectionAccessor + +if TYPE_CHECKING: + from tarot.card.data import CardDataLoader + + +def calculate_digital_root(value: int) -> int: + """ + Calculate the digital root of a number by repeatedly summing its digits. + + Digital root reduces any number to a single digit (1-9) by repeatedly + summing its digits until a single digit remains. + """ + if value < 1: + raise ValueError(f"Value must be positive, got {value}") + + while value >= 10: + value = sum(int(digit) for digit in str(value)) + + return value + + +class _Number: + """Fluent query accessor for numerology and number correspondences.""" + + def __init__(self) -> None: + self._initialized: bool = False + self._loader: 'CardDataLoader | None' = None + self.number = CollectionAccessor(self._get_numbers) + self.color = CollectionAccessor(self._get_colors) + self.cipher = CollectionAccessor(self._get_ciphers) + + def _ensure_initialized(self) -> None: + """Lazy-load data from CardDataLoader on first access.""" + if self._initialized: + return + + from tarot.card.data import CardDataLoader + self._loader = CardDataLoader() + self._initialized = True + + def _require_loader(self) -> 'CardDataLoader': + self._ensure_initialized() + assert self._loader is not None, "Loader not initialized" + return self._loader + + def _get_numbers(self): + loader = self._require_loader() + return loader.number().copy() + + def _get_colors(self): + loader = self._require_loader() + return loader.color().copy() + + def _get_ciphers(self): + loader = self._require_loader() + return loader._ciphers.copy() + + def digital_root(self, value: int) -> int: + """Get the digital root of a value.""" + return calculate_digital_root(value) + + def __str__(self) -> str: + """Return a nice summary of the number accessor.""" + return ( + "Number Namespace - Numerology and Number Correspondences\n\n" + "Access methods:\n" + " number.number(n) - Get number 1-9 with correspondences\n" + " number.color() - Get color correspondences\n" + " number.cipher() - Get cipher systems\n" + " number.digital_root(n) - Calculate digital root of any number" + ) + + def __repr__(self) -> str: + """Return a nice representation of the number accessor.""" + return self.__str__() + + +# Create singleton instance +number = _Number() diff --git a/src/tarot/__init__.py b/src/tarot/__init__.py new file mode 100644 index 0000000..4a08c8b --- /dev/null +++ b/src/tarot/__init__.py @@ -0,0 +1,179 @@ +""" +PY-Tarot: A comprehensive Python library for Tarot card reading and interpretation. + +This library provides: +- Full 78-card Tarot deck with Major and Minor Arcana +- Kabbalistic correspondences and Tree of Life data +- Multiple configurable cipher systems (Hebrew, English, Greek, Reduction) +- Tarot alphabets (English, Greek, Hebrew) with meanings +- Numbers 1-9 with Sepheric attributes and digital root calculation +- Crowley 777 color system with Sephiroth correspondences +- Full type hints for IDE support and type checking + +Unified Namespaces (singular names): + number - Numerology and number correspondences + letter - Alphabets (English, Hebrew, Greek), ciphers, and word analysis + Tarot - Tarot-specific (deck, cards, tree, cube, temporal) + +Usage: + from tarot import number, letter, words, Tarot + + num = number.number(5) + result = letter.words.word('MAGICK').cipher('english_simple') + card = Tarot.deck.card(3) +""" + +from .deck import Deck, Card, MajorCard, MinorCard, DLT +from .attributes import ( + Month, Day, Weekday, Hour, ClockHour, Zodiac, Suit, Meaning, Letter, + Sephera, PeriodicTable, Degree, AstrologicalInfluence, + TreeOfLife, Correspondences, CardImage, DoublLetterTrump, + EnglishAlphabet, GreekAlphabet, HebrewAlphabet, + Trigram, Hexagram, + EnochianTablet, EnochianGridPosition, EnochianArchetype, Path, +) +# Import shared attributes from utils +from utils.attributes import ( + Note, Element, ElementType, Number, Color, Colorscale, + Planet, God, Cipher, CipherResult, Perfume, +) +from kaballah.cube.attributes import CubeOfSpace, WallDirection, Wall +from .card.data import CardDataLoader, calculate_digital_root +from .tarot_api import Tarot + +# Import from card module (includes details, loader, and image_loader) +from .card import ( + CardAccessor, + CardDetailsRegistry, + load_card_details, + load_deck_details, + get_cards_by_suit, + filter_cards_by_keywords, + print_card_details, + get_card_info, + ImageDeckLoader, + load_deck_images, +) + +# Import from namespace folders +from letter import letter, trigram, hexagram +from number import number, calculate_digital_root +import kaballah +from kaballah import Tree, Cube +from temporal import ThalemaClock, Zodiac as AstrologyZodiac, PlanetPosition + + +def display(obj): + """ + Pretty print any tarot object by showing all its attributes. + + Automatically detects dataclass objects and displays their fields + with values in a readable format. + + Usage: + from tarot import display, number + num = number.number(5) + display(num) # Shows all attributes nicely formatted + """ + from dataclasses import fields + if hasattr(obj, '__dataclass_fields__'): + # It's a dataclass - show all fields + print(f"{obj.__class__.__name__}:") + for field in fields(obj): + value = getattr(obj, field.name) + print(f" {field.name}: {value}") + else: + print(obj) + + +__version__ = "0.1.0" +__author__ = "PY-Tarot Contributors" +__all__ = [ + # Namespaces (singular) + "number", + "letter", + "kaballah", + "Tarot", + "trigram", + "hexagram", + + # Temporal and astrological + "ThalemaClock", + "AstrologyZodiac", + "PlanetPosition", + + # Card details and loading + "CardDetailsRegistry", + "load_card_details", + "load_deck_details", + "get_cards_by_suit", + "filter_cards_by_keywords", + "print_card_details", + "get_card_info", + + # Image loading + "ImageDeckLoader", + "load_deck_images", + + # Utilities + "display", + "CardAccessor", + "Tree", + "Cube", + + # Deck classes + "Deck", + "Card", + "MajorCard", + "MinorCard", + "DLT", + + # Calendar/attribute classes + "Month", + "Day", + "Weekday", + "Hour", + "ClockHour", + "Zodiac", + "Suit", + "Meaning", + "Letter", + "Note", + "CubeOfSpace", + "WallDirection", + "Wall", + + # Sepheric classes + "Sephera", + "PeriodicTable", + "Degree", + "Element", + "ElementType", + "AstrologicalInfluence", + "TreeOfLife", + "Correspondences", + "CardImage", + "DoublLetterTrump", + "EnochianTablet", + "EnochianGridPosition", + "EnochianArchetype", + + # Alphabet classes + "EnglishAlphabet", + "GreekAlphabet", + "HebrewAlphabet", + + # Number and color classes + "Number", + "Color", + "Planet", + "God", + "Trigram", + "Hexagram", + "Cipher", + "CipherResult", + + # Data loader and functions + "CardDataLoader", + "calculate_digital_root", +] diff --git a/src/tarot/attributes.py b/src/tarot/attributes.py new file mode 100644 index 0000000..3485120 --- /dev/null +++ b/src/tarot/attributes.py @@ -0,0 +1,129 @@ +""" +Tarot card attributes and Kabbalistic data structures. + +This module re-exports shared attributes from utils and defines Tarot-specific +attribute classes for cards. +""" + +from dataclasses import dataclass +from typing import Optional + +# Re-export shared attributes from utils +from utils.attributes import ( + Element, + ElementType, + Number, + Color, + Colorscale, + Planet, + God, + Cipher, + CipherResult, + Perfume, + Note, + Meaning, +) + +# Re-export attributes from other modules for convenience/backward compatibility +from kaballah.attributes import ( + Sephera, + PeriodicTable, + TreeOfLife, + Correspondences, + Path, +) +from letter.attributes import ( + Letter, + EnglishAlphabet, + GreekAlphabet, + HebrewAlphabet, + DoublLetterTrump, + EnochianLetter, + EnochianSpirit, + EnochianTablet, + EnochianGridPosition, + EnochianArchetype, +) +from letter.iChing_attributes import ( + Trigram, + Hexagram, +) +from temporal.attributes import ( + Month, + Weekday, + Hour, + ClockHour, + Zodiac, + Degree, + AstrologicalInfluence, +) + +# Alias Day to Weekday for backward compatibility (Day in this context was Day of Week) +Day = Weekday + +__all__ = [ + # Re-exported from utils + "Element", + "ElementType", + "Number", + "Color", + "Colorscale", + "Planet", + "God", + "Cipher", + "CipherResult", + "Perfume", + "Note", + # Re-exported from kaballah + "Sephera", + "PeriodicTable", + "TreeOfLife", + "Correspondences", + "Path", + # Re-exported from letter + "Letter", + "EnglishAlphabet", + "GreekAlphabet", + "HebrewAlphabet", + "DoublLetterTrump", + "EnochianLetter", + "EnochianSpirit", + "EnochianTablet", + "EnochianGridPosition", + "EnochianArchetype", + # Re-exported from letter.iChing + "Trigram", + "Hexagram", + # Re-exported from temporal + "Month", + "Day", + "Weekday", + "Hour", + "ClockHour", + "Zodiac", + "Degree", + "AstrologicalInfluence", + # Tarot-core classes defined below + "Suit", + "Meaning", + "CardImage", +] + + +@dataclass +class Suit: + """Represents a tarot suit.""" + name: str + element: 'ElementType' + tarot_correspondence: str + number: int + + +@dataclass +class CardImage: + """Represents an image associated with a card.""" + filename: str + artist: str + deck_name: str + url: Optional[str] = None + diff --git a/src/tarot/card/__init__.py b/src/tarot/card/__init__.py new file mode 100644 index 0000000..5335df6 --- /dev/null +++ b/src/tarot/card/__init__.py @@ -0,0 +1,26 @@ +"""Card namespace - access Tarot cards and deck information.""" + +from .card import CardAccessor +from .details import CardDetailsRegistry +from .loader import ( + load_card_details, + load_deck_details, + get_cards_by_suit, + filter_cards_by_keywords, + print_card_details, + get_card_info, +) +from .image_loader import ImageDeckLoader, load_deck_images + +__all__ = [ + "CardAccessor", + "CardDetailsRegistry", + "load_card_details", + "load_deck_details", + "get_cards_by_suit", + "filter_cards_by_keywords", + "print_card_details", + "get_card_info", + "ImageDeckLoader", + "load_deck_images", +] diff --git a/src/tarot/card/card.py b/src/tarot/card/card.py new file mode 100644 index 0000000..ee322f1 --- /dev/null +++ b/src/tarot/card/card.py @@ -0,0 +1,331 @@ +""" +Tarot deck and card accessor module. + +Provides fluent access to Tarot cards through Tarot.deck namespace. + +Usage: + from tarot.card import Deck, Card + + card = Deck.card(3) # Get card 3 + cards = Deck.card.filter(arcana="Major") # Get all Major Arcana + cards = Deck.card.filter(arcana="Minor") # Get all Minor Arcana + cards = Deck.card.filter(suit="Cups") # Get all Cups + cards = Deck.card.filter(arcana="Minor", suit="Wands", pip=5) # 5 of Wands +""" + +from typing import List, Optional +from utils.filter import universal_filter, format_results +from utils.object_formatting import is_nested_object, get_object_attributes, format_value + + +class CardList(list): + """Custom list class for cards that formats nicely when printed.""" + + def __str__(self) -> str: + """Format card list for display.""" + if not self: + return "(no cards)" + return _format_cards(self) + + def __repr__(self) -> str: + """Return string representation.""" + return self.__str__() + + +def _format_cards(cards: List['Card']) -> str: + """ + Format a list of cards for user-friendly display. + + Args: + cards: List of Card objects to format + + Returns: + Formatted string with each card separated by blank lines + """ + from utils.object_formatting import is_nested_object, get_object_attributes, format_value + + lines = [] + for card in cards: + card_num = getattr(card, 'number', '?') + card_name = getattr(card, 'name', 'Unknown') + lines.append(f"--- {card_num}: {card_name} ---") + + # Format all attributes with proper nesting + for attr_name, attr_value in get_object_attributes(card): + if is_nested_object(attr_value): + lines.append(f" {attr_name}:") + lines.append(f" --- {attr_name.replace('_', ' ').title()} ---") + nested = format_value(attr_value, indent=4) + lines.append(nested) + else: + lines.append(f" {attr_name}: {attr_value}") + + lines.append("") # Blank line between items + + return "\n".join(lines) + + +class CardAccessor: + """ + Fluent accessor for Tarot cards in the deck. + + Usage: + Tarot.deck.card(3) # Get card 3 + Tarot.deck.card.filter(arcana="Major") # Get all Major Arcana + Tarot.deck.card.filter(arcana="Minor") # Get all Minor Arcana + Tarot.deck.card.filter(suit="Cups") # Get all Cups + Tarot.deck.card.filter(arcana="Minor", suit="Wands") # Get all Wand cards + Tarot.deck.card.display_filter(arcana="Major") # Display Major Arcana + """ + + _deck: Optional['Deck'] = None + _initialized: bool = False + + def _ensure_initialized(self) -> None: + """Lazy-load the Deck on first access.""" + if not self._initialized: + from tarot.deck import Deck as DeckClass + CardAccessor._deck = DeckClass() + CardAccessor._initialized = True + + def __call__(self, number: int) -> Optional['Card']: + """Get a card by number.""" + self._ensure_initialized() + if self._deck is None: + return None + for card in self._deck.cards: + if card.number == number: + return card + return None + + def filter(self, **kwargs) -> CardList: + """ + Filter cards by any Card attribute. + + Uses the universal filter from utils.filter for consistency + across the entire project. + + Args: + **kwargs: Any Card attribute with its value + + Usage: + Tarot.deck.card.filter(arcana="Major") + Tarot.deck.card.filter(arcana="Minor", suit="Cups") + Tarot.deck.card.filter(number=5) + Tarot.deck.card.filter(element="Fire") + Tarot.deck.card.filter(pip=3) + + Returns: + CardList of Card objects matching all filters + """ + self._ensure_initialized() + if self._deck is None: + return CardList() + return CardList(universal_filter(self._deck.cards, **kwargs)) + + def display_filter(self, **kwargs) -> str: + """ + Filter cards and display results nicely formatted. + + Combines filtering and formatting in one call. + + Args: + **kwargs: Any Card attribute with its value + + Returns: + Formatted string with filtered cards + + Example: + print(Tarot.deck.card.display_filter(arcana="Major")) + """ + results = self.filter(**kwargs) + return format_results(results) + + def display(self) -> str: + """ + Format all cards in the deck for user-friendly display. + + Returns a formatted string with each card separated by blank lines. + Nested objects are indented and separated with their own sections. + """ + self._ensure_initialized() + if self._deck is None: + return "(deck not initialized)" + return _format_cards(self._deck.cards) + + def __str__(self) -> str: + """Return the complete Tarot deck structure built from actual cards.""" + self._ensure_initialized() + if self._deck is None: + return "CardAccessor (deck not initialized)" + + lines = [ + "Tarot Deck Structure", + "=" * 60, + "", + "The 78-card Tarot deck organized by structure and correspondence:", + "", + ] + + # Build structure from actual cards + major_arcana = [c for c in self._deck.cards if c.arcana == "Major"] + minor_arcana = [c for c in self._deck.cards if c.arcana == "Minor"] + + # Major Arcana + if major_arcana: + lines.append(f"MAJOR ARCANA ({len(major_arcana)} cards):") + fool = next((c for c in major_arcana if c.number == 0), None) + world = next((c for c in major_arcana if c.number == 21), None) + if fool and world: + lines.append(f" Special Pair: {fool.name} ({fool.number}) - {world.name} ({world.number})") + + double_letter_trumps = [c for c in major_arcana if 3 <= c.number <= 21] + lines.append(f" Double Letter Trumps ({len(double_letter_trumps)} cards): Cards 3-21") + lines.append("") + + # Minor Arcana + if minor_arcana: + lines.append(f"MINOR ARCANA ({len(minor_arcana)} cards - 4 suits × 14 ranks):") + lines.append("") + + # Aces + aces = [c for c in minor_arcana if hasattr(c, 'pip') and c.pip == 1] + if aces: + lines.append(f" ACES ({len(aces)} cards - The Root Powers):") + for ace in aces: + suit_name = ace.suit.name if hasattr(ace.suit, 'name') else str(ace.suit) + lines.append(f" Ace of {suit_name}") + lines.append("") + + # Pips (2-10) + pips = [c for c in minor_arcana if hasattr(c, 'pip') and 2 <= c.pip <= 10] + if pips: + lines.append(f" PIPS ({len(pips)} cards - 2-10 of each suit):") + # Group by suit + suits_dict = {} + for pip in pips: + suit_name = pip.suit.name if hasattr(pip.suit, 'name') else str(pip.suit) + if suit_name not in suits_dict: + suits_dict[suit_name] = [] + suits_dict[suit_name].append(pip) + + for suit_name in ['Cups', 'Pentacles', 'Swords', 'Wands']: + if suit_name in suits_dict: + pip_nums = sorted([p.pip for p in suits_dict[suit_name]]) + lines.append(f" {suit_name}: {', '.join(str(n) for n in pip_nums)}") + lines.append("") + + # Court Cards + courts = [c for c in minor_arcana if hasattr(c, 'court_rank') and c.court_rank] + if courts: + lines.append(f" COURT CARDS ({len(courts)} cards - 4 ranks × 4 suits):") + # Get unique ranks and their order + rank_order = {"Knight": 0, "Prince": 1, "Princess": 2, "Queen": 3} + lines.append(" Rank order per suit: Knight, Prince, Princess, Queen") + lines.append("") + + # Group by suit + suits_dict = {} + for court in courts: + suit_name = court.suit.name if hasattr(court.suit, 'name') else str(court.suit) + if suit_name not in suits_dict: + suits_dict[suit_name] = [] + suits_dict[suit_name].append(court) + + for suit_name in ['Cups', 'Pentacles', 'Swords', 'Wands']: + if suit_name in suits_dict: + suit_courts = sorted(suits_dict[suit_name], + key=lambda c: rank_order.get(c.court_rank, 99)) + court_names = [c.court_rank for c in suit_courts] + lines.append(f" {suit_name}: {', '.join(court_names)}") + lines.append("") + + # Element correspondences + lines.append("SUIT CORRESPONDENCES:") + suits_info = {} + for card in minor_arcana: + if hasattr(card, 'suit') and card.suit: + suit_name = card.suit.name if hasattr(card.suit, 'name') else str(card.suit) + if suit_name not in suits_info: + # Extract element info + element_name = "Unknown" + if hasattr(card.suit, 'element') and card.suit.element: + if hasattr(card.suit.element, 'name'): + element_name = card.suit.element.name + else: + element_name = str(card.suit.element) + + # Extract zodiac signs + zodiac_signs = [] + if hasattr(card.suit, 'element') and card.suit.element: + if hasattr(card.suit.element, 'zodiac_signs'): + zodiac_signs = card.suit.element.zodiac_signs + + # Extract keywords + keywords = [] + if hasattr(card.suit, 'element') and card.suit.element: + if hasattr(card.suit.element, 'keywords'): + keywords = card.suit.element.keywords + + suits_info[suit_name] = { + 'element': element_name, + 'zodiac': zodiac_signs, + 'keywords': keywords + } + + for suit_name in ['Cups', 'Pentacles', 'Swords', 'Wands']: + if suit_name in suits_info: + info = suits_info[suit_name] + lines.append(f" {suit_name} ({info['element']}):") + if info['zodiac']: + lines.append(f" Zodiac: {', '.join(info['zodiac'])}") + if info['keywords']: + lines.append(f" Keywords: {', '.join(info['keywords'])}") + + + lines.append("") + lines.append(f"Total: {len(self._deck.cards)} cards") + + return "\n".join(lines) + + def __repr__(self) -> str: + """Return a nice representation of the deck accessor.""" + return self.__str__() + + def spread(self, spread_name: str) -> str: + """ + Draw a Tarot card reading for a spread. + + Automatically draws random cards for each position in the spread, + with random reversals. Returns formatted reading with card details. + + Args: + spread_name: Name of the spread (case-insensitive, underscores or spaces) + Examples: 'Celtic Cross', 'golden dawn', 'three_card', 'tree of life' + + Returns: + Formatted string with spread positions, drawn cards, and interpretations + + Raises: + ValueError: If spread name not found + + Examples: + print(Tarot.deck.card.spread('Celtic Cross')) + print(Tarot.deck.card.spread('golden dawn')) + print(Tarot.deck.card.spread('three card')) + print(Tarot.deck.card.spread('tree of life')) + """ + from tarot.card.spread import Spread, draw_spread, SpreadReading + + # Initialize deck if needed + self._ensure_initialized() + + # Create spread object + spread = Spread(spread_name) + + # Draw cards for the spread + drawn_cards = draw_spread(spread, self._deck.cards if self._deck else None) + + # Create and return reading + reading = SpreadReading(spread, drawn_cards) + return str(reading) diff --git a/src/tarot/card/data.py b/src/tarot/card/data.py new file mode 100644 index 0000000..a3fde08 --- /dev/null +++ b/src/tarot/card/data.py @@ -0,0 +1,1750 @@ +"""Data loader and numerology helpers for Tarot correspondences.""" + +from __future__ import annotations + +from dataclasses import dataclass, field +from datetime import datetime +from typing import Dict, List, Optional, TYPE_CHECKING, Union, overload + +from ..attributes import ( + EnglishAlphabet, GreekAlphabet, HebrewAlphabet, + Number, Color, Colorscale, Planet, Weekday, ClockHour, + Hexagram, Cipher, CipherResult, Sephera, ElementType, PeriodicTable, + Month, Day, God, Perfume, Path +) +from ..deck import Deck, Card + +if TYPE_CHECKING: + from ..deck import TemporalQuery + + +@dataclass(frozen=True) +class TemporalCorrespondence: + """Snapshot of Tarot correspondences for a particular moment in time.""" + + timestamp: datetime + weekday: Optional[Weekday] + clock_hour: Optional[ClockHour] + card: Card + planet: Optional[Planet] + number: Optional[Number] + color: Optional[Color] + letters: List[str] = field(default_factory=list) + hexagram: Optional[Hexagram] = None + + +def calculate_digital_root(value: int) -> int: + """ + Calculate the digital root of a number by repeatedly summing its digits. + + Digital root reduces any number to a single digit (1-9) by repeatedly + summing its digits until a single digit remains. + + Args: + value: The number to reduce to digital root + + Returns: + The digital root (1-9) + + Examples: + >>> calculate_digital_root(14) # 1+4 = 5 + 5 + >>> calculate_digital_root(99) # 9+9 = 18, 1+8 = 9 + 9 + >>> calculate_digital_root(5) + 5 + """ + if value < 1: + raise ValueError(f"Value must be positive, got {value}") + + while value >= 10: + value = sum(int(digit) for digit in str(value)) + + return value + + + + +class WordCipherRequest: + """Fluent helper for applying ciphers to a given word.""" + + def __init__(self, loader: 'CardDataLoader', text: str, default_alphabet: Optional[str] = None) -> None: + self._loader = loader + self._text = text + self._default_alphabet = default_alphabet + + def cipher(self, cipher_name: str, *, alphabet: Optional[str] = None) -> CipherResult: + """Apply the named cipher, optionally overriding the alphabet.""" + return self._loader._apply_cipher( + text=self._text, + cipher_name=cipher_name, + alphabet_name=alphabet or self._default_alphabet, + ) + + +class CardDataLoader: + """Provides access to all Kabbalistic data and card attributes.""" + + _numbers: Dict[int, Number] = {} + _colors: Dict[int, Color] = {} + _colorscales: Dict[int, Colorscale] = {} + _ciphers: Dict[str, Cipher] = {} + _alphabets: Dict[str, List] = {} + _sephera: Dict[int, Sephera] = {} + _planets: Dict[str, Planet] = {} + _weekdays: Dict[str, Weekday] = {} + _clock_hours: Dict[int, ClockHour] = {} + _elements: Dict[str, ElementType] = {} + _gods: Dict[str, God] = {} + _perfumes: Dict[str, Perfume] = {} + _paths: Dict[int, Path] = {} + _periodic_table: Dict[int, PeriodicTable] = {} + _initialized: bool = False + + def __init__(self) -> None: + """Initialize the data loader.""" + if not CardDataLoader._initialized: + self._load_all_data() + CardDataLoader._initialized = True + + @classmethod + def _load_all_data(cls) -> None: + """Load all Kabbalistic data.""" + cls._load_elements() + cls._load_sephera() + cls._load_colorscales() + cls._color() + cls._load_numbers() + cls._load_ciphers() + cls._load_alphabets() + cls._load_planets() + cls._load_periodic_table() + cls._load_weekdays() + cls._load_clock_hours() + cls._load_gods() + cls._load_perfumes() + cls._load_paths() + cls._attach_colorscales_to_paths() + cls._attach_path_correspondences() + + @classmethod + def _load_elements(cls) -> None: + """Load the five elemental types with Kabbalistic properties.""" + specs = [ + { + "name": "Fire", + "symbol": "△", + "direction": "South", + "polarity": "Active", + "color": "Red", + "tarot_suits": ["Wands"], + "zodiac_signs": ["Aries", "Leo", "Sagittarius"], + "keywords": ["Passion", "Will", "Energy", "Transformation"], + "description": "Pure creative drive and spiritual momentum." + }, + { + "name": "Water", + "symbol": "▽", + "direction": "West", + "polarity": "Passive", + "color": "Blue", + "tarot_suits": ["Cups"], + "zodiac_signs": ["Cancer", "Scorpio", "Pisces"], + "keywords": ["Emotion", "Intuition", "Receptivity", "Flow"], + "description": "Feeling, compassion, and subconscious depths." + }, + { + "name": "Air", + "symbol": "△ with line", + "direction": "East", + "polarity": "Active", + "color": "Yellow", + "tarot_suits": ["Swords"], + "zodiac_signs": ["Gemini", "Libra", "Aquarius"], + "keywords": ["Intellect", "Communication", "Clarity", "Thought"], + "description": "Mind, speech, and intellectual clarity." + }, + { + "name": "Earth", + "symbol": "▽ with line", + "direction": "North", + "polarity": "Passive", + "color": "Green", + "tarot_suits": ["Pentacles"], + "zodiac_signs": ["Taurus", "Virgo", "Capricorn"], + "keywords": ["Body", "Matter", "Manifestation", "Abundance"], + "description": "Physical form, material wealth, and grounding." + }, + { + "name": "Spirit", + "symbol": "•", + "direction": "Center", + "polarity": "Neutral", + "color": "White", + "tarot_suits": ["Major Arcana"], + "zodiac_signs": [], + "keywords": ["Unity", "Consciousness", "Transcendence", "Source"], + "description": "Quintessential synthesis transcending the four elements." + }, + ] + cls._elements = {} + for spec in specs: + name = spec.get("name") + if not name: + raise ValueError("Element spec missing 'name'") + cls._elements[name.lower()] = ElementType( + name=name, + symbol=spec.get("symbol", ""), + direction=spec.get("direction", ""), + polarity=spec.get("polarity", ""), + color=spec.get("color", ""), + tarot_suits=spec.get("tarot_suits", []), + zodiac_signs=spec.get("zodiac_signs", []), + keywords=spec.get("keywords", []), + description=spec.get("description", ""), + ) # type: ignore[arg-type] + + @classmethod + def _load_sephera(cls) -> None: + """Load the ten Sephiroth of the Tree of Life.""" + specs = [ + { + "number": 1, + "name": "Kether", + "hebrew_name": "כתר", + "meaning": "The Crown", + "archangel": "Metatron", + "order_of_angels": "Chayot ha Qodesh", + "mundane_chakra": "Primum Mobile", + }, + { + "number": 2, + "name": "Chokmah", + "hebrew_name": "חכמה", + "meaning": "Wisdom", + "archangel": "Ratziel", + "order_of_angels": "Auphanim", + "mundane_chakra": "Zodiac", + }, + { + "number": 3, + "name": "Binah", + "hebrew_name": "בינה", + "meaning": "Understanding", + "archangel": "Tzaphqiel", + "order_of_angels": "Aralim", + "mundane_chakra": "Saturn", + }, + { + "number": 4, + "name": "Chesed", + "hebrew_name": "חסד", + "meaning": "Mercy", + "archangel": "Tzadkiel", + "order_of_angels": "Hashmalim", + "mundane_chakra": "Jupiter", + }, + { + "number": 5, + "name": "Geburah", + "hebrew_name": "גבורה", + "meaning": "Strength", + "archangel": "Samael", + "order_of_angels": "Seraphim", + "mundane_chakra": "Mars", + }, + { + "number": 6, + "name": "Tiphereth", + "hebrew_name": "תפארת", + "meaning": "Beauty", + "archangel": "Raphael", + "order_of_angels": "Malachim", + "mundane_chakra": "Sun", + }, + { + "number": 7, + "name": "Netzach", + "hebrew_name": "נצח", + "meaning": "Victory", + "archangel": "Haniel", + "order_of_angels": "Tarshishim", + "mundane_chakra": "Venus", + }, + { + "number": 8, + "name": "Hod", + "hebrew_name": "הוד", + "meaning": "Splendor", + "archangel": "Michael", + "order_of_angels": "Beni Elohim", + "mundane_chakra": "Mercury", + }, + { + "number": 9, + "name": "Yesod", + "hebrew_name": "יסוד", + "meaning": "Foundation", + "archangel": "Gabriel", + "order_of_angels": "Cherubim", + "mundane_chakra": "Moon", + }, + { + "number": 10, + "name": "Malkuth", + "hebrew_name": "מלכות", + "meaning": "Kingdom", + "archangel": "Sandalphon", + "order_of_angels": "Ashim", + "mundane_chakra": "Earth", + }, + ] + for spec in specs: + number = spec.get("number") + name = spec.get("name") + if number is None or not name: + raise ValueError("Sephera spec missing required fields") + self_hebrew = spec.get("hebrew_name", "") + self_meaning = spec.get("meaning", "") + self_archangel = spec.get("archangel", "") + self_order = spec.get("order_of_angels", "") + self_mundane = spec.get("mundane_chakra", "") + cls._sephera[number] = Sephera( + number=number, + name=name, + hebrew_name=self_hebrew, + meaning=self_meaning, + archangel=self_archangel, + order_of_angels=self_order, + mundane_chakra=self_mundane, + element=None, + planetary_ruler=None, + tarot_trump=None, + ) + + @classmethod + def _load_colorscales(cls) -> None: + """Load Golden Dawn color scales for Sephiroth and Paths.""" + # 10 Sephiroth color scales + sephera_colorscales = [ + ("Kether", 1, "Brilliance", "White brilliance", "White brilliance", "White flecked gold", "Concealed Light"), + ("Chokmah", 2, "Pure soft blue", "Grey", "Blue pearl grey", "White flecked red, blue, yellow", "Sky Blue"), + ("Binah", 3, "Crimson", "Black", "Dark brown", "Grey flecked pink", "Yellow"), + ("Chesed", 4, "Deep violet", "Blue", "Deep purple", "Deep azure flecked yellow", "White"), + ("Geburah", 5, "Orange", "Scarlet red", "Bright scarlet", "Red flecked black", "Red"), + ("Tiphareth", 6, "Clear pink rose", "Yellow (gold)", "Rich salmon", "Gold amber", "White-red"), + ("Netzach", 7, "Amber", "Emerald", "Bright yellow green", "Olive flecked gold", "Whitish-red"), + ("Hod", 8, "Violet purple", "Orange", "Red-russet", "Yellow-brown flecked white", "Reddish-white"), + ("Yesod", 9, "Indigo", "Violet", "Very dark purple", "Citrine flecked azure", "White-red-whitish-red-reddish-white"), + ("Malkuth", 10, "Yellow", "Citrine, olive, russet, black", "Citrine, olive, russet, black flecked gold", "Black rayed yellow", "Light reflecting all colours"), + ] + + for name, number, king, queen, emperor, empress, sephirotic in sephera_colorscales: + colorscale = Colorscale( + name=name, + number=number, + king_scale=king, + queen_scale=queen, + emperor_scale=emperor, + empress_scale=empress, + sephirotic_color=sephirotic, + type="Sephira", + ) + cls._colorscales[number] = colorscale + # Update the sephera in _sephera dict with colorscale + if number in cls._sephera: + seph = cls._sephera[number] + # Create a new Sephera with the colorscale attached + new_seph = Sephera( + number=seph.number, + name=seph.name, + hebrew_name=seph.hebrew_name, + meaning=seph.meaning, + archangel=seph.archangel, + order_of_angels=seph.order_of_angels, + mundane_chakra=seph.mundane_chakra, + element=seph.element, + planetary_ruler=seph.planetary_ruler, + tarot_trump=seph.tarot_trump, + colorscale=colorscale, + ) + cls._sephera[number] = new_seph + + # 22 Paths color scales (numbers 11-32) + path_colorscales = [ + ("Aleph", 11, "Bright pale yellow", "Sky blue", "Blue emerald green", "Emerald flecked gold"), + ("Beth", 12, "Yellow", "Purple", "Grey", "Indigo rayed violet"), + ("Gimel", 13, "Blue", "Silver", "Cold pale blue", "Silver rayed sky-blue"), + ("Daleth", 14, "Emerald green", "Sky blue", "Early spring green", "Bright rose or cerise rayed pale yellow"), + ("He", 15, "Scarlet", "Red", "Brilliant flame", "Glowing red"), + ("Vau", 16, "Red orange", "Deep indigo", "Deep warm olive", "Rich brown"), + ("Zain", 17, "Orange", "Pale Mauve", "New yellow leather", "Reddish grey inclined to mauve"), + ("Cheth", 18, "Amber", "Maroon", "Rich bright russet", "Dark greenish brown"), + ("Teth", 19, "Yellow, greenish", "Deep purple", "Grey", "Reddish amber"), + ("Yod", 20, "Green, yellowish", "Slate grey", "Green grey", "Plum"), + ("Kaph", 21, "Violet", "Blue", "Rich purple", "Bright blue rayed yellow"), + ("Lamed", 22, "Emerald Green", "Blue", "Deep Blue-green", "Pale green"), + ("Mem", 23, "Deep blue", "Sea-green", "Deep olive-green", "White flecked purple"), + ("Nun", 24, "Green blue", "Dull brown", "Very dark brown", "Livid indigo brown"), + ("Samekh", 25, "Blue", "Yellow", "Green", "Dark vivid blue"), + ("Ayin", 26, "Indigo", "Black", "Blue black", "Cold dark grey, near black"), + ("Pe", 27, "Scarlet", "Red", "Venetian red", "Bright red rayed azure or emerald"), + ("Tzaddi", 28, "Crimson (ultra violet)", "Sky blue", "Blueish mauve", "White tinged purple"), + ("Qoph", 29, "Violet", "Buff flecked silver-white", "Light translucent pinksh brown", "Stone color"), + ("Resh", 30, "Orange", "Gold yellow", "Rich amber", "Amber rayed red"), + ("Shin", 31, "Glowing orange scarlet", "Vermilion", "Scarlet flecked gold", "Vermilion flecked crimson & emerald"), + ("Tau", 32, "Indigo", "Black", "Blue black", "Black rayed blue"), + ] + + for name, number, king, queen, emperor, empress in path_colorscales: + colorscale = Colorscale( + name=f"Path of {name}", + number=number, + king_scale=king, + queen_scale=queen, + emperor_scale=emperor, + empress_scale=empress, + type="Path", + ) + cls._colorscales[number] = colorscale + # Update the path in _paths dict with colorscale (paths are loaded after this) + # so we'll do this in _attach_colorscales_to_paths() after paths are loaded + + @classmethod + def _load_periodic_table(cls) -> None: + """Load Sephirothic periodic table with cross-correspondences.""" + specs = [ + { + "number": 1, + "name": "Unity", + "element": "Spirit", + "sephera_number": 1, + "planet": "None", + "tarot_trump": "0 - The Fool", + "keywords": ["Potential", "Source", "Being"], + }, + { + "number": 2, + "name": "Duality", + "element": "Fire", + "sephera_number": 2, + "planet": "None", + "tarot_trump": "I - The Magician", + "keywords": ["Polarity", "Will", "Masculine"], + }, + { + "number": 3, + "name": "Triad", + "element": "Water", + "sephera_number": 3, + "planet": "None", + "tarot_trump": "II - The High Priestess", + "keywords": ["Understanding", "Receptivity", "Feminine"], + }, + { + "number": 4, + "name": "Stability", + "element": "Water", + "sephera_number": 4, + "planet": "Jupiter", + "tarot_trump": "IV - The Emperor", + "keywords": ["Foundation", "Order", "Justice"], + }, + { + "number": 5, + "name": "Severity", + "element": "Fire", + "sephera_number": 5, + "planet": "Mars", + "tarot_trump": "V - The Hierophant", + "keywords": ["Strength", "Power", "Discipline"], + }, + { + "number": 6, + "name": "Equilibrium", + "element": "Air", + "sephera_number": 6, + "planet": "Sun", + "tarot_trump": "VI - The Lovers", + "keywords": ["Balance", "Integration", "Self"], + }, + { + "number": 7, + "name": "Desire", + "element": "Water", + "sephera_number": 7, + "planet": "Venus", + "tarot_trump": "VII - The Chariot", + "keywords": ["Passion", "Victory", "Art"], + }, + { + "number": 8, + "name": "Intellect", + "element": "Air", + "sephera_number": 8, + "planet": "Mercury", + "tarot_trump": "VIII - Strength", + "keywords": ["Wisdom", "Communication", "Logic"], + }, + { + "number": 9, + "name": "Foundation", + "element": "Air", + "sephera_number": 9, + "planet": "Moon", + "tarot_trump": "IX - The Hermit", + "keywords": ["Dreams", "Subconscious", "Imagination"], + }, + { + "number": 10, + "name": "Kingdom", + "element": "Earth", + "sephera_number": 10, + "planet": "Earth", + "tarot_trump": "X - Wheel of Fortune", + "keywords": ["Matter", "Manifestation", "Completion"], + }, + ] + for spec in specs: + entry_number = spec.get("number") + name = spec.get("name") + element = spec.get("element") + planet = spec.get("planet") + sephera_number = spec.get("sephera_number") + if entry_number is None or not name: + raise ValueError("Periodic table spec missing required fields") + sephera = cls._sephera.get(sephera_number) if sephera_number else None + element = cls._elements.get(element.lower()) if element else None + planet = ( + cls._planets.get(planet.lower()) + if planet and planet.lower() != "none" + else None + ) + number = cls._numbers.get(entry_number) + color = number.color if number else None + + cls._periodic_table[entry_number] = PeriodicTable( + number=entry_number, + name=name, + sephera=sephera, + element=element, + planet=planet, + color=color, + tarot_trump=spec.get("tarot_trump"), + hebrew_letter=None, + archangel=sephera.archangel if sephera else None, + order_of_angels=sephera.order_of_angels if sephera else None, + keywords=spec.get("keywords", []), + ) # type: ignore[arg-type] + + @classmethod + def _color(cls) -> None: + """Load Crowley 777 colors for all 10 Sephiroth.""" + cls._colors = { + 1: Color("White", "#FFFFFF", (255, 255, 255), "Kether", 1, "Spirit", "Atziluth", "Pure being", ["0 - The Fool"]), + 2: Color("Grey", "#808080", (128, 128, 128), "Chokmah", 2, "Fire", "Atziluth", "Pure creative force", ["I - The Magician"]), + 3: Color("Black", "#000000", (0, 0, 0), "Binah", 3, "Water", "Atziluth", "Receptive understanding", ["II - The High Priestess"]), + 4: Color("Violet", "#EE82EE", (238, 130, 238), "Chesed", 4, "Water", "Briah", "Mercy and expansion", ["IV - The Emperor"]), + 5: Color("Red Scarlet", "#FF0000", (255, 0, 0), "Gevurah", 5, "Fire", "Briah", "Strength and severity", ["V - The Hierophant"]), + 6: Color("Gold", "#FFD700", (255, 215, 0), "Tiphareth", 6, "Fire", "Yetzirah", "Beauty and harmony", ["VI - The Lovers", "XIX - The Sun"]), + 7: Color("Green Emerald", "#50C878", (80, 200, 120), "Netzach", 7, "Water", "Yetzirah", "Victory and creativity", ["VII - The Chariot"]), + 8: Color("Yellow", "#FFFF00", (255, 255, 0), "Hod", 8, "Air", "Yetzirah", "Intellect and communication", ["VIII - Strength"]), + 9: Color("Violet Purple", "#9400D3", (148, 0, 211), "Yesod", 9, "Air", "Assiah", "Dreams and subconscious", ["XVII - The Star"]), + 10: Color("Russet Citrine Olive", "#8B4513", (139, 69, 19), "Malkuth", 10, "Earth", "Assiah", "Material manifestation", ["XXI - The World"]), + } + + @classmethod + def _load_numbers(cls) -> None: + """Load numbers 1-9 with Kabbalistic attributes dynamically from Sephera.""" + cls._numbers = {} + + # Build Number objects dynamically from Sephera data (1-9 map to Sephera 1-9) + for num in range(1, 10): + sephera = cls._sephera.get(num) + periodic = cls._periodic_table.get(num) + color = cls._colors.get(num) + + if sephera: + # Calculate compliment (1↔8, 2↔7, 3↔6, 4↔5, 9↔9) + compliment = 9 - num if num != 9 else 9 + + # Get element from Periodic Table + element_name = periodic.element.name if periodic and periodic.element else "Spirit" + + cls._numbers[num] = Number( + value=num, + sephera=sephera.name, + element=element_name, + compliment=compliment, + color=color, + ) + + @classmethod + def _load_ciphers(cls) -> None: + """Load cipher patterns independent of alphabet association.""" + cipher_specs = [ + { + "key": "hebrew_standard", + "name": "Hebrew Standard Cipher", + "pattern": [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 20, 30, 40, 50, 60, 70, 80, 90, + 100, 200, 300, 400, + ], + "default_alphabet": "hebrew", + }, + { + "key": "english_simple", + "name": "English Simple Cipher", + "pattern": list(range(1, 27)), + "default_alphabet": "english", + }, + { + "key": "greek_isopsephy", + "name": "Greek Isopsephy Cipher", + "pattern": [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 20, 30, 40, 50, 60, 70, 80, 90, + 100, 200, 300, 400, 500, 600, 700, 800, + ], + "default_alphabet": "greek", + }, + { + "key": "kabbalah_three_mother", + "name": "Kabbalistic Three Mother Cipher", + "pattern": [1, 40, 300], + "default_alphabet": "hebrew", + "letter_subset": ["א", "מ", "ש"], + }, + { + "key": "reduction", + "name": "Pythagorean Reduction Cipher", + "pattern": [1, 2, 3, 4, 5, 6, 7, 8, 9], + "default_alphabet": "english", + "cycle": True, + }, + ] + cls._ciphers = {} + for spec in cipher_specs: + subset = spec.get("letter_subset") + key = spec["key"].lower() + cls._ciphers[key] = Cipher( + name=spec["name"], + key=key, + pattern=spec["pattern"], + cycle=spec.get("cycle", False), + default_alphabet=spec.get("default_alphabet"), + letter_subset=set(subset) if subset else None, + description=spec.get("description", ""), + ) + + @classmethod + def _load_alphabets(cls) -> None: + """Load all alphabets (English, Greek, Hebrew).""" + hebrew_specs = [ + ("א", "Aleph"), + ("ב", "Beth"), + ("ג", "Gimel"), + ("ד", "Daleth"), + ("ה", "Heh"), + ("ו", "Vav"), + ("ז", "Zayin"), + ("ח", "Cheth"), + ("ט", "Teth"), + ("י", "Yod"), + ("כ", "Kaph"), + ("ל", "Lamed"), + ("מ", "Mem"), + ("נ", "Nun"), + ("ס", "Samekh"), + ("ע", "Ayin"), + ("פ", "Pe"), + ("צ", "Tzaddi"), + ("ק", "Qoph"), + ("ר", "Resh"), + ("ש", "Shin"), + ("ת", "Tav"), + ] + + cls._alphabets = { + "english": [ + EnglishAlphabet(chr(65 + i), i + 1, "Standard phonetic") + for i in range(26) + ], + "greek": [ + GreekAlphabet(chr(0x0391 + i) if i < 17 else chr(0x03A3 + i - 17), + i + 1, f"Greek_{i+1}") + for i in range(24) + ], + "hebrew": [ + HebrewAlphabet(letter, idx + 1, name, f"Meaning_{idx + 1}") + for idx, (letter, name) in enumerate(hebrew_specs) + ] + } + + @classmethod + def _load_planets(cls) -> None: + """Load planetary correspondences with references to numbers and colors.""" + specs = [ + { + "name": "Sun", + "symbol": "☉", + "element": "Fire", + "ruling_zodiac": ["Leo"], + "numbers": [6], + "letters": ["Resh"], + "keywords": ["Vitality", "Consciousness", "Integration"], + "description": "Centering principle that radiates will and creativity.", + }, + { + "name": "Moon", + "symbol": "☾", + "element": "Water", + "ruling_zodiac": ["Cancer"], + "numbers": [9], + "letters": ["Gimel"], + "keywords": ["Reflection", "Dreams", "Cycles"], + "description": "Instinctual, reflective, and subconscious currents.", + }, + { + "name": "Mercury", + "symbol": "☿", + "element": "Air", + "ruling_zodiac": ["Gemini", "Virgo"], + "numbers": [8], + "letters": ["Beth"], + "keywords": ["Communication", "Analysis", "Movement"], + "description": "Messenger force linking ideas, language, and commerce.", + }, + { + "name": "Venus", + "symbol": "♀", + "element": "Water", + "ruling_zodiac": ["Taurus", "Libra"], + "numbers": [7], + "letters": ["Daleth"], + "keywords": ["Harmony", "Beauty", "Attraction"], + "description": "Creative cohesion through art, love, and receptivity.", + }, + { + "name": "Mars", + "symbol": "♂", + "element": "Fire", + "ruling_zodiac": ["Aries", "Scorpio"], + "numbers": [5], + "letters": ["Pe"], + "keywords": ["Assertion", "Courage", "Catalyst"], + "description": "Force of action that tests limits and forges change.", + }, + { + "name": "Jupiter", + "symbol": "♃", + "element": "Air", + "ruling_zodiac": ["Sagittarius", "Pisces"], + "numbers": [4], + "letters": ["Kaph"], + "keywords": ["Expansion", "Wisdom", "Benevolence"], + "description": "Amplifying principle that seeks growth and meaning.", + }, + { + "name": "Saturn", + "symbol": "♄", + "element": "Earth", + "ruling_zodiac": ["Capricorn", "Aquarius"], + "numbers": [3], + "letters": ["Tav"], + "keywords": ["Structure", "Discipline", "Time"], + "description": "Form-giving boundary that crystallizes responsibility.", + }, + { + "name": "Earth", + "symbol": "🜃", + "element": "Earth", + "ruling_zodiac": ["All"], + "numbers": [10], + "letters": ["Heh Final"], + "keywords": ["Manifestation", "Matter", "Stability"], + "description": "Physical plane of expression and culmination.", + }, + ] + cls._planets = {} + for spec in specs: + name = spec.get("name") + if not name: + raise ValueError("Planet spec missing 'name'") + number_refs = spec.get("numbers", []) + numbers: List[Number] = [] + for num in number_refs: + number = cls._numbers.get(num) + if number is not None: + numbers.append(number) + color_key = number_refs[0] if number_refs else None + color_ref = cls._colors.get(color_key) if color_key is not None else None + cls._planets[name.lower()] = Planet( + name=name, + symbol=spec.get("symbol", ""), + element=spec.get("element", ""), + ruling_zodiac=spec.get("ruling_zodiac", []), + associated_numbers=numbers, + associated_letters=spec.get("letters", []), + keywords=spec.get("keywords", []), + color=color_ref, + description=spec.get("description", ""), + ) + + @staticmethod + def _card_for_moment(moment: datetime) -> Card: + """Return a deterministic card for the provided datetime.""" + deck = Deck() + minutes_since_year_start = ( + (moment.timetuple().tm_yday - 1) * 24 * 60 + + moment.hour * 60 + + moment.minute + ) + index = minutes_since_year_start % len(deck.cards) + return deck.cards[index] + + @classmethod + def _load_weekdays(cls) -> None: + """Load weekdays/weekends with planetary ties.""" + specs = [ + {"number": 1, "name": "Monday", "planet": "Moon", "is_weekend": False, "keywords": ["Reflection", "Cycles", "Dreams"]}, + {"number": 2, "name": "Tuesday", "planet": "Mars", "is_weekend": False, "keywords": ["Action", "Courage", "Heat"]}, + {"number": 3, "name": "Wednesday", "planet": "Mercury", "is_weekend": False, "keywords": ["Communication", "Commerce", "Adapt"]}, + {"number": 4, "name": "Thursday", "planet": "Jupiter", "is_weekend": False, "keywords": ["Expansion", "Teaching", "Grace"]}, + {"number": 5, "name": "Friday", "planet": "Venus", "is_weekend": False, "keywords": ["Love", "Beauty", "Harmony"]}, + {"number": 6, "name": "Saturday", "planet": "Saturn", "is_weekend": True, "keywords": ["Discipline", "Boundaries", "Structure"]}, + {"number": 7, "name": "Sunday", "planet": "Sun", "is_weekend": True, "keywords": ["Vitality", "Renewal", "Community"]}, + ] + cls._weekdays = {} + for spec in specs: + name = spec.get("name") + number = spec.get("number") + planet = spec.get("planet") + if not name or number is None or not planet: + raise ValueError("Weekday spec missing required fields") + cls._weekdays[name.lower()] = Weekday( + number=number, + name=name, + planetary_correspondence=planet, + is_weekend=spec.get("is_weekend", False), + keywords=spec.get("keywords", []), + ) + + @classmethod + def _load_clock_hours(cls) -> None: + """Load a 24-hour clock table with AM/PM designations.""" + chaldean_order = ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon"] + cls._clock_hours = {} + for hour in range(24): + period = "AM" if hour < 12 else "PM" + hour_12 = hour % 12 or 12 + planet = chaldean_order[hour % len(chaldean_order)] + emphasis_map = { + "Saturn": "discipline", + "Jupiter": "vision", + "Mars": "courage", + "Sun": "radiance", + "Venus": "attraction", + "Mercury": "intellect", + "Moon": "intuition", + } + description = f"Hour ruled by {planet} emphasizing {emphasis_map.get(planet, 'balance')}." + cls._clock_hours[hour] = ClockHour( + hour_24=hour, + hour_12=hour_12, + period=period, + planetary_ruler=planet, + description=description, + ) + + + @classmethod + def _load_gods(cls) -> None: + """Load a unified god registry spanning Egyptian, Greek, and Roman pantheons.""" + specs = [ + { + "name": "Ptah", + "culture": "Egyptian", + "pantheon": "Memphite", + "domains": ["Creation", "Craftsmanship", "Intelligence"], + "epithets": ["Creator of All", "Father of the Gods"], + "mythology": "Primordial creator who brought forth all existence through spoken word.", + "sephera_numbers": [1], + "elements": ["Spirit"], + }, + { + "name": "Nuith", + "culture": "Egyptian", + "pantheon": "Thelemic", + "domains": ["Sky", "Infinity", "Wisdom"], + "epithets": ["Star Goddess", "Infinite Mother"], + "mythology": "Sky goddess representing boundless expansion and cosmic wisdom.", + "sephera_numbers": [2], + "elements": ["Air"], + }, + { + "name": "Maut", + "culture": "Egyptian", + "pantheon": "Theban", + "domains": ["Understanding", "Matter", "Manifestation"], + "epithets": ["Mother of All", "Cosmic Womb"], + "mythology": "Great mother goddess embodying the receptive principle of manifestation.", + "sephera_numbers": [3], + "planets": ["Saturn"], + "elements": ["Water"], + "tarot_trumps": ["II - The Priestess"], + }, + { + "name": "Amoun", + "culture": "Egyptian", + "pantheon": "Theban", + "domains": ["Mercy", "Providence", "Prosperity"], + "epithets": ["The Hidden One", "King of Gods"], + "mythology": "Hidden supreme force channeling mercy and abundance to all beings.", + "sephera_numbers": [4], + "planets": ["Jupiter"], + "elements": ["Water"], + "tarot_trumps": ["IV - The Emperor"], + }, + { + "name": "Horus", + "culture": "Egyptian", + "pantheon": "Solar", + "domains": ["Strength", "War", "Justice"], + "epithets": ["The Mighty One", "Avenger"], + "mythology": "Warrior god embodying divine justice and forceful manifestation.", + "sephera_numbers": [5], + "planets": ["Mars"], + "elements": ["Fire"], + "tarot_trumps": ["XVI - The Tower"], + }, + { + "name": "Ra", + "culture": "Egyptian", + "pantheon": "Solar", + "domains": ["Beauty", "Consciousness", "Solar Force"], + "epithets": ["Sun God", "Divine Child", "Daily Renewal"], + "mythology": "Solar deity representing the conscious self and daily renewal of spirit.", + "sephera_numbers": [6], + "planets": ["Sun"], + "elements": ["Fire"], + "tarot_trumps": ["XIX - The Sun"], + }, + { + "name": "Hathoor", + "culture": "Egyptian", + "pantheon": "Solar", + "domains": ["Victory", "Love", "Passion"], + "epithets": ["Lady of Love", "Mistress of Dance"], + "mythology": "Goddess of love, joy, and victory through emotional connection.", + "sephera_numbers": [7], + "planets": ["Venus"], + "elements": ["Water"], + "tarot_trumps": ["III - The Empress"], + }, + { + "name": "Thoth", + "culture": "Egyptian", + "pantheon": "Hermopolitan", + "domains": ["Splendor", "Intellect", "Writing"], + "epithets": ["The Scribe", "Master of Wisdom"], + "mythology": "God of wisdom, writing, and intellectual mastery of all knowledge.", + "sephera_numbers": [8], + "planets": ["Mercury"], + "elements": ["Air"], + "tarot_trumps": ["I - The Magus"], + "path_numbers": [12], + }, + { + "name": "Shu", + "culture": "Egyptian", + "pantheon": "Heliopolitan", + "domains": ["Foundation", "Air", "Clarity"], + "epithets": ["The Lifter", "Wind God"], + "mythology": "God of air and clarity, lifting consciousness between states of being.", + "sephera_numbers": [9], + "elements": ["Air"], + "planets": ["Moon"], + "path_numbers": [11], + }, + { + "name": "Seb", + "culture": "Egyptian", + "pantheon": "Heliopolitan", + "domains": ["Kingdom", "Earth", "Manifestation"], + "epithets": ["Earth God", "The Solid One"], + "mythology": "God of the earth, providing solid foundation for all physical manifestation.", + "sephera_numbers": [10], + "planets": ["Earth"], + "elements": ["Earth"], + "path_numbers": [32], + }, + { + "name": "Apollo", + "culture": "Greek", + "pantheon": "Olympian", + "domains": ["Prophecy", "Music", "Healing", "Light"], + "epithets": ["Phoebus", "Far-shooter"], + "planets": ["Sun"], + "elements": ["Fire"], + "description": "Solar consciousness integrating harmony and order per Liber 777.", + "tarot_trumps": ["XIX - The Sun"], + }, + { + "name": "Artemis", + "culture": "Greek", + "pantheon": "Olympian", + "domains": ["Cycles", "Protection", "Hunt", "Mysteries"], + "epithets": ["Selene", "Torch-Bearer"], + "planets": ["Moon"], + "elements": ["Water"], + "tarot_trumps": ["II - The Priestess"], + }, + { + "name": "Hermes", + "culture": "Greek", + "pantheon": "Olympian", + "domains": ["Messages", "Alchemy", "Commerce", "Travel"], + "epithets": ["Trismegistus", "Psychopomp"], + "planets": ["Mercury"], + "elements": ["Air"], + "tarot_trumps": ["I - The Magus"], + }, + { + "name": "Aphrodite", + "culture": "Greek", + "pantheon": "Olympian", + "domains": ["Attraction", "Beauty", "Artists", "Union"], + "epithets": ["Pandemos", "Anadyomene"], + "planets": ["Venus"], + "elements": ["Water"], + "tarot_trumps": ["III - The Empress"], + }, + { + "name": "Ares", + "culture": "Greek", + "pantheon": "Olympian", + "domains": ["Conflict", "Courage", "Blood", "Guardianship"], + "epithets": ["Enyalius"], + "planets": ["Mars"], + "elements": ["Fire"], + "tarot_trumps": ["XVI - The Tower"], + }, + { + "name": "Zeus", + "culture": "Greek", + "pantheon": "Olympian", + "domains": ["Thunder", "Law", "Kingship", "Abundance"], + "epithets": ["Olympios", "Xenios"], + "planets": ["Jupiter"], + "elements": ["Air"], + "tarot_trumps": ["X - Wheel of Fortune"], + }, + { + "name": "Cronus", + "culture": "Greek", + "pantheon": "Titan", + "domains": ["Time", "Harvest", "Cycles", "Thresholds"], + "epithets": ["Lord of the Boundaries"], + "planets": ["Saturn"], + "elements": ["Earth"], + "tarot_trumps": ["XXI - The Universe"], + }, + { + "name": "Gaia", + "culture": "Greek", + "pantheon": "Primordial", + "domains": ["Fertility", "Stability", "All Life"], + "epithets": ["World Mother"], + "planets": ["Earth"], + "elements": ["Earth"], + "tarot_trumps": ["XXI - The Universe"], + }, + { + "name": "Sol", + "culture": "Roman", + "pantheon": "Imperial", + "domains": ["Sovereignty", "Vitality", "Clarity"], + "epithets": ["Invictus"], + "planets": ["Sun"], + "elements": ["Fire"], + }, + { + "name": "Diana", + "culture": "Roman", + "pantheon": "Imperial", + "domains": ["Moonlight", "Hunt", "Childbirth"], + "epithets": ["Lucifera"], + "planets": ["Moon"], + "elements": ["Water"], + }, + { + "name": "Mercury", + "culture": "Roman", + "pantheon": "Imperial", + "domains": ["Trade", "Negotiation", "Speed"], + "epithets": ["Argeiphontes"], + "planets": ["Mercury"], + "elements": ["Air"], + }, + { + "name": "Venus", + "culture": "Roman", + "pantheon": "Imperial", + "domains": ["Love", "Gardens", "Magnetism"], + "epithets": ["Genetrix"], + "planets": ["Venus"], + "elements": ["Water"], + }, + { + "name": "Mars", + "culture": "Roman", + "pantheon": "Imperial", + "domains": ["Military", "Discipline", "Defense"], + "epithets": ["Gradivus"], + "planets": ["Mars"], + "elements": ["Fire"], + }, + { + "name": "Jupiter", + "culture": "Roman", + "pantheon": "Imperial", + "domains": ["Oaths", "Weather", "Senate"], + "epithets": ["Optimus Maximus"], + "planets": ["Jupiter"], + "elements": ["Air"], + }, + { + "name": "Saturn", + "culture": "Roman", + "pantheon": "Imperial", + "domains": ["Agriculture", "Ages", "Structure"], + "epithets": ["Senex"], + "planets": ["Saturn"], + "elements": ["Earth"], + }, + { + "name": "Terra", + "culture": "Roman", + "pantheon": "Imperial", + "domains": ["Soil", "Abundance", "Protection"], + "epithets": ["Mater"], + "planets": ["Earth"], + "elements": ["Earth"], + }, + ] + + cls._gods = {} + for spec in specs: + name = spec.get("name") + culture = spec.get("culture") + pantheon = spec.get("pantheon", culture or "") + if not name or not culture: + continue + sephera_numbers = spec.get("sephera_numbers", []) + path_numbers = spec.get("path_numbers", []) + planets = spec.get("planets", []) + elements = list(spec.get("elements", [])) + zodiac_signs = list(spec.get("zodiac_signs", [])) + associated_planet = None + associated_numbers: List[Number] = [] + if planets: + planet = cls._planets.get(planets[0].lower()) + if planet: + associated_planet = planet + associated_numbers = list(planet.associated_numbers) + if not elements and planet.element: + elements = [planet.element] + if not zodiac_signs: + zodiac_signs = list(planet.ruling_zodiac) + associated_element = None + if elements: + element_ref = cls._elements.get(elements[0].lower()) + if element_ref: + associated_element = element_ref + god = God( + name=name, + culture=culture, + pantheon=pantheon, + domains=spec.get("domains", []), + epithets=spec.get("epithets", []), + mythology=spec.get("mythology", spec.get("description", "")), + sephera_numbers=sephera_numbers, + path_numbers=path_numbers, + planets=planets, + elements=elements, + zodiac_signs=zodiac_signs, + associated_planet=associated_planet, + associated_element=associated_element, + associated_numbers=associated_numbers, + tarot_trumps=spec.get("tarot_trumps", []), + keywords=spec.get("keywords", []), + description=spec.get("description", spec.get("mythology", "")), + ) # type: ignore[arg-type] + cls._gods[name.lower()] = god + + @classmethod + def _attach_colorscales_to_paths(cls) -> None: + """Attach colorscales to paths after they are loaded.""" + for path_number, colorscale in list(cls._colorscales.items()): + if path_number in cls._paths and colorscale.type == "Path": + path = cls._paths[path_number] + # Create a new Path with the colorscale + cls._paths[path_number] = Path( + number=path.number, + hebrew_letter=path.hebrew_letter, + transliteration=path.transliteration, + tarot_trump=path.tarot_trump, + sephera_from=path.sephera_from, + sephera_to=path.sephera_to, + element=path.element, + planet=path.planet, + zodiac_sign=path.zodiac_sign, + colorscale=colorscale, + perfumes=path.perfumes, + gods=path.gods, + keywords=path.keywords, + description=path.description, + ) + + @classmethod + def _attach_path_correspondences(cls) -> None: + """Populate each Path container with its associated gods and perfumes.""" + if not cls._paths: + return + + for path in cls._paths.values(): + path.perfumes.clear() + path.gods.clear() + + for perfume in cls._perfumes.values(): + if perfume.path_number is None: + continue + path = cls._paths.get(perfume.path_number) + if path is not None: + path.add_perfume(perfume) + + god_entries = list(cls._gods.values()) + for path in cls._paths.values(): + sephera_numbers = [ + path.sephera_from.number if path.sephera_from else None, + path.sephera_to.number if path.sephera_to else None, + ] + element_name = path.element.name if path.element else None + planet_name = path.planet.name if path.planet else None + zodiac_sign = path.zodiac_sign + + for god in god_entries: + if path.number in god.path_numbers: + path.add_god(god) + continue + if planet_name and any(planet_name.lower() == p.lower() for p in god.planets): + path.add_god(god) + if element_name and any(element_name.lower() == e.lower() for e in god.elements): + path.add_god(god) + if zodiac_sign and any(zodiac_sign.lower() == z.lower() for z in god.zodiac_signs): + path.add_god(god) + if any(num is not None and num in god.sephera_numbers for num in sephera_numbers): + path.add_god(god) + + @classmethod + def _load_perfumes(cls) -> None: + """Load perfume/incense correspondences for Sephiroth and Paths.""" + specs = [ + # Sephiroth perfumes (Liber 777, Column XLII) + {"name": "Ambergris", "sephera": 1, "element": None, "scent": "Warm, animalic, oceanic", "magical_uses": ["Consecration", "Elevation", "Crown work"]}, + {"name": "Musk", "sephera": 2, "element": None, "scent": "Dense, earthy, masculine", "magical_uses": ["Wisdom work", "Sexuality", "Primal force"]}, + {"name": "Myrrh", "sephera": 3, "element": None, "scent": "Smoky, bitter, resinous", "magical_uses": ["Understanding", "Purification", "Death work"]}, + {"name": "Cedar", "sephera": 4, "element": None, "scent": "Woody, warm, noble", "magical_uses": ["Mercy", "Benevolence", "Wealth magic"]}, + {"name": "Tobacco", "sephera": 5, "element": None, "scent": "Smoky, acrid, masculine", "magical_uses": ["Strength", "War", "Courage"]}, + {"name": "Olibanum", "sephera": 6, "element": None, "scent": "Resinous, sacred, solar", "magical_uses": ["Illumination", "Consciousness", "Self-realization"]}, + {"name": "Benzoin", "sephera": 7, "element": None, "scent": "Sweet, balsamic, warm", "magical_uses": ["Love", "Victory", "Passion"]}, + {"name": "Storax", "sephera": 8, "element": None, "scent": "Sweet, spicy, intellectual", "magical_uses": ["Communication", "Intellect", "Mercury work"]}, + {"name": "Jasmine", "sephera": 9, "element": None, "scent": "Floral, sweet, nocturnal", "magical_uses": ["Dreams", "Psychism", "Moon work"]}, + {"name": "Dittany of Crete", "sephera": 10, "element": None, "scent": "Herbaceous, earthy, grounding", "magical_uses": ["Manifestation", "Grounding", "Physical presence"]}, + + # Path perfumes - Elements (Liber 777, Column XLII) + {"name": "Galbanum", "path": 11, "element": "Air", "scent": "Green, fresh, airy", "magical_uses": ["Air element work", "Communication", "Mental clarity"]}, + {"name": "Onycha", "path": 23, "element": "Water", "scent": "Marine, salty, aquatic", "magical_uses": ["Water element", "Emotions", "Subconscious"]}, + {"name": "Olibanum", "path": 31, "element": "Fire", "scent": "Resinous, sacred fire", "magical_uses": ["Fire element", "Spiritual vision", "Illumination"]}, + {"name": "Storax", "path": 32, "element": "Earth", "scent": "Earthy, heavy, grounding", "magical_uses": ["Earth element", "Manifestation", "Stability"]}, + + # Path perfumes - Planets (Liber 777, Column XLII) + {"name": "Mastic", "path": 12, "planet": "Mercury", "scent": "Resinous, clean, mercurial", "magical_uses": ["Communication", "Commerce", "Quick wit"]}, + {"name": "Camphor", "path": 13, "planet": "Moon", "scent": "Sharp, cool, lunar", "magical_uses": ["Dreams", "Psychism", "Nurturing"]}, + {"name": "Sandalwood", "path": 14, "planet": "Venus", "scent": "Sweet, woody, sensual", "magical_uses": ["Love", "Beauty", "Attraction"]}, + {"name": "Saffron", "path": 21, "planet": "Jupiter", "scent": "Precious, warm, royal", "magical_uses": ["Prosperity", "Luck", "Expansion"]}, + {"name": "Pepper", "path": 27, "planet": "Mars", "scent": "Hot, pungent, aggressive", "magical_uses": ["Courage", "Action", "War"]}, + {"name": "Cinnamon", "path": 30, "planet": "Sun", "scent": "Warm, spicy, solar", "magical_uses": ["Success", "Vitality", "Solar power"]}, + {"name": "Assafoetida", "path": 32, "planet": "Saturn", "scent": "Foul, sulfurous, dark", "magical_uses": ["Banishing", "Binding", "Protection"]}, + + # Path perfumes - Zodiac (sample from Liber 777, Column CLII-CLIV) + {"name": "Dragon's Blood", "path": 15, "zodiac": "Aries", "scent": "Warm, resinous, sharp", "magical_uses": ["Martial energy", "Courage", "Victory"]}, + {"name": "Storax", "path": 16, "zodiac": "Taurus", "scent": "Sweet, earthy, grounding", "magical_uses": ["Stability", "Prosperity", "Earth connection"]}, + {"name": "Wormwood", "path": 17, "zodiac": "Gemini", "scent": "Bitter, green, intellectual", "magical_uses": ["Communication", "Travel", "Wit"]}, + {"name": "Onycha", "path": 18, "zodiac": "Cancer", "scent": "Marine, salty, intuitive", "magical_uses": ["Emotions", "Home", "Protection"]}, + {"name": "Olibanum", "path": 19, "zodiac": "Leo", "scent": "Resinous, solar, regal", "magical_uses": ["Confidence", "Creativity", "Leadership"]}, + {"name": "Narcissus", "path": 20, "zodiac": "Virgo", "scent": "Floral, sweet, discriminating", "magical_uses": ["Analysis", "Health", "Service"]}, + {"name": "Galbanum", "path": 22, "zodiac": "Libra", "scent": "Fresh, balanced, airy", "magical_uses": ["Balance", "Justice", "Harmony"]}, + {"name": "Siamese Benzoin", "path": 24, "zodiac": "Scorpio", "scent": "Sweet, dark, transformative", "magical_uses": ["Transformation", "Depth", "Power"]}, + {"name": "Lign-aloes", "path": 25, "zodiac": "Sagittarius", "scent": "Woody, spicy, expansive", "magical_uses": ["Expansion", "Prophecy", "Adventure"]}, + {"name": "Musk", "path": 26, "zodiac": "Capricorn", "scent": "Dense, earthy, grounding", "magical_uses": ["Ambition", "Authority", "Structure"]}, + {"name": "Galbanum", "path": 28, "zodiac": "Aquarius", "scent": "Fresh, airy, visionary", "magical_uses": ["Innovation", "Friendship", "Vision"]}, + {"name": "Ambergris", "path": 29, "zodiac": "Pisces", "scent": "Warm, oceanic, mystical", "magical_uses": ["Spirituality", "Compassion", "Mysticism"]}, + ] + + cls._perfumes = {} + for spec in specs: + perfume_name = spec.get("name", "") + sephera_num = spec.get("sephera") + path_num = spec.get("path") + + perfume = Perfume( + name=perfume_name, + scent_profile=spec.get("scent", ""), + sephera_number=sephera_num, + path_number=path_num, + element=spec.get("element"), + planet=spec.get("planet"), + zodiac_sign=spec.get("zodiac"), + keywords=[], + magical_uses=spec.get("magical_uses", []), + description=spec.get("scent", ""), + ) + cls._perfumes[perfume_name.lower()] = perfume + + @classmethod + def _load_paths(cls) -> None: + """Load the 22 Paths with full Tree of Life correspondences.""" + # Path specifications mapping to Thelemapedia data + path_specs = [ + {"num": 11, "hebrew": "Aleph", "trans": "Aleph", "trump": "0 - The Fool", "from": 1, "to": 2, "element": "Air", "planet": None, "zodiac": None}, + {"num": 12, "hebrew": "Beth", "trans": "Beth", "trump": "I - The Magus", "from": 1, "to": 3, "element": None, "planet": "Mercury", "zodiac": None}, + {"num": 13, "hebrew": "Gimel", "trans": "Gimel", "trump": "II - The Priestess", "from": 2, "to": 3, "element": None, "planet": "Moon", "zodiac": None}, + {"num": 14, "hebrew": "Daleth", "trans": "Daleth", "trump": "III - The Empress", "from": 2, "to": 4, "element": None, "planet": "Venus", "zodiac": None}, + {"num": 15, "hebrew": "Hé", "trans": "He", "trump": "IV - The Emperor", "from": 2, "to": 5, "element": None, "planet": None, "zodiac": "Aries"}, + {"num": 16, "hebrew": "Vau", "trans": "Vav", "trump": "V - The Hierophant", "from": 3, "to": 4, "element": None, "planet": None, "zodiac": "Taurus"}, + {"num": 17, "hebrew": "Zain", "trans": "Zayin", "trump": "VI - The Lovers", "from": 3, "to": 5, "element": None, "planet": None, "zodiac": "Gemini"}, + {"num": 18, "hebrew": "Cheth", "trans": "Chet", "trump": "VII - The Chariot", "from": 4, "to": 5, "element": None, "planet": None, "zodiac": "Cancer"}, + {"num": 19, "hebrew": "Teth", "trans": "Tet", "trump": "VIII - Strength", "from": 4, "to": 6, "element": None, "planet": None, "zodiac": "Leo"}, + {"num": 20, "hebrew": "Yod", "trans": "Yod", "trump": "IX - The Hermit", "from": 5, "to": 6, "element": None, "planet": None, "zodiac": "Virgo"}, + {"num": 21, "hebrew": "Kaph", "trans": "Kaph", "trump": "X - Wheel of Fortune", "from": 4, "to": 7, "element": None, "planet": "Jupiter", "zodiac": None}, + {"num": 22, "hebrew": "Lamed", "trans": "Lamed", "trump": "XI - Justice", "from": 5, "to": 8, "element": None, "planet": None, "zodiac": "Libra"}, + {"num": 23, "hebrew": "Mem", "trans": "Mem", "trump": "XII - The Hanged Man", "from": 7, "to": 8, "element": "Water", "planet": None, "zodiac": None}, + {"num": 24, "hebrew": "Nun", "trans": "Nun", "trump": "XIII - Death", "from": 7, "to": 9, "element": None, "planet": None, "zodiac": "Scorpio"}, + {"num": 25, "hebrew": "Samekh", "trans": "Samekh", "trump": "XIV - Temperance", "from": 6, "to": 9, "element": None, "planet": None, "zodiac": "Sagittarius"}, + {"num": 26, "hebrew": "Ayin", "trans": "Ayin", "trump": "XV - The Devil", "from": 8, "to": 9, "element": None, "planet": None, "zodiac": "Capricorn"}, + {"num": 27, "hebrew": "Pé", "trans": "Pe", "trump": "XVI - The Tower", "from": 5, "to": 8, "element": None, "planet": "Mars", "zodiac": None}, + {"num": 28, "hebrew": "Tzaddi", "trans": "Tzade", "trump": "XVII - The Star", "from": 8, "to": 9, "element": None, "planet": None, "zodiac": "Aquarius"}, + {"num": 29, "hebrew": "Qoph", "trans": "Qof", "trump": "XVIII - The Moon", "from": 7, "to": 9, "element": None, "planet": None, "zodiac": "Pisces"}, + {"num": 30, "hebrew": "Resh", "trans": "Resh", "trump": "XIX - The Sun", "from": 6, "to": 9, "element": None, "planet": "Sun", "zodiac": None}, + {"num": 31, "hebrew": "Shin", "trans": "Shin", "trump": "XX - The Aeon", "from": 9, "to": 10, "element": "Fire", "planet": None, "zodiac": None}, + {"num": 32, "hebrew": "Tau", "trans": "Tau", "trump": "XXI - The Universe", "from": 10, "to": 1, "element": "Earth", "planet": None, "zodiac": None}, + ] + + cls._paths = {} + for spec in path_specs: + path_num = spec["num"] + sephera_from = cls._sephera.get(spec["from"]) + sephera_to = cls._sephera.get(spec["to"]) + element = cls._elements.get(spec["element"].lower()) if spec["element"] else None + planet = cls._planets.get(spec["planet"].lower()) if spec["planet"] else None + + path = Path( + number=path_num, + hebrew_letter=spec["hebrew"], + transliteration=spec["trans"], + tarot_trump=spec["trump"], + sephera_from=sephera_from, + sephera_to=sephera_to, + element=element, + planet=planet, + zodiac_sign=spec.get("zodiac"), + description=f"Path {path_num}: {spec['trump']}", + ) + cls._paths[path_num] = path + + @overload + def number(self, value: int) -> Optional[Number]: + ... + + @overload + def number(self, value: None = ...) -> Dict[int, Number]: + ... + + def number(self, value: Optional[int] = None) -> Union[Optional[Number], Dict[int, Number]]: + """Return an individual Number or the full numerology table.""" + if value is None: + return self._numbers.copy() + return self._numbers.get(value) + + @overload + def color(self, sephera_number: int) -> Optional[Color]: + ... + + @overload + def color(self, sephera_number: None = ...) -> Dict[int, Color]: + ... + + def color(self, sephera_number: Optional[int] = None) -> Union[Optional[Color], Dict[int, Color]]: + """Return a single color correspondence or the entire map.""" + if sephera_number is None: + return self._colors.copy() + return self._colors.get(sephera_number) + + @overload + def planet(self, name: str) -> Optional[Planet]: + ... + + @overload + def planet(self, name: None = ...) -> Dict[str, Planet]: + ... + + def planet(self, name: Optional[str] = None) -> Union[Optional[Planet], Dict[str, Planet]]: + """Return a planet entry or the full planetary registry.""" + if name is None: + return self._planets.copy() + return self._planets.get(name.lower()) + + @overload + def weekday(self, name: str) -> Optional[Weekday]: + ... + + @overload + def weekday(self, name: None = ...) -> Dict[str, Weekday]: + ... + + def weekday(self, name: Optional[str] = None) -> Union[Optional[Weekday], Dict[str, Weekday]]: + """Return a weekday correspondence or the entire set.""" + if name is None: + return self._weekdays.copy() + return self._weekdays.get(name.lower()) + + @overload + def clock_hour(self, hour_24: int) -> Optional[ClockHour]: + ... + + @overload + def clock_hour(self, hour_24: None = ...) -> Dict[int, ClockHour]: + ... + + def clock_hour(self, hour_24: Optional[int] = None) -> Union[Optional[ClockHour], Dict[int, ClockHour]]: + """Return a planetary hour or the entire 24-hour map.""" + if hour_24 is None: + return self._clock_hours.copy() + return self._clock_hours.get(hour_24) + + @overload + def sephera(self, number: int) -> Optional[Sephera]: + ... + + @overload + def sephera(self, number: None = ...) -> Dict[int, Sephera]: + ... + + def sephera(self, number: Optional[int] = None) -> Union[Optional[Sephera], Dict[int, Sephera]]: + """Return a Sephira or the entire Tree of Life mapping.""" + if number is None: + return self._sephera.copy() + return self._sephera.get(number) + + @overload + def element(self, name: str) -> Optional[ElementType]: + ... + + @overload + def element(self, name: None = ...) -> Dict[str, ElementType]: + ... + + def element(self, name: Optional[str] = None) -> Union[Optional[ElementType], Dict[str, ElementType]]: + """Return a single element or the registry of elements.""" + if name is None: + return self._elements.copy() + return self._elements.get(name.lower()) + + @overload + def periodic_entry(self, number: int) -> Optional[PeriodicTable]: + ... + + @overload + def periodic_entry(self, number: None = ...) -> Dict[int, PeriodicTable]: + ... + + def periodic_entry(self, number: Optional[int] = None) -> Union[Optional[PeriodicTable], Dict[int, PeriodicTable]]: + """Return a periodic table correspondence or the entire dataset.""" + if number is None: + return self._periodic_table.copy() + return self._periodic_table.get(number) + + def color_by_number(self, number: int) -> Optional[Color]: + """Get a Color by mapping a number through digital root.""" + dr = calculate_digital_root(number) + return self._colors.get(dr) + + def number_by_digital_root(self, value: int) -> Optional[Number]: + """Get a Number object using digital root calculation.""" + dr = calculate_digital_root(value) + return self._numbers.get(dr) + + def digital_root(self, value: int) -> int: + """Get the digital root of a value.""" + return calculate_digital_root(value) + + @overload + def god(self, name: str, *, culture: Optional[str] = None) -> Optional[God]: + ... + + @overload + def god(self, name: None = ..., *, culture: Optional[str] = None) -> Dict[str, God]: + ... + + def god(self, name: Optional[str] = None, *, culture: Optional[str] = None) -> Union[Optional[God], Dict[str, God]]: + """Return a god entry or the entire god registry, optionally filtered by culture.""" + if name is None: + if culture is None: + return self._gods.copy() + # Return all gods of the specified culture + return {k: v for k, v in self._gods.items() if v.culture and v.culture.lower() == culture.lower()} + + god_entry = self._gods.get(name.lower()) + if god_entry and culture and god_entry.culture and god_entry.culture.lower() != culture.lower(): + return None + return god_entry + + def gods_by_culture(self, culture: str) -> Dict[str, God]: + """Get all gods associated with a specific culture.""" + return {k: v for k, v in self._gods.items() if v.culture and v.culture.lower() == culture.lower()} + + @overload + def alphabet(self, name: str) -> Optional['EnglishAlphabet | GreekAlphabet | HebrewAlphabet']: + ... + + @overload + def alphabet(self, name: None = ...) -> Dict[str, 'EnglishAlphabet | GreekAlphabet | HebrewAlphabet']: + ... + + def alphabet(self, name: Optional[str] = None) -> Union[Optional['EnglishAlphabet | GreekAlphabet | HebrewAlphabet'], Dict[str, 'EnglishAlphabet | GreekAlphabet | HebrewAlphabet']]: + """Return an alphabet definition or all alphabets.""" + if name is None: + return self._alphabets.copy() + return self._alphabets.get(name.lower()) + + @overload + def letter(self, symbol: str) -> Optional['Letter']: + ... + + @overload + def letter(self, symbol: None = ...) -> Dict[str, 'Letter']: + ... + + def letter(self, symbol: Optional[str] = None) -> Union[Optional['Letter'], Dict[str, 'Letter']]: + """Return a letter entry or all letters.""" + if symbol is None: + return self._letters.copy() + return self._letters.get(symbol.upper()) + + @overload + def cipher(self, system_name: str) -> Optional[Cipher]: + ... + + @overload + def cipher(self, system_name: None = ...) -> Dict[str, Cipher]: + ... + + def cipher(self, system_name: Optional[str] = None) -> Union[Optional[Cipher], Dict[str, Cipher]]: + """Return a cipher definition or the full cipher registry.""" + if system_name is None: + return self._ciphers.copy() + return self._ciphers.get(system_name.lower()) + + @overload + def perfume(self, name: str) -> Optional[Perfume]: + ... + + @overload + def perfume(self, name: None = ...) -> Dict[str, Perfume]: + ... + + def perfume(self, name: Optional[str] = None) -> Union[Optional[Perfume], Dict[str, Perfume]]: + """Return a perfume entry or the entire perfume catalog.""" + if name is None: + return self._perfumes.copy() + if not name: + return None + return self._perfumes.get(name.lower()) + + def perfumes_by_sephera(self, sephera_number: int) -> List[Perfume]: + """Get all perfumes associated with a Sephira.""" + return [p for p in self._perfumes.values() if p.sephera_number == sephera_number] + + def perfumes_by_path(self, path_number: int) -> List[Perfume]: + """Get all perfumes associated with a Path.""" + return [p for p in self._perfumes.values() if p.path_number == path_number] + + def perfumes_by_element(self, element: str) -> List[Perfume]: + """Get all perfumes associated with an element.""" + return [p for p in self._perfumes.values() if p.element and p.element.lower() == element.lower()] + + def perfumes_by_zodiac(self, zodiac: str) -> List[Perfume]: + """Get all perfumes associated with a zodiac sign.""" + return [p for p in self._perfumes.values() if p.zodiac_sign and p.zodiac_sign.lower() == zodiac.lower()] + + @overload + def path(self, number: int) -> Optional[Path]: + ... + + @overload + def path(self, number: None = ...) -> Dict[int, Path]: + ... + + def path(self, number: Optional[int] = None) -> Union[Optional[Path], Dict[int, Path]]: + """Return a path or the complete path registry.""" + if number is None: + return self._paths.copy() + if not 11 <= number <= 32: + return None + return self._paths.get(number) + + def paths_by_element(self, element: str) -> List[Path]: + """Get all paths associated with an element.""" + return [p for p in self._paths.values() if p.element and p.element.name.lower() == element.lower()] + + def paths_by_planet(self, planet: str) -> List[Path]: + """Get all paths associated with a planet.""" + return [p for p in self._paths.values() if p.planet and p.planet.name.lower() == planet.lower()] + + def paths_by_zodiac(self, zodiac: str) -> List[Path]: + """Get all paths associated with a zodiac sign.""" + return [p for p in self._paths.values() if p.zodiac_sign and p.zodiac_sign.lower() == zodiac.lower()] + + def temporal_correspondence(self, moment: Optional[datetime] = None) -> TemporalCorrespondence: + """Combine zodiacal, planetary, and card data for a timestamp. + + Args: + moment: Optional datetime to evaluate. Defaults to current local time. + + Returns: + TemporalCorrespondence snapshot describing the aligned card, planet, + number, and related metadata for the supplied moment. + """ + + moment = moment or datetime.now() + weekday_name = moment.strftime("%A").lower() + weekday = self._weekdays.get(weekday_name) + clock_hour = self._clock_hours.get(moment.hour) + + planet: Optional[Planet] = None + if clock_hour: + planet = self._planets.get(clock_hour.planetary_ruler.lower()) + + number = planet.associated_numbers[0] if planet and planet.associated_numbers else None + color = number.color if number else None + letters = list(planet.associated_letters) if planet else [] + card = self._card_for_moment(moment) + + hexagram_number = ((moment.timetuple().tm_yday - 1) % 64) + 1 + # Lazy import to avoid circular dependency + from letter import hexagram as iching_hexagram + hexagram_result = iching_hexagram.hexagram.filter(f'number:{hexagram_number}').first() + hexagram = hexagram_result.data if hexagram_result else None + + return TemporalCorrespondence( + timestamp=moment, + weekday=weekday, + clock_hour=clock_hour, + card=card, + planet=planet, + number=number, + color=color, + letters=letters, + hexagram=hexagram, + ) + + + def word(self, text: str, *, alphabet: Optional[str] = None) -> WordCipherRequest: + """Start a fluent cipher request for the given text.""" + if not text: + raise ValueError("Text must be a non-empty string") + return WordCipherRequest(self, text, alphabet) + + def _alphabet_letters(self, alphabet_name: str) -> List[str]: + """Return the ordered letters for a named alphabet.""" + alphabet = self._alphabets.get(alphabet_name.lower()) + if not alphabet: + raise ValueError(f"Alphabet '{alphabet_name}' is not available") + letters: List[str] = [] + for entry in alphabet: + letter = getattr(entry, "letter", None) + if not letter: + raise ValueError("Alphabet entries must expose a 'letter' attribute") + letters.append(letter) + return letters + + def _apply_cipher(self, *, text: str, cipher_name: str, alphabet_name: Optional[str]) -> CipherResult: + """Execute the named cipher against the provided text.""" + cipher = self.cipher(cipher_name) + if not cipher: + raise ValueError(f"Cipher '{cipher_name}' is not defined") + target_alphabet = (alphabet_name or cipher.default_alphabet or "").lower() + if not target_alphabet: + raise ValueError("Alphabet must be provided when cipher has no default") + letters = self._alphabet_letters(target_alphabet) + values = tuple(cipher.encode(text=text, alphabet_letters=letters)) + return CipherResult(word=text, cipher=cipher, alphabet_name=target_alphabet, values=values) + + # Temporal query methods + def month_info(self, month_num: int) -> Optional[Month]: + """Return month metadata for the supplied number (1-12).""" + if 1 <= month_num <= 12: + month_data = [ + {"name": "January", "zodiac_start": "Capricorn", "zodiac_end": "Aquarius"}, + {"name": "February", "zodiac_start": "Aquarius", "zodiac_end": "Pisces"}, + {"name": "March", "zodiac_start": "Pisces", "zodiac_end": "Aries"}, + {"name": "April", "zodiac_start": "Aries", "zodiac_end": "Taurus"}, + {"name": "May", "zodiac_start": "Taurus", "zodiac_end": "Gemini"}, + {"name": "June", "zodiac_start": "Gemini", "zodiac_end": "Cancer"}, + {"name": "July", "zodiac_start": "Cancer", "zodiac_end": "Leo"}, + {"name": "August", "zodiac_start": "Leo", "zodiac_end": "Virgo"}, + {"name": "September", "zodiac_start": "Virgo", "zodiac_end": "Libra"}, + {"name": "October", "zodiac_start": "Libra", "zodiac_end": "Scorpio"}, + {"name": "November", "zodiac_start": "Scorpio", "zodiac_end": "Sagittarius"}, + {"name": "December", "zodiac_start": "Sagittarius", "zodiac_end": "Capricorn"}, + ] + data = month_data[month_num - 1] + name = data.get("name", "") + zodiac_start = data.get("zodiac_start", "") + zodiac_end = data.get("zodiac_end", "") + return Month( + number=month_num, + name=name, + zodiac_start=zodiac_start, + zodiac_end=zodiac_end + ) + return None + + def day_info(self, day_num: int) -> Optional[Day]: + """Return day metadata for the supplied number (1-31).""" + if 1 <= day_num <= 31: + day_names = [ + "First", "Second", "Third", "Fourth", "Fifth", + "Sixth", "Seventh", "Eighth", "Ninth", "Tenth", + "Eleventh", "Twelfth", "Thirteenth", "Fourteenth", "Fifteenth", + "Sixteenth", "Seventeenth", "Eighteenth", "Nineteenth", "Twentieth", + "Twenty-first", "Twenty-second", "Twenty-third", "Twenty-fourth", "Twenty-fifth", + "Twenty-sixth", "Twenty-seventh", "Twenty-eighth", "Twenty-ninth", "Thirtieth", + "Thirty-first" + ] + planets = ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"] + planet = planets[(day_num - 1) % 7] + return Day( + number=day_num, + name=day_names[day_num - 1], + planetary_correspondence=planet + ) + return None + + def month(self, month_num: int) -> 'TemporalQuery': + """Start a temporal query for a given month.""" + from ..deck import TemporalQuery + return TemporalQuery(self, month_num=month_num) diff --git a/src/tarot/card/details.py b/src/tarot/card/details.py new file mode 100644 index 0000000..99426e4 --- /dev/null +++ b/src/tarot/card/details.py @@ -0,0 +1,557 @@ +"""Card details and interpretations for all 78 Tarot cards. + +This module provides interpretive data (explanations, keywords, guidance) for cards. +Registry is keyed by card position (1-78), independent of deck-specific names. + +Deck order: Cups (1-14), Pentacles (15-28), Swords (29-42), + Major Arcana (43-64), Wands (65-78) + +Usage: + from tarot.card.details import CardDetailsRegistry + + registry = CardDetailsRegistry() + details = registry.get_by_position(44) # Get details for card at position 44 + + # Or load into a card object: + from tarot.deck import Deck + deck = Deck() + card = deck.cards[43] # Card at position 44 (0-indexed) + registry.load_into_card(card) +""" + +from typing import TYPE_CHECKING, Any, Dict, Optional + +if TYPE_CHECKING: + from tarot.deck import Card + + +class CardDetailsRegistry: + """Registry for storing interpretive data for all 78 Tarot cards. + + Uses card position (1-78) as the unique identifier, independent of deck names. + This allows the same card details to apply across different deck variants. + + Deck order: + - 1-14: Cups (Ace, Ten, 2-9, Knight, Prince, Princess, Queen) + - 15-28: Pentacles (same structure) + - 29-42: Swords (same structure) + - 43-64: Major Arcana (Fool through Universe) + - 65-78: Wands (same structure) + """ + + def __init__(self) -> None: + """Initialize the card details registry with interpretive data.""" + self._details: Dict[str, Dict[str, Any]] = self._build_registry() + # Map card positions (1-78) to registry keys + self._position_map = self._build_position_map() + + @staticmethod + def key_to_roman(key: int) -> str: + """ + Convert a numeric key to Roman numerals. + + Args: + key: The numeric key (0-21 for major arcana) + + Returns: + Roman numeral representation (e.g., 21 -> "XXI", 0 -> "o") + """ + # Special case: 0 -> "o" (letter O for The Fool) + if key == 0: + return "o" + + val = [ + 1000, 900, 500, 400, + 100, 90, 50, 40, + 10, 9, 5, 4, + 1 + ] + syms = [ + "M", "CM", "D", "CD", + "C", "XC", "L", "XL", + "X", "IX", "V", "IV", + "I" + ] + roman_num = '' + i = 0 + while key > 0: + for _ in range(key // val[i]): + roman_num += syms[i] + key -= val[i] + i += 1 + return roman_num if roman_num else "o" + + def _build_position_map(self) -> Dict[int, str]: + """ + Build a mapping from card position (1-78) to registry key. + + Returns: + Dictionary mapping position to registry key + """ + position_map = {} + + # Positions 1-14: Cups (Ace, Ten, 2-9, Knight, Prince, Princess, Queen) + cups_names = ["Ace of Cups", "Ten of Cups", "Two of Cups", "Three of Cups", + "Four of Cups", "Five of Cups", "Six of Cups", "Seven of Cups", + "Eight of Cups", "Nine of Cups", "Knight of Cups", "Prince of Cups", + "Princess of Cups", "Queen of Cups"] + for pos, name in enumerate(cups_names, start=1): + position_map[pos] = name + + # Positions 15-28: Pentacles (same structure) + pentacles_names = ["Ace of Pentacles", "Ten of Pentacles", "Two of Pentacles", "Three of Pentacles", + "Four of Pentacles", "Five of Pentacles", "Six of Pentacles", "Seven of Pentacles", + "Eight of Pentacles", "Nine of Pentacles", "Knight of Pentacles", "Prince of Pentacles", + "Princess of Pentacles", "Queen of Pentacles"] + for pos, name in enumerate(pentacles_names, start=15): + position_map[pos] = name + + # Positions 29-42: Swords (same structure) + swords_names = ["Ace of Swords", "Ten of Swords", "Two of Swords", "Three of Swords", + "Four of Swords", "Five of Swords", "Six of Swords", "Seven of Swords", + "Eight of Swords", "Nine of Swords", "Knight of Swords", "Prince of Swords", + "Princess of Swords", "Queen of Swords"] + for pos, name in enumerate(swords_names, start=29): + position_map[pos] = name + + # Positions 43-64: Major Arcana (mapped to Roman numerals) + major_arcana_keys = ["o", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", + "X", "XI", "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XVIII", "XIX", + "XX", "XXI"] + for pos, key in enumerate(major_arcana_keys, start=43): + position_map[pos] = key + + # Positions 65-78: Wands (same structure) + wands_names = ["Ace of Wands", "Ten of Wands", "Two of Wands", "Three of Wands", + "Four of Wands", "Five of Wands", "Six of Wands", "Seven of Wands", + "Eight of Wands", "Nine of Wands", "Knight of Wands", "Prince of Wands", + "Princess of Wands", "Queen of Wands"] + for pos, name in enumerate(wands_names, start=65): + position_map[pos] = name + + return position_map + + def get_by_position(self, position: int) -> Optional[Dict[str, Any]]: + """ + Get details for a card by its position (1-78). + + Args: + position: Card position (1-78) + + Returns: + Dictionary containing card details, or None if not found + """ + registry_key = self._position_map.get(position) + if registry_key is None: + return None + return self._details.get(registry_key) + + def _build_registry(self) -> Dict[str, Dict[str, Any]]: + """Build the interpretive data registry (card structure comes from Deck). + + Stores only unique interpretive data (explanation, keywords, guidance). + Card names and structure are sourced from Deck for DRY compliance. + """ + return { + # Major Arcana (0-21) - Interpretive data only + "o": { + "explanation": "The Fool represents new beginnings, innocence, and spontaneity. This card signifies a fresh start or embarking on a new journey with optimism and faith.", + "interpretation": "Beginning of the Great Work, innocence; a fool for love; divine madness. Reason is transcended. Take the leap. Gain or loss through foolish actions.", + "keywords": ["new beginnings", "innocence", "faith", "spontaneity", "potential"], + "reversed_keywords": ["recklessness", "naivety", "poor judgment", "folly"], + "guidance": "Trust in the unfolding of your path. Embrace new opportunities with awareness and openness.", + }, + "I": { + "explanation": "The Magician embodies manifestation, resourcefulness, and personal power. This card shows mastery of skills and the ability to turn ideas into reality.", + "interpretation": "Communication; Conscious Will; the process of continuous creation; ambiguity; deceptionl Things may not be as they appear. Concentration, meditation; mind used to direct the Will. Manipulation; crafty maneuverings.", + "keywords": ["manifestation", "resourcefulness", "power", "inspired action", "concentration"], + "reversed_keywords": ["manipulation", "poor planning", "untapped talents", "lack of direction"], + "guidance": "Focus your energy and intention on what you want to manifest. You have the tools and talents you need.", + }, + "II": { + "explanation": "The High Priestess represents intuition, sacred knowledge, and the subconscious mind. She embodies mystery and inner wisdom.", + "interpretation": "Symbol of highest initiation; link between the archetypal and Formative Worlds. An initiatrixl Wooing by enchantment. possibility. The Idea behind the Form. Fluctuationl Time may not be right for a decision concerning mundane matters.", + "keywords": ["intuition", "sacred knowledge", "divine feminine", "the subconscious", "mystery"], + "reversed_keywords": ["hidden information", "silence", "disconnection from intuition", "superficiality"], + "guidance": "Listen to your inner voice. The answers you seek lie within. Trust the wisdom of your intuition.", + }, + "III": { + "explanation": "The Empress symbolizes abundance, fertility, and nurturing energy. She represents creativity, sensuality, and the power of manifestation through nurturing.", + "interpretation": "The Holy Grail. love unites the Will. Love; beauty; friendship; success; passive balance. The feminine point of view. The door is open. Disregard the details and concentrate on the big picture.", + "keywords": ["abundance", "fertility", "femininity", "beauty", "nature", "creativity"], + "reversed_keywords": ["dependency", "creative block", "neediness", "underdevelopment"], + "guidance": "Nurture yourself and others. Allow yourself to enjoy the fruits of your labor and appreciate beauty.", + }, + "IV": { + "explanation": "The Emperor represents authority, leadership, and established power. He embodies structure, discipline, and protection through strength and control.", + "interpretation": "Creative wisdom radiating upon the organized man and woman. Domination after conquest; quarrelsomeness; paternal love; ambition. Thought ruled by creative, masculine, fiery energy. Stubbornness; war; authority; energy in its most temporal form. Swift immpermaent action over confidence.", + "keywords": ["authority", "leadership", "power", "structure", "protection", "discipline"], + "reversed_keywords": ["weakness", "ineffectual leadership", "lack of discipline", "tyranny"], + "guidance": "Step into your power with confidence. Establish clear boundaries and structure. Lead by example.", + }, + "V": { + "explanation": "The Hierophant represents tradition, conventional wisdom, and spiritual authority. This card embodies education, ceremony, and moral values.", + "interpretation": "The Holy Guardian Angel. The uniting of t hat which is above with that which is below. Love is indicated, but the nature of that love is not yet to be revealed. Inspiration; teaching; organization; discipline; strength; endurance; toil; help from superiors.", + "keywords": ["tradition", "spirituality", "wisdom", "ritual", "morality", "ethics"], + "reversed_keywords": ["rebellion", "unconventionality", "questioning authority", "dogmatism"], + "guidance": "Seek guidance from established wisdom. Respect traditions while finding your own spiritual path.", + }, + "VI": { + "explanation": "The Lovers represents relationships, values alignment, and the union of opposites. It signifies choice, intimacy, and deep connection.", + "interpretation": "Intuition. Be open to your own inner voice. A well-intended, arranged marriage. An artificial union. The need to make a choice with awareness of consequences union; analysis followed by synthesis; indecision; instability; superficiality.", + "keywords": ["relationships", "love", "union", "values", "choice", "alignment"], + "reversed_keywords": ["disharmony", "misalignment", "conflict", "communication breakdown"], + "guidance": "Choose with your heart aligned with your values. Deep connection requires vulnerability and honesty.", + }, + "VII": { + "explanation": "The Chariot embodies willpower, determination, and control through focused intention. It represents triumph through discipline and forward momentum.", + "interpretation": "Light in the darkness. The burden you carry may be the Holy Grail. Faithfulness; hope; obedience; a protective relationship; firm, even violent adherance to dogma or tradition. Glory; riches; englightened civilization; victory; triumph; chain of command.", + "keywords": ["determination", "willpower", "control", "momentum", "victory", "focus"], + "reversed_keywords": ["lack of control", "haste", "resistance", "moving backward"], + "guidance": "Take the reins of your life. Move forward with determination and clear direction. You have the power.", + }, + "VIII": { + "explanation": "Strength represents inner power, courage, and compassion. It shows mastery through gentleness and the ability to face challenges with calm confidence.", + "interpretation": "Equilibrium; karmic law; the dance of life; all possibilities. The woman satisfied. Balance; weigh each thought against its opposite. Lawsuits; treaties. Pause and look before you leap.", + "keywords": ["strength", "courage", "patience", "compassion", "control", "confidence"], + "reversed_keywords": ["weakness", "self-doubt", "lack of composure", "poor control"], + "guidance": "True strength comes from within. Face challenges with courage and compassion for yourself and others.", + }, + "IX": { + "explanation": "The Hermit represents introspection, spiritual seeking, and inner guidance. This card embodies solitude, wisdom gained through reflection, and self-discovery.", + "interpretation": "Divine seed of all things. By silence comes inspiration and wisdom. Wandering alone; temporary solitude; creative contemplation; a virgin. Retirement from involvement in current events.", + "keywords": ["introspection", "spiritual seeking", "inner light", "wisdom", "solitude", "truth"], + "reversed_keywords": ["loneliness", "isolation", "lost", "paranoia", "disconnection"], + "guidance": "Take time for introspection and self-discovery. Your inner light guides your path. Seek solitude for wisdom.", + }, + "X": { + "explanation": "The Wheel of Fortune represents cycles, destiny, and the turning points of life. It embodies luck, karma, and the natural ebb and flow of existence.", + "interpretation": "Continual change. In the midst of revolving phenomena, reaach joyously the motionless center. Carefree love; wanton pleasure; amusement; fun; change of fortune, usually good.", + "keywords": ["fate", "destiny", "cycles", "fortune", "karma", "turning point"], + "reversed_keywords": ["bad luck", "resistance to change", "broken cycles", "misfortune"], + "guidance": "Trust in the cycles of life. What goes up must come down. Embrace change as part of your journey.", + }, + "XI": { + "explanation": "Justice represents fairness, truth, and balance. It embodies accountability, clear judgment, and the consequences of actions both past and present.", + "interpretation": "Understanding; the Will of New Aeon; passion; sense smitten with ecstasy. let love devour all. Energy independent of reason. Strength; courage; utilization of magical power.", + "keywords": ["justice", "fairness", "truth", "cause and effect", "balance", "accountability"], + "reversed_keywords": ["injustice", "bias", "lack of accountability", "dishonesty"], + "guidance": "Seek the truth and act with fairness. Take responsibility for your actions. Balance is key.", + }, + "XII": { + "explanation": "The Hanged Man represents suspension, letting go, and seeing things from a new perspective. It embodies surrender, pause, and gaining wisdom through sacrifice.", + "interpretation": "Redemption, sacrifice, annihilation in the beloved; martyrdom; loss; torment; suspension; death; suffering.", + "keywords": ["suspension", "restriction", "letting go", "new perspective", "surrender", "pause"], + "reversed_keywords": ["resistance", "stalling", "unwillingness to change", "impatience"], + "guidance": "Pause and reflect. What are you holding onto? Surrender control and trust the process.", + }, + "XIII": { + "explanation": "Death represents transformation, endings, and new beginnings. This card embodies major life transitions, the release of the old, and inevitable change.", + "interpretation": "End of cycle; transformation; raw sexuality. Sex is death. Stress becomes intolerable. Any change is welcome. Time; age; unexpected change; death.", + "keywords": ["transformation", "transition", "endings", "beginnings", "change", "acceptance"], + "reversed_keywords": ["resistance to change", "stagnation", "missed opportunity", "delay"], + "guidance": "Release what no longer serves you. Transformation is inevitable. Trust in the cycle of death and rebirth.", + }, + "XIV": { + "explanation": "Temperance represents balance, moderation, and harmony. It embodies blending of opposites, inner peace through balance, and finding your rhythm.", + "interpretation": "Transmutation through union of opposites. A perfect marriage exalts and transforms each partner. The scientific method. Success follows complex maneuvers.", + "keywords": ["balance", "moderation", "harmony", "patience", "timing", "peace"], + "reversed_keywords": ["imbalance", "excess", "conflict", "intemperance", "discord"], + "guidance": "Seek balance in all things. Blend opposing forces. Find your rhythm through moderation and patience.", + }, + "XV": { + "explanation": "The Devil represents bondage, materialism, and shadow aspects of self. It embodies addictions, illusions, and the consequences of giving away personal power.", + "interpretation": "Thou hast no right but to do thy will. Obession; temptation; ecstasy found in every phenomenon; creative action, yet sublimely careless of result; unscrupulous ambition; strength.", + "keywords": ["bondage", "materialism", "playfulness", "shadow self", "sexuality", "excess"], + "reversed_keywords": ["freedom", "detachment", "reclaiming power", "breaking free"], + "guidance": "Examine what binds you. Acknowledge your shadow. You hold the key to your own freedom.", + }, + "XVI": { + "explanation": "The Tower represents sudden disruption, revelation, and breakthrough through crisis. It embodies sudden change, truth revealed, and necessary destruction.", + "interpretation": "Escape from the prison of organized life; renunciation of love; quarreling. Plans are destroyed. War; danger; sudden death.", + "keywords": ["sudden change", "upheaval", "revelation", "breakdown", "breakthrough", "chaos"], + "reversed_keywords": ["resistance to change", "averted crisis", "delay", "stagnation"], + "guidance": "Crisis brings clarity. Though change is sudden and jarring, it clears away the false and brings truth.", + }, + "XVII": { + "explanation": "The Star represents hope, guidance, and inspiration. It embodies clarity of purpose, spiritual insight, and the light that guides your path forward.", + "interpretation": "Clairvoyance; visions; drams; hope; love; yearning; realization of inexhaustible possibilities; dreaminess; unexpected help; renewal.", + "keywords": ["hope", "faith", "inspiration", "vision", "guidance", "spirituality"], + "reversed_keywords": ["hopelessness", "despair", "lack of direction", "lost", "obscured"], + "guidance": "Let your inner light shine. Trust in your vision. Hope and guidance light your path forward.", + }, + "XVIII": { + "explanation": "The Moon represents illusion, intuition, and the subconscious mind. It embodies mystery, dreams, and navigating by inner knowing rather than sight.", + "interpretation": "The Dark night of the soul; deception; falsehood; illusion; madness; the threshold of significant change.", + "keywords": ["illusion", "intuition", "uncertainty", "subconscious", "dreams", "mystery"], + "reversed_keywords": ["clarity", "truth revealed", "release from illusion", "awakening"], + "guidance": "Trust your intuition to navigate mystery. What appears illusory contains deeper truths worth exploring.", + }, + "XIX": { + "explanation": "The Sun represents joy, clarity, and vitality. It embodies success, positive energy, and the radiance of authentic self-expression.", + "interpretation": "Lord of the New Aeon. Spiritual emancipation. Pleasure; shamelessness; vanity; frankness. Freedom brings sanity. Glory; riches; enlightened civilization.", + "keywords": ["success", "joy", "clarity", "vitality", "warmth", "authenticity"], + "reversed_keywords": ["temporary darkness", "lost vitality", "setback", "sadness"], + "guidance": "Celebrate your success. Let your authentic self shine. Joy and clarity light your way.", + }, + "XX": { + "explanation": "Judgement represents awakening, calling, and significant decisions. It embodies reckoning, rebirth, and responding to a higher calling.", + "interpretation": "Let every act be an act of Worship; let every act be an act of Love. Final decision; judgement. Learn from the past. Prepare for the future.", + "keywords": ["awakening", "calling", "judgment", "rebirth", "evaluation", "absolution"], + "reversed_keywords": ["doubt", "self-doubt", "harsh judgment", "reluctance to change"], + "guidance": "Answer your higher calling. Evaluate with compassion. A significant awakening or decision awaits.", + }, + "XXI": { + "explanation": "The World represents completion, wholeness, and fulfillment. It embodies the end of a cycle, achievement of goals, and a sense of unity.", + "interpretation": "Completion of the Greatk Work; patience; perseverance; stubbornness; serious meditation. Work accomplished.", + "keywords": ["completion", "fulfillment", "wholeness", "travel", "unity", "achievement"], + "reversed_keywords": ["incomplete", "blocked", "separation", "seeking closure"], + "guidance": "A significant cycle completes. You have achieved wholeness. Yet every ending is a new beginning.", + }, + + # Minor Arcana - Swords + "Ace of Swords": { + "explanation": "The Ace of Swords represents clarity, breakthrough, and new ideas. It embodies truth emerging, mental clarity, and the power of honest communication.", + "interpretation": "New idea or perspective, clarity and truth, breakthrough thinking, mental clarity", + "keywords": ["breakthrough", "clarity", "truth", "new ideas", "communication"], + "reversed_keywords": ["confusion", "unclear communication", "hidden truth", "mental fog"], + "guidance": "A breakthrough arrives. Speak your truth with clarity. Mental clarity reveals new possibilities.", + }, + "Two of Swords": { + "explanation": "The Two of Swords represents stalemate, difficult choices, and mental struggle. It embodies indecision, conflicting information, and the need for perspective.", + "interpretation": "Stalemate and indecision, difficult choices ahead, conflicting perspectives, mental struggle", + "keywords": ["stalemate", "indecision", "confusion", "difficult choice", "standoff"], + "reversed_keywords": ["clarity emerging", "decision made", "moving forward", "resolution"], + "guidance": "Step back from the conflict. You need more information or perspective before deciding.", + }, + "Three of Swords": { + "explanation": "The Three of Swords represents heartbreak, difficult truths, and mental anguish. It embodies challenging communication, painful revelations, and clarity that hurts.", + "interpretation": "Difficult truths and heartbreak, communication challenges, mental anguish, clarity through pain", + "keywords": ["heartbreak", "sorrow", "difficult truth", "mental anguish", "separation"], + "reversed_keywords": ["healing", "moving forward", "forgiveness", "reconciliation"], + "guidance": "Difficult truths are emerging. Allow yourself to feel the pain. Healing follows acknowledgment.", + }, + "Four of Swords": { + "explanation": "The Four of Swords represents rest, recovery, and mental respite. It embodies the need for pause, recuperation, and gathering strength.", + "interpretation": "Rest and recovery, pause and contemplation, gathering strength, needed respite", + "keywords": ["rest", "pause", "recovery", "contemplation", "respite"], + "reversed_keywords": ["restlessness", "stress", "unwillingness to rest", "agitation"], + "guidance": "Take time to rest and recover. Your mind and spirit need respite. Gather your strength.", + }, + "Five of Swords": { + "explanation": "The Five of Swords represents conflict, victory at a cost, and difficult truths after battle. It embodies competition with consequences and the emptiness of winning wrongly.", + "interpretation": "Conflict and competition, pyrrhic victory, harsh truths, aftermath of conflict", + "keywords": ["conflict", "defeat", "victory at cost", "awkwardness", "tension"], + "reversed_keywords": ["reconciliation", "resolution", "forgiveness", "peace"], + "guidance": "Sometimes victory costs more than it's worth. Seek reconciliation over conquest.", + }, + "Six of Swords": { + "explanation": "The Six of Swords represents moving forward, healing journey, and leaving troubles behind. It embodies transition, mental resolution, and the path to better days.", + "interpretation": "Moving forward and transition, leaving trouble behind, journey and travel, mental resolution", + "keywords": ["transition", "healing journey", "moving forward", "travel", "freedom"], + "reversed_keywords": ["stuck", "resistance to change", "delays", "unresolved issues"], + "guidance": "A journey of healing begins. Move forward. Leave the past behind. Better days await.", + }, + "Seven of Swords": { + "explanation": "The Seven of Swords represents deception, cunning, and strategic retreat. It embodies hidden agendas, betrayal, and escape from difficult situations.", + "interpretation": "Deception and cunning, hidden agendas, strategic retreat, betrayal or self-deception", + "keywords": ["deception", "cunning", "betrayal", "hidden agenda", "strategy"], + "reversed_keywords": ["coming clean", "honesty", "truth revealed", "facing consequences"], + "guidance": "Look for hidden truths. Deception may be at play. Where are you deceiving yourself?", + }, + "Eight of Swords": { + "explanation": "The Eight of Swords represents restriction, bondage, and self-imposed limitations. It embodies feeling trapped, mental imprisonment, and powerlessness.", + "interpretation": "Restriction and bondage, self-imposed limitations, feeling trapped, helplessness", + "keywords": ["bondage", "restriction", "trapped", "helplessness", "powerlessness"], + "reversed_keywords": ["freedom", "release", "empowerment", "breaking free"], + "guidance": "You have more power than you believe. The restrictions may be self-imposed. Free yourself.", + }, + "Nine of Swords": { + "explanation": "The Nine of Swords represents anxiety, nightmares, and mental torment. It embodies overthinking, worry, and the burden of negative thoughts.", + "interpretation": "Anxiety and worry, nightmares and turmoil, overthinking, mental burden", + "keywords": ["anxiety", "worry", "nightmares", "overthinking", "despair"], + "reversed_keywords": ["relief", "healing", "moving past", "mental clarity"], + "guidance": "Your mind is your greatest torment. Seek support. This darkness passes. Morning follows night.", + }, + "Ten of Swords": { + "explanation": "The Ten of Swords represents complete mental/emotional defeat, rock bottom, and the end of suffering. It embodies the culmination of difficulty and the promise of renewal.", + "interpretation": "Defeat and rock bottom, end of suffering, difficult conclusion, release from burden", + "keywords": ["defeat", "rock bottom", "ending", "relief", "betrayal"], + "reversed_keywords": ["recovery", "beginning again", "healing", "hope"], + "guidance": "The worst has passed. You've hit bottom. From here, only recovery is possible.", + }, + "Page of Swords": { + "explanation": "The Page of Swords represents curious inquiry, new ideas, and youthful intellectual energy. It embodies investigation, learning, and the drive to understand.", + "interpretation": "Curiosity and new learning, investigation and inquiry, youthful energy, intellectual development", + "keywords": ["curiosity", "inquiry", "new learning", "messages", "vigilance"], + "reversed_keywords": ["cynicism", "misinformation", "scattered thinking", "mischief"], + "guidance": "Curiosity leads to discovery. Ask questions and investigate. Knowledge empowers.", + }, + "Knight of Swords": { + "explanation": "The Knight of Swords represents swift action, directness, and intellectual courage. It embodies confrontation, truth-seeking, and the willingness to challenge.", + "interpretation": "Direct communication and action, intellectual courage, challenging situations, swift movement", + "keywords": ["action", "impulsiveness", "courage", "conflict", "truth"], + "reversed_keywords": ["scatter-brained", "dishonest", "confusion", "retreat"], + "guidance": "Speak your truth directly. Act with courage. Swift action brings results.", + }, + "Queen of Swords": { + "explanation": "The Queen of Swords represents intellectual power, clarity, and independent thinking. It embodies wisdom gained through experience and clear perception.", + "interpretation": "Intellectual power and clarity, independence and perception, wisdom and experience, communication", + "keywords": ["clarity", "intelligence", "independence", "truth", "perception"], + "reversed_keywords": ["bitter", "manipulative", "cold", "cruel"], + "guidance": "Trust your keen intellect. Speak your truth with grace. Clarity empowers.", + }, + "King of Swords": { + "explanation": "The King of Swords represents mental mastery, authority through intellect, and the power of truth. It embodies leadership, clear judgment, and strategic thinking.", + "interpretation": "Mental mastery and intellect, authority and leadership, justice and fairness, clear judgment", + "keywords": ["authority", "intellect", "truth", "leadership", "justice"], + "reversed_keywords": ["tyrant", "manipulation", "abuse of power", "cruelty"], + "guidance": "Lead with intellect and integrity. Your clarity creates order. Speak truth with authority.", + }, + "Princess of Swords": { + "explanation": "The Princess of Swords represents intellectual potential, youthful curiosity, and emerging clarity. It embodies the development of mental acuity and the pursuit of knowledge.", + "interpretation": "Intellectual development and potential, emerging clarity, youthful inquiry, pursuit of truth", + "keywords": ["clarity emerging", "intellectual potential", "investigation", "truth-seeking", "perception"], + "reversed_keywords": ["confusion", "scattered thoughts", "deception", "lack of focus"], + "guidance": "Your ability to perceive truth is developing. Stay curious and focused. Clarity is emerging.", + }, + + # Minor Arcana - Cups + "Ace of Cups": { + "explanation": "The Ace of Cups represents new emotional beginning, love, and spiritual awakening. It embodies the opening of the heart and new emotional connections.", + "interpretation": "New emotional beginning, love and compassion, spiritual awakening, emotional clarity", + "keywords": ["love", "new emotion", "compassion", "beginning", "spirituality"], + "reversed_keywords": ["blocked emotion", "closed heart", "emotional confusion"], + "guidance": "Your heart opens to new possibilities. Emotional connections deepen. Love flows.", + }, + "Two of Cups": { + "explanation": "The Two of Cups represents partnership, mutual respect, and emotional connection. It embodies balance, harmony, and the foundation of relationships.", + "interpretation": "Partnership and connection, mutual respect and harmony, emotional balance, agreements", + "keywords": ["partnership", "love", "connection", "harmony", "commitment"], + "reversed_keywords": ["imbalance", "separation", "misalignment", "broken agreement"], + "guidance": "Deep connection and harmony are possible. Mutual respect forms the foundation.", + }, + "Three of Cups": { + "explanation": "The Three of Cups represents celebration, friendship, and community. It embodies joy, shared experiences, and the warmth of connection.", + "interpretation": "Celebration and community, friendship and joy, shared experiences, social harmony", + "keywords": ["celebration", "community", "friendship", "joy", "creativity"], + "reversed_keywords": ["isolation", "loneliness", "overindulgence", "discord"], + "guidance": "Celebrate with friends. Community and connection bring joy. Share in the abundance.", + }, + + # Minor Arcana - Pentacles + "Ace of Pentacles": { + "explanation": "The Ace of Pentacles represents new prosperity, material opportunity, and earthly beginnings. It embodies abundance, security, and practical gifts.", + "interpretation": "New material opportunity, abundance and prosperity, earthly beginnings, practical gifts", + "keywords": ["abundance", "opportunity", "prosperity", "security", "gift"], + "reversed_keywords": ["lost opportunity", "scarcity", "blocked prosperity"], + "guidance": "Material opportunity arrives. Seize it. Abundance begins with gratitude.", + }, + "Two of Pentacles": { + "explanation": "The Two of Pentacles represents balance, flexibility, and managing resources. It embodies juggling priorities, adaptability, and resourcefulness.", + "interpretation": "Balance and flexibility, managing resources, adaptability, juggling priorities", + "keywords": ["balance", "flexibility", "adaptability", "resourcefulness", "management"], + "reversed_keywords": ["imbalance", "mismanagement", "chaos", "loss"], + "guidance": "Balance your priorities carefully. Flexibility allows you to manage what comes.", + }, + + # Minor Arcana - Wands + "Ace of Wands": { + "explanation": "The Ace of Wands represents new inspiration, creative spark, and passionate new beginning. It embodies potential, growth, and spiritual fire.", + "interpretation": "New creative spark, inspiration and potential, passionate beginning, growth opportunity", + "keywords": ["inspiration", "potential", "growth", "new beginning", "creativity"], + "reversed_keywords": ["blocked inspiration", "delays", "lost potential"], + "guidance": "Creative inspiration ignites. Channel this energy into action. Your passion becomes power.", + }, + "Two of Wands": { + "explanation": "The Two of Wands represents planning, future vision, and resourcefulness. It embodies potential growth, decisions about direction, and careful preparation.", + "interpretation": "Planning and vision, resource management, decisions about direction, future planning", + "keywords": ["vision", "planning", "potential", "resourcefulness", "future"], + "reversed_keywords": ["lack of vision", "poor planning", "blocked growth"], + "guidance": "Plan your future with vision. You have resources to build something great.", + }, + } + + def get(self, card_name: str) -> Optional[Dict[str, Any]]: + """ + Get details for a specific card by name. + + Args: + card_name: The card's name (e.g., "Princess of Swords", "Ace of Cups") + + Returns: + Dictionary containing card details, or None if not found + """ + return self._details.get(card_name) + + def get_key_as_roman(self, card_name: str) -> Optional[str]: + """ + Get the card's key displayed as Roman numerals. + + Args: + card_name: The card's name (e.g., "The Fool", "The Magician") + + Returns: + Roman numeral representation of the key (e.g., "XXI" for 21), or None if not found + """ + details = self.get(card_name) + if details and "key" in details: + return self.key_to_roman(details["key"]) + return None + + def get_all_by_suit(self, suit_name: str) -> Dict[str, Dict[str, Any]]: + """ + Get all details for cards in a specific suit. + + Args: + suit_name: The suit name ("Cups", "Pentacles", "Swords", "Wands") + + Returns: + Dictionary of card details for that suit + """ + return { + name: details for name, details in self._details.items() + if suit_name.lower() in name.lower() + } + + def _get_registry_key_for_card(self, card: 'Card') -> Optional[str]: + """ + Get the registry key for a card based on deck position (1-78). + + Card position is independent of deck-specific names, allowing different + deck variants to use the same registry entries. + + Args: + card: The Card object to look up + + Returns: + Registry key string, or None if card cannot be mapped + """ + return self._position_map.get(card.number) + + def load_into_card(self, card: 'Card') -> bool: + """ + Load details from registry into a Card object using its position. + + Args: + card: The Card object to populate + + Returns: + True if details were found and loaded, False otherwise + """ + # Use position-based lookup instead of name-based + details = self.get_by_position(card.number) + if not details: + return False + + card.explanation = details.get("explanation", "") + card.interpretation = details.get("interpretation", "") + card.keywords = details.get("keywords", []) + card.reversed_keywords = details.get("reversed_keywords", []) + card.guidance = details.get("guidance", "") + + return True + + def __getitem__(self, card_name: str) -> Optional[Dict[str, Any]]: + """Allow dict-like access: registry['Princess of Swords']""" + return self.get(card_name) diff --git a/src/tarot/card/image_loader.py b/src/tarot/card/image_loader.py new file mode 100644 index 0000000..54287f4 --- /dev/null +++ b/src/tarot/card/image_loader.py @@ -0,0 +1,346 @@ +"""Image deck loader for matching Tarot card images to cards. + +This module provides intelligent image matching and loading, supporting: +- Numbered format: 0.jpg, 1.jpg, ... or 00_foolish.jpg, 01_magic_man.jpg +- Custom naming with override: ##_custom_name.jpg overrides default card names +- Intelligent fuzzy matching for card identification +- Hybrid modes with intelligent fallbacks + +Usage: + from tarot.card.image_loader import load_deck_images + + deck = Deck() + count = load_deck_images(deck, "/path/to/deck/folder") + print(f"Loaded {count} card images") +""" + +import os +import re +from pathlib import Path +from typing import Dict, List, Optional, Tuple, TYPE_CHECKING + +if TYPE_CHECKING: + from tarot.deck import Card, Deck + + +class ImageDeckLoader: + """Loader for matching Tarot card images to deck cards.""" + + # Supported image extensions + SUPPORTED_EXTENSIONS = {'.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp'} + + # Regex patterns for file matching + NUMBERED_PATTERN = re.compile(r'^(\d+)(?:_(.+))?\.(?:jpg|jpeg|png|gif|bmp|webp)$', re.IGNORECASE) + + def __init__(self, deck_folder: str) -> None: + """ + Initialize the image deck loader. + + Args: + deck_folder: Path to the folder containing card images + + Raises: + ValueError: If folder doesn't exist or is not a directory + """ + self.deck_folder = Path(deck_folder) + + if not self.deck_folder.exists(): + raise ValueError(f"Deck folder does not exist: {deck_folder}") + + if not self.deck_folder.is_dir(): + raise ValueError(f"Deck path is not a directory: {deck_folder}") + + self.image_files = self._scan_folder() + self.card_mapping: Dict[int, Tuple[str, bool]] = {} # card_number -> (path, has_custom_name) + self._build_mapping() + + def _scan_folder(self) -> List[Path]: + """Scan folder for image files.""" + images = [] + for ext in self.SUPPORTED_EXTENSIONS: + images.extend(self.deck_folder.glob(f'*{ext}')) + images.extend(self.deck_folder.glob(f'*{ext.upper()}')) + + # Sort by filename for consistent ordering + return sorted(images) + + def _parse_filename(self, filename: str) -> Tuple[Optional[int], Optional[str], bool]: + """ + Parse image filename to extract card number and optional custom name. + + Args: + filename: The filename (without path) + + Returns: + Tuple of (card_number, custom_name, has_custom_name) + - card_number: Parsed number if found, else None + - custom_name: Custom name if present (e.g., "foolish" from "00_foolish.jpg") + - has_custom_name: True if custom name was found + + Examples: + "0.jpg" -> (0, None, False) + "00_foolish.jpg" -> (0, "foolish", True) + "01_magic_man.jpg" -> (1, "magic_man", True) + "invalid.jpg" -> (None, None, False) + """ + match = self.NUMBERED_PATTERN.match(filename) + + if not match: + return None, None, False + + card_number = int(match.group(1)) + custom_name = match.group(2) + has_custom_name = custom_name is not None + + return card_number, custom_name, has_custom_name + + def _build_mapping(self) -> None: + """Build mapping from card numbers to image file paths.""" + for image_path in self.image_files: + card_num, custom_name, has_custom_name = self._parse_filename(image_path.name) + + if card_num is not None: + # Store path and whether it has a custom name + self.card_mapping[card_num] = (str(image_path), has_custom_name) + + def _normalize_card_name(self, name: str) -> str: + """ + Normalize card name for matching. + + Converts to lowercase, removes special characters, collapses whitespace. + + Args: + name: Original card name + + Returns: + Normalized name + + Examples: + "The Fool" -> "the fool" + "Princess of Swords" -> "princess of swords" + "Ace of Cups" -> "ace of cups" + """ + # Convert to lowercase + normalized = name.lower() + + # Replace special characters with spaces + normalized = re.sub(r'[^\w\s]', ' ', normalized) + + # Collapse multiple spaces + normalized = re.sub(r'\s+', ' ', normalized).strip() + + return normalized + + def _find_fuzzy_match(self, card_name_normalized: str) -> Optional[int]: + """ + Find matching card number using fuzzy name matching. + + This is a fallback when card names don't parse as numbers. + + Args: + card_name_normalized: Normalized card name + + Returns: + Card number if a match is found, else None + """ + best_match = None + best_score = 0 + threshold = 0.6 + + # Check all parsed custom names + for card_num, (_, has_custom_name) in self.card_mapping.items(): + if not has_custom_name: + continue + + # Get the actual filename to extract custom name + for image_path in self.image_files: + parsed_num, custom_name, _ = self._parse_filename(image_path.name) + + if parsed_num == card_num and custom_name: + normalized_custom = self._normalize_card_name(custom_name) + + # Simple similarity score: words that match + query_words = set(card_name_normalized.split()) + custom_words = set(normalized_custom.split()) + + if query_words and custom_words: + intersection = len(query_words & custom_words) + union = len(query_words | custom_words) + score = intersection / union if union > 0 else 0 + + if score > best_score and score >= threshold: + best_score = score + best_match = card_num + + return best_match + + def get_image_path(self, card: 'Card') -> Optional[str]: + """ + Get the image path for a specific card. + + Matches cards by: + 1. Card number (primary method) + 2. Fuzzy matching on card name (fallback) + + Args: + card: The Card object to find an image for + + Returns: + Full path to image file, or None if not found + """ + # Try direct number match first + if card.number in self.card_mapping: + path, _ = self.card_mapping[card.number] + return path + + # Try fuzzy match on name as fallback + normalized_name = self._normalize_card_name(card.name) + fuzzy_match = self._find_fuzzy_match(normalized_name) + + if fuzzy_match is not None and fuzzy_match in self.card_mapping: + path, _ = self.card_mapping[fuzzy_match] + return path + + return None + + def should_override_name(self, card_number: int) -> bool: + """ + Check if card name should be overridden from filename. + + Returns True only if: + - Image file has a custom name component (##_name.jpg format) + - Not just a plain number (##.jpg format) + + Args: + card_number: The card's number + + Returns: + True if name should be overridden from filename, False otherwise + """ + if card_number not in self.card_mapping: + return False + + _, has_custom_name = self.card_mapping[card_number] + return has_custom_name + + def get_custom_name(self, card_number: int) -> Optional[str]: + """ + Get the custom card name from the filename. + + Args: + card_number: The card's number + + Returns: + Custom name if present, None otherwise + + Example: + If filename is "00_the_foolish.jpg", returns "the_foolish" + If filename is "00.jpg", returns None + """ + if card_number not in self.card_mapping: + return None + + # Find the image file for this card number + for image_path in self.image_files: + _, custom_name, _ = self._parse_filename(image_path.name) + + parsed_num, _, _ = self._parse_filename(image_path.name) + if parsed_num == card_number and custom_name: + # Convert underscore-separated name to title case + name_words = custom_name.split('_') + return ' '.join(word.capitalize() for word in name_words) + + return None + + def load_into_deck(self, deck: 'Deck', + override_names: bool = True, + verbose: bool = False) -> int: + """ + Load image paths into all cards in a deck. + + Args: + deck: The Deck to load images into + override_names: If True, use custom names from filenames when available + verbose: If True, print progress information + + Returns: + Number of cards that had images loaded + + Example: + >>> loader = ImageDeckLoader("/path/to/deck") + >>> deck = Deck() + >>> count = loader.load_into_deck(deck, override_names=True) + >>> print(f"Loaded {count} card images") + """ + loaded_count = 0 + + for card in deck.cards: + image_path = self.get_image_path(card) + + if image_path: + card.image_path = image_path + loaded_count += 1 + + # Override name if appropriate + if override_names and self.should_override_name(card.number): + custom_name = self.get_custom_name(card.number) + if custom_name: + if verbose: + print(f" {card.number}: {card.name} -> {custom_name}") + card.name = custom_name + elif verbose: + print(f" ✓ {card.number}: {card.name}") + + return loaded_count + + def get_summary(self) -> Dict[str, any]: + """ + Get a summary of loaded images and statistics. + + Returns: + Dictionary with loader statistics + """ + total_images = len(self.image_files) + mapped_cards = len(self.card_mapping) + custom_named = sum(1 for _, has_custom in self.card_mapping.values() if has_custom) + + return { + 'deck_folder': str(self.deck_folder), + 'total_image_files': total_images, + 'total_image_filenames': len(set(f.name for f in self.image_files)), + 'mapped_card_numbers': mapped_cards, + 'cards_with_custom_names': custom_named, + 'cards_with_generic_numbers': mapped_cards - custom_named, + 'image_extensions_found': list(set(f.suffix.lower() for f in self.image_files)), + } + + +def load_deck_images(deck: 'Deck', + deck_folder: str, + override_names: bool = True, + verbose: bool = False) -> int: + """ + Convenience function to load deck images. + + Args: + deck: The Deck object to load images into + deck_folder: Path to folder containing card images + override_names: If True, use custom names from filenames when available + verbose: If True, print progress information + + Returns: + Number of cards that had images loaded + + Raises: + ValueError: If deck_folder doesn't exist or is invalid + + Example: + >>> from tarot import Deck + >>> from tarot.card.image_loader import load_deck_images + >>> + >>> deck = Deck() + >>> count = load_deck_images(deck, "/path/to/deck/images") + >>> print(f"Loaded {count} card images") + """ + loader = ImageDeckLoader(deck_folder) + return loader.load_into_deck(deck, override_names=override_names, verbose=verbose) diff --git a/src/tarot/card/loader.py b/src/tarot/card/loader.py new file mode 100644 index 0000000..a4a2639 --- /dev/null +++ b/src/tarot/card/loader.py @@ -0,0 +1,259 @@ +"""Card loader for populating card details from the registry. + +This module provides utilities to load card details from the CardDetailsRegistry +into Card objects, supporting both individual cards and full decks. + +Usage: + from tarot.card.loader import load_card_details, load_deck_details + from tarot.card.details import CardDetailsRegistry + + # Load single card + loader = CardDetailsRegistry() + card = my_deck.minor.swords(11) + load_card_details(card, loader) + + # Load entire deck + load_deck_details(my_deck, loader) +""" + +from typing import TYPE_CHECKING, List, Optional + +if TYPE_CHECKING: + from tarot.card.card import Card + from tarot.card.details import CardDetailsRegistry + from tarot.deck import Deck + + +def load_card_details( + card: 'Card', + registry: Optional['CardDetailsRegistry'] = None +) -> bool: + """ + Load details for a single card from the registry. + + Args: + card: The Card object to populate with details + registry: Optional CardDetailsRegistry. If not provided, creates a new one. + + Returns: + True if details were found and loaded, False otherwise + + Example: + >>> from tarot import Deck + >>> deck = Deck() + >>> card = deck.major[0] # The Fool + >>> load_card_details(card) + True + >>> print(card.keywords) + ['new beginnings', 'innocence', 'faith', ...] + """ + if registry is None: + from tarot.card.details import CardDetailsRegistry + registry = CardDetailsRegistry() + + return registry.load_into_card(card) + + +def load_deck_details( + deck: 'Deck', + registry: Optional['CardDetailsRegistry'] = None, + verbose: bool = False +) -> int: + """ + Load details for all cards in a deck. + + Args: + deck: The Deck object containing cards to populate + registry: Optional CardDetailsRegistry. If not provided, creates a new one. + verbose: If True, prints information about each card loaded + + Returns: + Number of cards successfully loaded with details + + Example: + >>> from tarot import Deck + >>> deck = Deck() + >>> count = load_deck_details(deck, verbose=True) + >>> print(f"Loaded details for {count} cards") + """ + if registry is None: + from tarot.card.details import CardDetailsRegistry + registry = CardDetailsRegistry() + + loaded_count = 0 + failed_cards = [] + + # Load all cards from the deck + for card in deck.cards: + if load_card_details(card, registry): + loaded_count += 1 + if verbose: + print(f"✓ Loaded: {card.name}") + else: + failed_cards.append(card.name) + if verbose: + print(f"✗ Failed: {card.name}") + + if verbose and failed_cards: + print(f"\n{len(failed_cards)} cards failed to load:") + for name in failed_cards: + print(f" - {name}") + + return loaded_count + + +def get_cards_by_suit( + deck: 'Deck', + suit_name: str +) -> List['Card']: + """ + Get all cards from a specific suit in the deck. + + Args: + deck: The Deck object + suit_name: The suit name ("Cups", "Pentacles", "Swords", "Wands") + + Returns: + List of Card objects from that suit + + Example: + >>> from tarot import Deck + >>> from tarot.card.loader import get_cards_by_suit + >>> deck = Deck() + >>> swords = get_cards_by_suit(deck, "Swords") + >>> print(len(swords)) # Should be 14 + 14 + """ + if hasattr(deck, 'suit') and callable(deck.suit): + # Deck has a suit method, use it + return deck.suit(suit_name) + + # Fallback: filter cards manually + return [card for card in deck.cards if hasattr(card, 'suit') and + card.suit and card.suit.name == suit_name] + + +def filter_cards_by_keywords( + cards: List['Card'], + keyword: str +) -> List['Card']: + """ + Filter a list of cards by keyword. + + Args: + cards: List of Card objects to filter + keyword: The keyword to search for (case-insensitive) + + Returns: + List of cards that have the keyword + + Example: + >>> from tarot import Deck + >>> deck = Deck() + >>> all_cards = list(deck.major.cards()) + list(deck.minor.cups.cards()) + >>> love_cards = filter_cards_by_keywords(all_cards, "love") + """ + keyword_lower = keyword.lower() + return [ + card for card in cards + if hasattr(card, 'keywords') and card.keywords and + any(keyword_lower in kw.lower() for kw in card.keywords) + ] + + +def print_card_details(card: 'Card', include_reversed: bool = False) -> None: + """ + Pretty print card details to console. + + Args: + card: The Card object to print + include_reversed: If True, also print reversed keywords and interpretation + + Example: + >>> from tarot import Deck + >>> deck = Deck() + >>> card = deck.major[0] # The Fool + >>> print_card_details(card) + """ + print(f"\n{'=' * 60}") + print(f" {card.name}") + print(f"{'=' * 60}") + + # Define attributes to print with their formatting + attributes = { + 'explanation': ('Explanation', False), + 'interpretation': ('Interpretation', False), + 'guidance': ('Guidance', False), + } + + # Add reversed attributes only if requested + if include_reversed: + attributes['reversed_interpretation'] = ('Reversed Interpretation', False) + + # List attributes (joined with commas) + list_attributes = { + 'keywords': 'Keywords', + 'reversed_keywords': ('Reversed Keywords', include_reversed), + } + + # Numeric attributes + numeric_attributes = { + 'numerology': 'Numerology', + } + + # Print text attributes + for attr_name, (display_name, _) in attributes.items(): + if hasattr(card, attr_name): + value = getattr(card, attr_name) + if value: + print(f"\n{display_name}:\n{value}") + + # Print list attributes + for attr_name, display_info in list_attributes.items(): + if isinstance(display_info, tuple): + display_name, should_show = display_info + if not should_show: + continue + else: + display_name = display_info + + if hasattr(card, attr_name): + value = getattr(card, attr_name) + if value: + print(f"\n{display_name}: {', '.join(value)}") + + # Print numeric attributes + for attr_name, display_name in numeric_attributes.items(): + if hasattr(card, attr_name): + value = getattr(card, attr_name) + if value is not None: + print(f"\n{display_name}: {value}") + + print(f"\n{'=' * 60}\n") + + +def get_card_info( + card_name: str, + registry: Optional['CardDetailsRegistry'] = None +) -> Optional[dict]: + """ + Get card information by card name. + + Args: + card_name: The name of the card (e.g., "Princess of Swords") + registry: Optional CardDetailsRegistry. If not provided, creates a new one. + + Returns: + Dictionary containing card details, or None if not found + + Example: + >>> from tarot.card.loader import get_card_info + >>> info = get_card_info("Princess of Swords") + >>> if info: + ... print(info['explanation']) + """ + if registry is None: + from tarot.card.details import CardDetailsRegistry + registry = CardDetailsRegistry() + + return registry.get(card_name) diff --git a/src/tarot/card/spread.py b/src/tarot/card/spread.py new file mode 100644 index 0000000..ccdc689 --- /dev/null +++ b/src/tarot/card/spread.py @@ -0,0 +1,323 @@ +""" +Tarot spread definitions and management with card drawing. + +Provides predefined spreads like Celtic Cross, Golden Dawn (3-card), etc. +with position meanings and automatic card drawing. + +Usage: + from tarot import Tarot + + # Draw cards for a spread + reading = Tarot.deck.card.spread('Celtic Cross') + print(reading) + + # Can also access spread with/without cards + from tarot.card.spread import Spread, draw_spread + + spread = Spread('Celtic Cross') + reading = draw_spread(spread) # Returns list of (position, card) tuples +""" + +from typing import Dict, List, Optional, TYPE_CHECKING +from dataclasses import dataclass +import random + +if TYPE_CHECKING: + from tarot.card import Card + + +@dataclass +class SpreadPosition: + """Represents a position in a Tarot spread.""" + number: int + name: str + meaning: str + reversed_meaning: Optional[str] = None + + def __str__(self) -> str: + result = f"{self.number}. {self.name}: {self.meaning}" + if self.reversed_meaning: + result += f"\n (Reversed: {self.reversed_meaning})" + return result + + +@dataclass +class DrawnCard: + """Represents a card drawn for a spread position.""" + position: SpreadPosition + card: 'Card' + is_reversed: bool + + def __str__(self) -> str: + """Format the drawn card with position and interpretation.""" + card_name = self.card.name + if self.is_reversed: + card_name += " (Reversed)" + + return f"{self.position.number}. {self.position.name}\n" \ + f" └─ {card_name}\n" \ + f" └─ Position: {self.position.meaning}" + + +class Spread: + """Represents a Tarot spread with positions and meanings.""" + + # Define all available spreads + SPREADS: Dict[str, Dict] = { + 'three card': { + 'name': '3-Card Spread', + 'description': 'Simple 3-card spread for past, present, future or situation, action, outcome', + 'positions': [ + SpreadPosition(1, 'First Position', 'Past, Foundation, or Situation'), + SpreadPosition(2, 'Second Position', 'Present, Action, or Influence'), + SpreadPosition(3, 'Third Position', 'Future, Outcome, or Advice'), + ] + }, + 'golden dawn': { + 'name': 'Golden Dawn 3-Card', + 'description': 'Three card spread used in Golden Dawn tradition', + 'positions': [ + SpreadPosition(1, 'Supernal Triangle', 'Spiritual/Divine aspect'), + SpreadPosition(2, 'Pillar of Severity', 'Challenging/Active force'), + SpreadPosition(3, 'Pillar of Mercy', 'Supportive/Passive force'), + ] + }, + 'celtic cross': { + 'name': 'Celtic Cross', + 'description': 'Classic 10-card spread for in-depth reading', + 'positions': [ + SpreadPosition(1, 'The Significator', 'The main situation or person'), + SpreadPosition(2, 'The Cross', 'The challenge or heart of the matter'), + SpreadPosition(3, 'Crowning Influence', 'Conscious hopes/ideals'), + SpreadPosition(4, 'Beneath the Cross', 'Unconscious or hidden aspects'), + SpreadPosition(5, 'Behind', 'Past influences'), + SpreadPosition(6, 'Before', 'Future influences'), + SpreadPosition(7, 'Self/Attitude', 'How the querent sees themselves'), + SpreadPosition(8, 'Others/Environment', 'External factors/opinions'), + SpreadPosition(9, 'Hopes and Fears', 'What the querent hopes for or fears'), + SpreadPosition(10, 'Outcome', 'Final outcome or resolution'), + ] + }, + 'horseshoe': { + 'name': 'Horseshoe', + 'description': '7-card spread in horseshoe formation for past, present, future insight', + 'positions': [ + SpreadPosition(1, 'Distant Past', 'Ancient influences and foundations'), + SpreadPosition(2, 'Recent Past', 'Recent events and circumstances'), + SpreadPosition(3, 'Present Situation', 'Current state of affairs'), + SpreadPosition(4, 'Immediate Future', 'Near-term developments'), + SpreadPosition(5, 'Distant Future', 'Long-term outcome'), + SpreadPosition(6, 'Inner Influence', 'Self/thoughts/emotions'), + SpreadPosition(7, 'Outer Influence', 'External forces and environment'), + ] + }, + 'pentagram': { + 'name': 'Pentagram', + 'description': '5-card spread based on Earth element pentagram', + 'positions': [ + SpreadPosition(1, 'Spirit', 'Core essence or spiritual truth'), + SpreadPosition(2, 'Fire', 'Action and willpower'), + SpreadPosition(3, 'Water', 'Emotions and intuition'), + SpreadPosition(4, 'Air', 'Intellect and communication'), + SpreadPosition(5, 'Earth', 'Physical manifestation and grounding'), + ] + }, + 'tree of life': { + 'name': 'Tree of Life', + 'description': '10-card spread mapping Sephiroth on the Tree of Life', + 'positions': [ + SpreadPosition(1, 'Kether (Crown)', 'Divine will and unity'), + SpreadPosition(2, 'Chokmah (Wisdom)', 'Creative force and impulse'), + SpreadPosition(3, 'Binah (Understanding)', 'Form and structure'), + SpreadPosition(4, 'Chesed (Mercy)', 'Expansion and abundance'), + SpreadPosition(5, 'Gevurah (Severity)', 'Reduction and discipline'), + SpreadPosition(6, 'Tiphareth (Beauty)', 'Core self and integration'), + SpreadPosition(7, 'Netzach (Victory)', 'Desire and passion'), + SpreadPosition(8, 'Hod (Splendor)', 'Intellect and communication'), + SpreadPosition(9, 'Yesod (Foundation)', 'Subconscious and dreams'), + SpreadPosition(10, 'Malkuth (Kingdom)', 'Manifestation and physical reality'), + ] + }, + 'relationship': { + 'name': 'Relationship', + 'description': '5-card spread for relationship insight', + 'positions': [ + SpreadPosition(1, 'You', 'Your position, feelings, or role'), + SpreadPosition(2, 'Them', 'Their position, feelings, or perspective'), + SpreadPosition(3, 'The Relationship', 'The dynamic and connection'), + SpreadPosition(4, 'Challenge', 'Current challenge or friction point'), + SpreadPosition(5, 'Outcome', 'Where the relationship is heading'), + ] + }, + 'yes or no': { + 'name': 'Yes or No', + 'description': '1-card spread for simple yes/no answers', + 'positions': [ + SpreadPosition(1, 'Answer', 'Major Arcana = Yes, Minor Arcana = No, Court Cards = Maybe'), + ] + }, + } + + def __init__(self, spread_name: str) -> None: + """ + Initialize a spread by name (case-insensitive). + + Args: + spread_name: Name of the spread to use + + Raises: + ValueError: If spread name not found + """ + # Normalize name (case-insensitive, allow underscores or spaces) + normalized_name = spread_name.lower().replace('_', ' ') + + # Find matching spread + spread_data = None + for key, data in self.SPREADS.items(): + if key == normalized_name or data['name'].lower() == normalized_name: + spread_data = data + break + + if not spread_data: + available = ', '.join(f"'{k}'" for k in self.SPREADS.keys()) + raise ValueError( + f"Spread '{spread_name}' not found. Available spreads: {available}" + ) + + self.name = spread_data['name'] + self.description = spread_data['description'] + self.positions: List[SpreadPosition] = spread_data['positions'] + + def __str__(self) -> str: + """Return formatted spread information.""" + lines = [ + f"═══════════════════════════════════════════", + f" {self.name}", + f"═══════════════════════════════════════════", + f"", + f"{self.description}", + f"", + f"Positions ({len(self.positions)} cards):", + f"", + ] + + for pos in self.positions: + lines.append(f" {pos}") + + lines.append(f"") + lines.append(f"═══════════════════════════════════════════") + + return "\n".join(lines) + + def __repr__(self) -> str: + return f"Spread('{self.name}')" + + @classmethod + def available_spreads(cls) -> str: + """Return list of all available spreads.""" + lines = [ + "Available Tarot Spreads:", + "═" * 50, + "" + ] + + for key, data in cls.SPREADS.items(): + lines.append(f" • {data['name']}") + lines.append(f" Name for API: '{key}'") + lines.append(f" Positions: {len(data['positions'])}") + lines.append(f" {data['description']}") + lines.append("") + + return "\n".join(lines) + + def get_position(self, position_number: int) -> Optional[SpreadPosition]: + """Get a specific position by number.""" + for pos in self.positions: + if pos.number == position_number: + return pos + return None + + +def draw_spread(spread: Spread, deck: Optional[List] = None) -> List[DrawnCard]: + """ + Draw cards for all positions in a spread. + + Args: + spread: The Spread object with positions defined + deck: Optional list of Card objects. If None, uses Tarot.deck.cards + + Returns: + List of DrawnCard objects (one per position) with random cards and reversals + """ + import random + + # Load deck if not provided + if deck is None: + from tarot.deck import Deck + deck_instance = Deck() + deck = deck_instance.cards + + drawn_cards = [] + for position in spread.positions: + # Draw random card + card = random.choice(deck) + # Random reversal (50% chance) + is_reversed = random.choice([True, False]) + drawn_cards.append(DrawnCard(position, card, is_reversed)) + + return drawn_cards + + +class SpreadReading: + """Represents a complete tarot reading with cards drawn for a spread.""" + + def __init__(self, spread: Spread, drawn_cards: List[DrawnCard]) -> None: + """ + Initialize a reading with a spread and drawn cards. + + Args: + spread: The Spread object + drawn_cards: List of DrawnCard objects + """ + self.spread = spread + self.drawn_cards = drawn_cards + + def __str__(self) -> str: + """Return formatted reading with all cards and interpretations.""" + lines = [ + f"╔═══════════════════════════════════════════╗", + f"║ {self.spread.name:40}║", + f"╚═══════════════════════════════════════════╝", + f"", + f"{self.spread.description}", + f"", + f"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━", + f"", + ] + + for drawn in self.drawn_cards: + card = drawn.card + card_name = card.name + if drawn.is_reversed: + card_name += " ◄ REVERSED" + + lines.append(f"Position {drawn.position.number}: {drawn.position.name}") + lines.append(f" Card: {card_name}") + lines.append(f" Meaning: {drawn.position.meaning}") + + # Add card details if available + if hasattr(card, 'number'): + lines.append(f" Card #: {card.number}") + if hasattr(card, 'arcana'): + lines.append(f" Arcana: {card.arcana}") + if hasattr(card, 'suit') and card.suit: + lines.append(f" Suit: {card.suit.name}") + + lines.append("") + + lines.append(f"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━") + + return "\n".join(lines) + + def __repr__(self) -> str: + return f"SpreadReading({self.spread.name}, {len(self.drawn_cards)} cards)" diff --git a/src/tarot/deck/__init__.py b/src/tarot/deck/__init__.py new file mode 100644 index 0000000..251ddf1 --- /dev/null +++ b/src/tarot/deck/__init__.py @@ -0,0 +1,32 @@ +""" +Tarot deck module - Core card and deck classes. + +Provides the Deck class for managing Tarot cards and the Card, MajorCard, +MinorCard, and related classes for representing individual cards. +""" + +from .deck import ( + Card, + MajorCard, + MinorCard, + PipCard, + AceCard, + CourtCard, + CardQuery, + TemporalQuery, + DLT, + Deck, +) + +__all__ = [ + "Card", + "MajorCard", + "MinorCard", + "PipCard", + "AceCard", + "CourtCard", + "CardQuery", + "TemporalQuery", + "DLT", + "Deck", +] diff --git a/src/tarot/deck/deck.py b/src/tarot/deck/deck.py new file mode 100644 index 0000000..36697ff --- /dev/null +++ b/src/tarot/deck/deck.py @@ -0,0 +1,734 @@ +""" +Core Tarot deck and card classes. + +This module defines the Deck class for managing Tarot cards and the Card, +MajorCard, and MinorCard classes for representing individual cards. +""" + +from dataclasses import dataclass, field +from typing import List, Optional, Tuple, TYPE_CHECKING +import random + +from ..attributes import ( + Meaning, CardImage, Suit, Zodiac, Element, Path, + Planet, Sephera, Color, PeriodicTable, ElementType, DoublLetterTrump +) + +if TYPE_CHECKING: + from ..card.data import CardDataLoader + +# Global CardDataLoader instance for accessing elements +_card_data = None # Will be initialized lazily + + +def _get_card_data(): + """Get or initialize the global CardDataLoader instance.""" + global _card_data + if _card_data is None: + from ..card.data import CardDataLoader + _card_data = CardDataLoader() + return _card_data + + +@dataclass +class Card: + """Base class representing a Tarot card.""" + number: int + name: str + meaning: Meaning + arcana: str # "Major" or "Minor" + image: Optional[CardImage] = None + + # These are overridden in subclasses but declared here for MinorCard compatibility + suit: Optional[Suit] = None + pip: int = 0 + + # Card-specific details + explanation: str = "" + interpretation: str = "" + keywords: List[str] = field(default_factory=list) + reversed_keywords: List[str] = field(default_factory=list) + guidance: str = "" + numerology: Optional[int] = None + + # Image path for custom deck images + image_path: Optional[str] = None + + def __str__(self) -> str: + return f"{self.number}. {self.name}" + + def __repr__(self) -> str: + return f"Card({self.number}, '{self.name}')" + + def key(self) -> str: + """ + Get the card's key as a Roman numeral representation. + + Returns: + Roman numeral string (e.g., "I", "XXI") for Major Arcana, + or the pip number as string for Minor Arcana. + """ + # Import here to avoid circular imports + from ..card.details import CardDetailsRegistry + + # For Major Arcana cards, convert the key to Roman numerals + if self.arcana == "Major": + return CardDetailsRegistry.key_to_roman(self.number) + + # For Minor Arcana, return the pip number as a formatted string + if hasattr(self, 'pip') and self.pip > 0: + pip_names = { + 2: "Two", 3: "Three", 4: "Four", 5: "Five", + 6: "Six", 7: "Seven", 8: "Eight", 9: "Nine", 10: "Ten" + } + return pip_names.get(self.pip, str(self.pip)) + + return str(self.number) + + @property + def type(self) -> str: + """Get the specific card type (Major, Pip, Ace, Court).""" + if isinstance(self, MajorCard): + return "Major" + elif isinstance(self, AceCard): + return "Ace" + elif isinstance(self, CourtCard): + return "Court" + elif isinstance(self, PipCard): + return "Pip" + return "Unknown" + + +@dataclass +class MajorCard(Card): + """Represents a Major Arcana card.""" + kabbalistic_number: Optional[int] = None + tarot_letter: Optional[str] = None + tree_of_life_path: Optional[int] = None + + def __post_init__(self) -> None: + # Kabbalistic number should be 0-21, but deck position can be anywhere + if self.kabbalistic_number is not None and (self.kabbalistic_number < 0 or self.kabbalistic_number > 21): + raise ValueError(f"Major Arcana kabbalistic number must be 0-21, got {self.kabbalistic_number}") + self.arcana = "Major" + + +@dataclass +class MinorCard(Card): + """Represents a Minor Arcana card - either Pip or Court card.""" + suit: Suit = None # type: ignore + astrological_influence: Optional[str] = None + element: Optional[Element] = None + + def __post_init__(self) -> None: + if self.suit is None: + raise ValueError("suit must be provided for MinorCard") + self.arcana = "Minor" + + +@dataclass +class PipCard(MinorCard): + """Represents a Pip card (2 through 10) - has a pip number. + + Pip cards represent numbered forces in their suit, from Two + through its full development (10). + """ + pip: int = 0 + + def __post_init__(self) -> None: + if not (2 <= self.pip <= 10): + raise ValueError(f"Pip card number must be 2-10, got {self.pip}") + super().__post_init__() + + +@dataclass +class AceCard(MinorCard): + """Represents an Ace card - the root/foundation of the suit. + + The Ace is the initial force of the suit and contains the potential + for all other cards within that suit. Aces have pip=1 but are not + technically pip cards. + """ + pip: int = 1 + + def __post_init__(self) -> None: + if self.pip != 1: + raise ValueError(f"AceCard must have pip 1, got {self.pip}") + super().__post_init__() + + +@dataclass +class CourtCard(MinorCard): + """Represents a Court Card - Knight, Prince, Princess, or Queen. + + Court cards represent people/personalities and are the highest rank + in the minor arcana. They do NOT have pips - they are archetypes. + + Each court card is associated with an element and Hebrew letter (Path): + - Knight: Fire + Yod (path 20) + - Prince: Air + Vav (path 16) + - Princess: Earth + Heh (path 15) + - Queen: Water + Heh (path 15) + """ + + COURT_RANKS = {"Knight": 12, "Prince": 11, "Princess": 13, "Queen": 14} + court_rank: str = "" + associated_element: Optional[ElementType] = None + hebrew_letter_path: Optional['Path'] = None + + def __post_init__(self) -> None: + if self.court_rank not in self.COURT_RANKS: + raise ValueError( + f"CourtCard must have court_rank in {list(self.COURT_RANKS.keys())}, " + f"got {self.court_rank}" + ) + super().__post_init__() + + + +class CardQuery: + """Helper class for fluent card queries: deck.number(3).minor.wands""" + + def __init__(self, deck: 'Deck', number: Optional[int] = None, + arcana: Optional[str] = None) -> None: + self.deck = deck + self.number = number + self.arcana = arcana + + def _filter_cards(self) -> List[Card]: + """Get filtered cards based on current query state.""" + cards = self.deck.cards + + if self.number is not None: + cards = [c for c in cards if c.number == self.number or + (hasattr(c, 'pip') and c.pip == self.number)] + + if self.arcana is not None: + cards = [c for c in cards if c.arcana == self.arcana] + + return cards + + @property + def major(self) -> List[Card]: + """Filter to Major Arcana only.""" + return [c for c in self._filter_cards() if c.arcana == "Major"] + + @property + def minor(self) -> 'CardQuery': + """Filter to Minor Arcana, return new CardQuery for suit chaining.""" + return CardQuery(self.deck, self.number, "Minor") + + @property + def cups(self) -> List[Card]: + """Get cards in Cups suit.""" + return [c for c in self._filter_cards() if hasattr(c, 'suit') and + c.suit and c.suit.name == "Cups"] + + @property + def swords(self) -> List[Card]: + """Get cards in Swords suit.""" + return [c for c in self._filter_cards() if hasattr(c, 'suit') and + c.suit and c.suit.name == "Swords"] + + @property + def wands(self) -> List[Card]: + """Get cards in Wands suit.""" + return [c for c in self._filter_cards() if hasattr(c, 'suit') and + c.suit and c.suit.name == "Wands"] + + @property + def pentacles(self) -> List[Card]: + """Get cards in Pentacles suit.""" + return [c for c in self._filter_cards() if hasattr(c, 'suit') and + c.suit and c.suit.name == "Pentacles"] + + def __iter__(self): + """Allow iteration over filtered cards.""" + return iter(self._filter_cards()) + + def __len__(self) -> int: + """Return count of filtered cards.""" + return len(self._filter_cards()) + + def __getitem__(self, index: int) -> Card: + """Get card by index from filtered results.""" + return self._filter_cards()[index] + + def __repr__(self) -> str: + cards = self._filter_cards() + names = [c.name for c in cards] + return f"CardQuery({names})" + + +class TemporalQuery: + """Helper class for fluent temporal queries: loader.month(5).day(23).hour(15)""" + + def __init__(self, loader: 'CardDataLoader', month_num: Optional[int] = None, + day_num: Optional[int] = None, hour_num: Optional[int] = None) -> None: + """ + Initialize temporal query builder. + + Args: + loader: CardDataLoader instance for fetching temporal data + month_num: Month number (1-12) + day_num: Day number (1-31) + hour_num: Hour number (0-23) + """ + self.loader = loader + self.month_num = month_num + self.day_num = day_num + self.hour_num = hour_num + + def month(self, num: int) -> 'TemporalQuery': + """Set month (1-12) and return new query for chaining.""" + return TemporalQuery(self.loader, month_num=num, + day_num=self.day_num, hour_num=self.hour_num) + + def day(self, num: int) -> 'TemporalQuery': + """Set day (1-31) and return new query for chaining.""" + if self.month_num is None: + raise ValueError("Must set month before day") + return TemporalQuery(self.loader, month_num=self.month_num, + day_num=num, hour_num=self.hour_num) + + def hour(self, num: int) -> 'TemporalQuery': + """Set hour (0-23) and return new query for chaining.""" + if self.month_num is None or self.day_num is None: + raise ValueError("Must set month and day before hour") + return TemporalQuery(self.loader, month_num=self.month_num, + day_num=self.day_num, hour_num=num) + + def weekday(self) -> Optional[str]: + """Get weekday name for current month/day combination using Zeller's congruence.""" + if self.month_num is None or self.day_num is None: + raise ValueError("Must set month and day to get weekday") + + # Zeller's congruence (adjusted for current calendar) + month = self.month_num + day = self.day_num + year = 2024 # Use current year as reference + + # Adjust month and year for March-based calculation + if month < 3: + month += 12 + year -= 1 + + # Zeller's formula + q = day + m = month + k = year % 100 + j = year // 100 + + h = (q + ((13 * (m + 1)) // 5) + k + (k // 4) + (j // 4) - (2 * j)) % 7 + + # Convert to weekday name (0=Saturday, 1=Sunday, 2=Monday, ..., 6=Friday) + day_names = ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] + return day_names[h] + + def month_info(self): + """Return month metadata for the configured query.""" + if self.month_num is None: + return None + return self.loader.month_info(self.month_num) + + def day_info(self): + """Return day metadata for the configured query.""" + if self.day_num is None: + return None + return self.loader.day_info(self.day_num) + + def hour_info(self): + """Return the planetary hour metadata for the configured query.""" + if self.hour_num is None: + return None + return self.loader.clock_hour(self.hour_num) + + def __repr__(self) -> str: + parts = [] + if self.month_num: + parts.append(f"month={self.month_num}") + if self.day_num: + parts.append(f"day={self.day_num}") + if self.hour_num: + parts.append(f"hour={self.hour_num}") + return f"TemporalQuery({', '.join(parts)})" + + +class DLT: + """ + Double Letter Trump (DLT) accessor. + + Double Letter Trumps are Major Arcana cards 3-21 (19 cards total), + each associated with a Hebrew letter and planetary/astrological force. + + Usage: + dlt = DLT(3) # Get the 3rd Double Letter Trump (The Empress) + dlt = DLT(7) # Get the 7th Double Letter Trump (The Chariot) + """ + + def __init__(self, trump_number: int) -> None: + """ + Initialize a Double Letter Trump query. + + Args: + trump_number: Position in DLT sequence (3-21) + + Raises: + ValueError: If trump_number is not 3-21 + """ + if not 3 <= trump_number <= 21: + raise ValueError(f"DLT number must be 3-21, got {trump_number}") + + self.trump_number = trump_number + self._loader: Optional['CardDataLoader'] = None + self._deck: Optional[Deck] = None + + @property + def loader(self) -> 'CardDataLoader': + """Lazy-load CardDataLoader on first access.""" + if self._loader is None: + from ..card.data import CardDataLoader + self._loader = CardDataLoader() + return self._loader + + @property + def deck(self) -> 'Deck': + """Lazy-load Deck on first access.""" + if self._deck is None: + self._deck = Deck() + return self._deck + + def card(self) -> Optional[Card]: + """Get the Tarot card for this DLT.""" + # Major Arcana cards are numbered 0-21, so DLT(3) = Major card 3 + for card in self.deck.cards: + if card.arcana == "Major" and card.number == self.trump_number: + return card + return None + + def periodic_entry(self) -> Optional[PeriodicTable]: + """Get the periodic table entry with cross-correspondences.""" + return self.loader.periodic_entry(self.trump_number) + + def sephera(self) -> Optional[Sephera]: + """Get the Sephira associated with this DLT.""" + return self.loader.sephera(self.trump_number) + + def planet(self) -> Optional[Planet]: + """Get the planetary ruler for this DLT.""" + periodic = self.periodic_entry() + return periodic.planet if periodic else None + + def element(self) -> Optional[ElementType]: + """Get the element associated with this DLT.""" + periodic = self.periodic_entry() + return periodic.element if periodic else None + + def hebrew_letter(self) -> Optional[str]: + """Get the Hebrew letter associated with this DLT.""" + periodic = self.periodic_entry() + return periodic.hebrew_letter if periodic else None + + def color(self) -> Optional[Color]: + """Get the color associated with this DLT.""" + periodic = self.periodic_entry() + return periodic.color if periodic else None + + def __repr__(self) -> str: + card = self.card() + card_name = card.name if card else "Unknown" + return f"DLT({self.trump_number}) - {card_name}" + + def __str__(self) -> str: + return self.__repr__() + + +class Deck: + """Represents a standard 78-card Tarot deck.""" + + def __init__(self) -> None: + """Initialize a standard Tarot deck with all 78 cards.""" + self.cards: List[Card] = [] + self.discard_pile: List[Card] = [] + self._initialize_deck() + + def _initialize_deck(self) -> None: + """Initialize the deck with all 78 Tarot cards. + + Order: Cups (1-14), Pentacles/Disks (15-28), Swords (29-42), + Major Arcana (43-64), Wands (65-78) + + This puts Queen of Wands as card #78, the final card. + """ + # Minor Arcana - First three suits (Cups, Pentacles, Swords) + # Organized logically: Ace, 10, 2-9, then court cards Knight, Prince, Princess, Queen + # Get ElementType instances from CardDataLoader + card_data = _get_card_data() + water_element = card_data.element("Water") + earth_element = card_data.element("Earth") + air_element = card_data.element("Air") + fire_element = card_data.element("Fire") + + if not water_element or not earth_element or not air_element or not fire_element: + raise RuntimeError("Failed to load element data from CardDataLoader") + + # Get Hebrew letters (Paths) for court cards + yod_path = card_data.path(20) # Yod + vav_path = card_data.path(16) # Vav + he_path = card_data.path(15) # He (Heh) + + if not yod_path or not vav_path or not he_path: + raise RuntimeError("Failed to load Hebrew letter/path data from CardDataLoader") + + # Map court ranks to their associated elements and Hebrew letter paths + # Knight -> Fire + Yod, Prince -> Air + Vav, Princess -> Earth + Heh, Queen -> Water + Heh + court_rank_mappings = { + "Knight": (fire_element, yod_path), + "Prince": (air_element, vav_path), + "Princess": (earth_element, he_path), + "Queen": (water_element, he_path), + } + + suits_data_first = [ + ("Cups", water_element, 2), + ("Pentacles", earth_element, 4), + ("Swords", air_element, 3), + ] + + # Pip order: Ace (1), Ten (10), Two-Nine (2-9), Knight (12), Prince (11), Princess (13), Queen (14) + pip_order = [1, 10, 2, 3, 4, 5, 6, 7, 8, 9, 12, 11, 13, 14] + pip_names = { + 1: "Ace", 2: "Two", 3: "Three", 4: "Four", 5: "Five", + 6: "Six", 7: "Seven", 8: "Eight", 9: "Nine", 10: "Ten", + 11: "Prince", 12: "Knight", 13: "Princess", 14: "Queen" + } + + card_number = 1 + # Pip order: Ace (1), Ten (10), Two-Nine (2-9), then Court cards Knight (12), Prince (11), Princess (13), Queen (14) + # Map pip_order indices to actual pip numbers (1-10 only for pips) + pip_index_to_number = { + 1: 1, # Ace + 10: 10, # Ten + 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9 # Two through Nine + } + court_ranks = { + 12: "Knight", 11: "Prince", 13: "Princess", 14: "Queen" + } + + # Loop through first three suits + for suit_name, element_name, suit_num in suits_data_first: + suit = Suit(name=suit_name, element=element_name, + tarot_correspondence=f"{suit_name} Suit", number=suit_num) + + # Then loop through each position in the custom order + for pip_index in pip_order: + # Create appropriate card type based on pip_index + if pip_index <= 10: + # Pip card (Ace through 10) + actual_pip = pip_index_to_number[pip_index] + if pip_index == 1: + # Ace card + card = AceCard( + number=card_number, + name=f"{pip_names[pip_index]} of {suit_name}", + meaning=Meaning( + upright=f"{pip_names[pip_index]} of {suit_name} upright", + reversed=f"{pip_names[pip_index]} of {suit_name} reversed" + ), + arcana="Minor", + suit=suit, + pip=actual_pip + ) + else: + # Regular pip card (2-10) + card = PipCard( + number=card_number, + name=f"{pip_names[pip_index]} of {suit_name}", + meaning=Meaning( + upright=f"{pip_names[pip_index]} of {suit_name} upright", + reversed=f"{pip_names[pip_index]} of {suit_name} reversed" + ), + arcana="Minor", + suit=suit, + pip=actual_pip + ) + else: + # Court card (no pip) + court_rank = court_ranks[pip_index] + associated_element, hebrew_letter_path = court_rank_mappings[court_rank] + card = CourtCard( + number=card_number, + name=f"{pip_names[pip_index]} of {suit_name}", + meaning=Meaning( + upright=f"{pip_names[pip_index]} of {suit_name} upright", + reversed=f"{pip_names[pip_index]} of {suit_name} reversed" + ), + arcana="Minor", + suit=suit, + court_rank=court_rank, + associated_element=associated_element, + hebrew_letter_path=hebrew_letter_path + ) + self.cards.append(card) + card_number += 1 + + # Major Arcana (43-64) + # Names match filenames in src/tarot/deck/default/ + major_arcana_names = [ + "Fool", "Magus", "Fortune", "Lust", "Hanged Man", "Death", + "Art", "Devil", "Tower", "Star", "Moon", "Sun", + "High Priestess", "Empress", "Emperor", "Hierophant", + "Lovers", "Chariot", "Justice", "Hermit", "Aeon", "Universe" + ] + + for i, name in enumerate(major_arcana_names): + card = MajorCard( + number=card_number, + name=name, + meaning=Meaning( + upright=f"{name} upright meaning", + reversed=f"{name} reversed meaning" + ), + arcana="Major", + kabbalistic_number=i + ) + self.cards.append(card) + card_number += 1 + + # Minor Arcana - Last suit (Wands, 65-78) + # Organized logically: Ace, 10, 2-9, then court cards Knight, Prince, Princess, Queen + suits_data_last = [ + ("Wands", fire_element, 1), + ] + + # Loop through last suit + for suit_name, element_name, suit_num in suits_data_last: + suit = Suit(name=suit_name, element=element_name, + tarot_correspondence=f"{suit_name} Suit", number=suit_num) + + # Then loop through each position in the custom order + for pip_index in pip_order: + # Create appropriate card type based on pip_index + if pip_index <= 10: + # Pip card (Ace through 10) + actual_pip = pip_index_to_number[pip_index] + if pip_index == 1: + # Ace card + card = AceCard( + number=card_number, + name=f"{pip_names[pip_index]} of {suit_name}", + meaning=Meaning( + upright=f"{pip_names[pip_index]} of {suit_name} upright", + reversed=f"{pip_names[pip_index]} of {suit_name} reversed" + ), + arcana="Minor", + suit=suit, + pip=actual_pip + ) + else: + # Regular pip card (2-10) + card = PipCard( + number=card_number, + name=f"{pip_names[pip_index]} of {suit_name}", + meaning=Meaning( + upright=f"{pip_names[pip_index]} of {suit_name} upright", + reversed=f"{pip_names[pip_index]} of {suit_name} reversed" + ), + arcana="Minor", + suit=suit, + pip=actual_pip + ) + else: + # Court card (no pip) + court_rank = court_ranks[pip_index] + associated_element, hebrew_letter_path = court_rank_mappings[court_rank] + card = CourtCard( + number=card_number, + name=f"{pip_names[pip_index]} of {suit_name}", + meaning=Meaning( + upright=f"{pip_names[pip_index]} of {suit_name} upright", + reversed=f"{pip_names[pip_index]} of {suit_name} reversed" + ), + arcana="Minor", + suit=suit, + court_rank=court_rank, + associated_element=associated_element, + hebrew_letter_path=hebrew_letter_path + ) + self.cards.append(card) + card_number += 1 + + + def shuffle(self) -> None: + """Shuffle the deck.""" + random.shuffle(self.cards) + + def draw(self, num_cards: int = 1) -> List[Card]: + """ + Draw cards from the deck. + + Args: + num_cards: Number of cards to draw (default: 1) + + Returns: + List of drawn cards + """ + if num_cards < 1: + raise ValueError("Must draw at least 1 card") + + if num_cards > len(self.cards): + raise ValueError(f"Cannot draw {num_cards} cards from deck with {len(self.cards)} cards") + + drawn = [] + for _ in range(num_cards): + drawn.append(self.cards.pop(0)) + + return drawn + + def reset(self) -> None: + """Reset the deck to its initial state.""" + self.cards.clear() + self.discard_pile.clear() + self._initialize_deck() + + def remaining(self) -> int: + """Return the number of cards remaining in the deck.""" + return len(self.cards) + + def number(self, pip_value: int) -> CardQuery: + """ + Query cards by number (pip value). + + Usage: + deck.number(3) # All cards with 3 + deck.number(3).minor # All minor 3s + deck.number(3).minor.wands # 3 of Wands + """ + return CardQuery(self, pip_value) + + def suit(self, suit_name: str) -> List[Card]: + """ + Get all cards from a specific suit. + + Usage: + deck.suit("Wands") + """ + return [c for c in self.cards if hasattr(c, 'suit') and + c.suit and c.suit.name == suit_name] + + @property + def major(self) -> List[Card]: + """Get all Major Arcana cards.""" + return [c for c in self.cards if c.arcana == "Major"] + + @property + def minor(self) -> List[Card]: + """Get all Minor Arcana cards.""" + return [c for c in self.cards if c.arcana == "Minor"] + + def __len__(self) -> int: + """Return the number of cards in the deck.""" + return len(self.cards) + + def __repr__(self) -> str: + return f"Deck({len(self.cards)} cards remaining)" diff --git a/src/tarot/deck/default/01_Ace Cups.webp b/src/tarot/deck/default/01_Ace Cups.webp new file mode 100644 index 0000000000000000000000000000000000000000..2b231b9ac8f69f528bcd8d5f46697fb5f1edec74 GIT binary patch literal 50432 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�R(NNnz5=~cP-{Pd%>x7KS} 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 E0E5(sI{*Lx literal 0 HcmV?d00001 diff --git a/src/tarot/deck/default/03_Two Cups.webp b/src/tarot/deck/default/03_Two Cups.webp new file mode 100644 index 0000000000000000000000000000000000000000..5eb7ec6cc5867d21a72d79207b88f9cbbad5e47a GIT binary patch literal 50520 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 rO{`&mn^@t`&(ILMRAQCX3u`e(|7Q!I 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%0AqGQ$D98MQUqB^o#;&743%$Y_H|)FJ8yL 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 OICG^`4#w&-KmY(q-~7w~ literal 0 HcmV?d00001 diff --git a/src/tarot/deck/default/05_Four Cups.webp b/src/tarot/deck/default/05_Four Cups.webp new file mode 100644 index 0000000000000000000000000000000000000000..5af9e842b592572f247fc2870141c8a1db8cf03a GIT binary patch literal 60330 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 z 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 R(`0&o^G35m0|NsC0{~Ey;>rL3 literal 0 HcmV?d00001 diff --git a/src/tarot/deck/default/06_Five Cups.webp b/src/tarot/deck/default/06_Five Cups.webp new file mode 100644 index 0000000000000000000000000000000000000000..331e0cfff05445da1ce985c324f6bf8fc8e3b0d9 GIT binary patch literal 53502 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

Da><58m3OiO)SF{q7p9 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ྫGu>&5>uvR_rhEGfsWj(;VX(w{F7G`!D?-^8UN` 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 Pu3o^vQ`W#z!2kgOQEc=p literal 0 HcmV?d00001 diff --git a/src/tarot/deck/default/13_Princess Cups.webp b/src/tarot/deck/default/13_Princess Cups.webp new file mode 100644 index 0000000000000000000000000000000000000000..b91323e453c3199e83a3e7e4ad2feea90573d6bd GIT binary patch literal 53836 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