# csv2ankicards A comprehensive toolkit that offers: - Conversion of CSV files into Anki deck packages (.apkg files). - Conversion of image files in a directory to a text file using Optical Character Recognition (OCR). - Generation of CSV format question-answer pairs from textual content using OpenAI's GPT-3 model. ## Features - Converts a CSV file with questions and answers into an Anki deck package. - Converts image files from a specified directory to a single text file using OCR. - Generates CSV formatted question-answer pairs based on a given text content, ideal for studying or summarization. - For CSV: there are only two columns in the CSV file, separated by the first comma encountered. - CSV files should have a "Front" column for questions and a "Back" column for answers. ## Installation 1. Clone this repository: ```bash git clone https://git.rudefox.io/bj/anki-csv2ankicards.git cd csv2ankicards ``` 2. Set up a virtual environment and activate it: ```bash python3 -m venv venv source venv/bin/activate ``` 3. Install the required packages: ```bash pip install -r requirements.txt ``` ## Configuration Before using the `text2csvdeck.py` script, ensure that you have set the `OPENAI_API_KEY` environment variable: ```bash export OPENAI_API_KEY=your_openai_api_key_here ``` Remember to replace `your_openai_api_key_here` with your actual OpenAI API key. ## Usage ### Pipeline Usage To convert a directory of images directly to an Anki deck package: ```bash python pipeline.py /path/to/your/image_directory/ ``` This will process the images, extract text, convert text to a set of questions and answers in CSV format, and then produce an `output.apkg` file ready for import into Anki. ### Image to Text Conversion To convert images from a directory to a single text file using OCR: ```bash python images2text.py /path/to/your/image_directory/ ``` This will produce a `final.txt` file which contains the text extracted from the images. #### Supported Image Formats Currently supported formats for the images are: `.png`, `.jpg`, and `.jpeg`. ### Text to CSV Deck Generation To generate a CSV deck of question-answer pairs from a given text file: ```bash python text2csvdeck.py /path/to/your/textfile.txt ``` This will analyze the content of the given text file and generate a corresponding `_deck.csv` file with questions and answers that capture the main points and themes of the text. **Note:** This script uses the OpenAI GPT-3 model. Ensure you have the necessary API key and OpenAI Python client installed. ### CSV to Anki Conversion To convert a CSV file into an Anki deck package: ```bash python csv2ankicards.py /path/to/your/csvfile.csv output.apkg ``` This will produce an `output.apkg` file which can then be imported into Anki. #### CSV Format The CSV file should follow this format: ``` Front,Back Your question here,Your answer here Another question,list of: answer1, answer2, answer3 ... ``` **Note:** If your answers contain commas, they will be considered as part of the answer. Only the first comma is used to separate the question from the answer.