This project is designed to facilitate tarot readings using various spreads, pulling card data from a detailed CSV file. The project provides flexibility for different types of readings and stores the results in an organized manner.
/
├── setup_main.py # Main script to compile JSON files into a CSV
├── read_main.py # Main script for orchestrating tarot readings
│
├── /setup # Directory for setup-related scripts
│ ├── card.py # Defines the Card class
│ ├── card_writer.py # Handles writing the CSV file
│
├── /cards # Directory containing JSON files for tarot cards
│ ├── cards_1.json # JSON file with cards 0-4
│ ├── cards_2.json # JSON file with cards 5-9
│ ├── cards_3.json # JSON file with cards 10-14
│ ├── cards_4.json # JSON file with cards 15-19
│ ├── cards_5.json # JSON file with cards 20-24
│ ├── cards_6.json # JSON file with cards 25-29
│ ├── cards_7.json # JSON file with cards 30-34
│ ├── cards_8.json # JSON file with cards 35-39
│ ├── cards_9.json # JSON file with cards 40-44
│ ├── cards_10.json # JSON file with cards 45-49
│ ├── cards_11.json # JSON file with cards 50-54
│ ├── cards_12.json # JSON file with cards 55-59
│ ├── cards_13.json # JSON file with cards 60-64
│ ├── cards_14.json # JSON file with cards 65-69
│ ├── cards_15.json # JSON file with cards 70-74
│ ├── cards_16.json # JSON file with cards 75-78
│
├── /data # Directory for the output data
│ └── tarot_cards.csv # Compiled CSV file with all tarot card data
│
├── /read # Directory for reading building scripts
│ ├── spread_loader.py # Script for loading spread definitions
│ ├── card_shuffler.py # Script for shuffling cards
│ ├── reading_saver.py # Script for saving readings
│ ├── tarot_reader.py # Core script for generating readings
│ └── prompt_user.py # Script for handling user prompts and displaying readings
│
├── /spreads # Directory for storing JSON files defining various tarot spreads
│ ├── celtic_cross.json # JSON file for Celtic Cross spread
│ ├── three_card_spread.json# JSON file for Three-Card spread
│ ├── relationship_spread.json# JSON file for Relationship spread
│ ├── decision_making_spread.json# JSON file for Decision Making spread
│ ├── career_path_spread.json# JSON file for Career Path spread
│ ├── single_card_spread.json# JSON file for Single Card spread
│ ├── story_spread.json # JSON file for Story spread
│
└── /readings # Directory where generated readings will be saved
└── YYYY-MM-DD # Example directory for readings on a specific date
└── spreadname_reading.txt # Example reading file
-
Clone the Repository:
git clone <repository-url> cd tarot-reading-project
-
Install Dependencies:
- Ensure you have Python installed.
- Install any required libraries using
pip
:pip install -r requirements.txt
-
Prepare the Data:
- Run
setup_main.py
to compile the card JSON files into a CSV.python setup_main.py
- Run
-
Run the Main Script:
- To start a tarot reading, run
read_main.py
:python read_main.py
- To start a tarot reading, run
-
Follow Prompts:
- Select a spread from the list of available spreads.
- The script will shuffle the cards, draw the necessary number, and generate a reading.
- The reading will be displayed and saved in the
/readings
directory under the current date.
To add a new spread:
-
Create a JSON File:
- Navigate to the
/spreads
directory. - Create a new JSON file with the structure of your spread. For example,
my_new_spread.json
:{ "spread_name": "My New Spread", "positions": [ {"name": "Position 1"}, {"name": "Position 2"}, {"name": "Position 3"} ] }
- Navigate to the
-
Save the File:
- Save the JSON file in the
/spreads
directory.
- Save the JSON file in the
-
Run the Script:
- The new spread will be available for selection when you run
read_main.py
.
- The new spread will be available for selection when you run