gitextract__mkq1u8x/ ├── .codecov.yml ├── .coveragerc ├── .gitattributes ├── .gitconfig ├── .github/ │ ├── copilot-instructions.md │ └── workflows/ │ ├── codeql.yml │ ├── pr-workflow.yml │ └── publish-to-pypi.yml ├── .gitignore ├── .readthedocs.yaml ├── .streamlit/ │ └── config.toml ├── LICENSE ├── LITELLM_MIGRATION_SUMMARY.md ├── MANIFEST.in ├── README.md ├── app.py ├── docs/ │ ├── _templates/ │ │ └── module.rst │ ├── api.rst │ ├── conf.py │ ├── generated/ │ │ ├── slidedeckai.cli.CustomArgumentParser.rst │ │ ├── slidedeckai.cli.CustomHelpFormatter.rst │ │ ├── slidedeckai.cli.format_model_help.rst │ │ ├── slidedeckai.cli.format_models_as_bullets.rst │ │ ├── slidedeckai.cli.format_models_list.rst │ │ ├── slidedeckai.cli.group_models_by_provider.rst │ │ ├── slidedeckai.cli.main.rst │ │ ├── slidedeckai.cli.rst │ │ ├── slidedeckai.core.SlideDeckAI.rst │ │ ├── slidedeckai.core.rst │ │ ├── slidedeckai.helpers.chat_helper.AIMessage.rst │ │ ├── slidedeckai.helpers.chat_helper.ChatMessage.rst │ │ ├── slidedeckai.helpers.chat_helper.ChatMessageHistory.rst │ │ ├── slidedeckai.helpers.chat_helper.ChatPromptTemplate.rst │ │ ├── slidedeckai.helpers.chat_helper.HumanMessage.rst │ │ ├── slidedeckai.helpers.chat_helper.rst │ │ ├── slidedeckai.helpers.file_manager.get_pdf_contents.rst │ │ ├── slidedeckai.helpers.file_manager.rst │ │ ├── slidedeckai.helpers.file_manager.validate_page_range.rst │ │ ├── slidedeckai.helpers.icons_embeddings.find_icons.rst │ │ ├── slidedeckai.helpers.icons_embeddings.get_embeddings.rst │ │ ├── slidedeckai.helpers.icons_embeddings.get_icons_list.rst │ │ ├── slidedeckai.helpers.icons_embeddings.load_saved_embeddings.rst │ │ ├── slidedeckai.helpers.icons_embeddings.main.rst │ │ ├── slidedeckai.helpers.icons_embeddings.rst │ │ ├── slidedeckai.helpers.icons_embeddings.save_icons_embeddings.rst │ │ ├── slidedeckai.helpers.image_search.extract_dimensions.rst │ │ ├── slidedeckai.helpers.image_search.get_image_from_url.rst │ │ ├── slidedeckai.helpers.image_search.get_photo_url_from_api_response.rst │ │ ├── slidedeckai.helpers.image_search.rst │ │ ├── slidedeckai.helpers.image_search.search_pexels.rst │ │ ├── slidedeckai.helpers.llm_helper.get_langchain_llm.rst │ │ ├── slidedeckai.helpers.llm_helper.get_litellm_llm.rst │ │ ├── slidedeckai.helpers.llm_helper.get_litellm_model_name.rst │ │ ├── slidedeckai.helpers.llm_helper.get_provider_model.rst │ │ ├── slidedeckai.helpers.llm_helper.is_valid_llm_provider_model.rst │ │ ├── slidedeckai.helpers.llm_helper.rst │ │ ├── slidedeckai.helpers.llm_helper.stream_litellm_completion.rst │ │ ├── slidedeckai.helpers.pptx_helper.add_bulleted_items.rst │ │ ├── slidedeckai.helpers.pptx_helper.format_text.rst │ │ ├── slidedeckai.helpers.pptx_helper.generate_powerpoint_presentation.rst │ │ ├── slidedeckai.helpers.pptx_helper.get_flat_list_of_contents.rst │ │ ├── slidedeckai.helpers.pptx_helper.get_slide_placeholders.rst │ │ ├── slidedeckai.helpers.pptx_helper.remove_slide_number_from_heading.rst │ │ ├── slidedeckai.helpers.pptx_helper.rst │ │ ├── slidedeckai.helpers.text_helper.fix_malformed_json.rst │ │ ├── slidedeckai.helpers.text_helper.get_clean_json.rst │ │ ├── slidedeckai.helpers.text_helper.is_valid_prompt.rst │ │ └── slidedeckai.helpers.text_helper.rst │ ├── index.rst │ ├── installation.md │ ├── models.md │ ├── requirements.txt │ └── usage.md ├── examples/ │ ├── example_01.json │ ├── example_01_structured_output.json │ ├── example_02.json │ ├── example_02_structured_output.json │ ├── example_03.json │ └── example_04.json ├── pyproject.toml ├── requirements.txt ├── slides_for_this_project_by_this_project/ │ ├── 515fc765-4aaf-4485-a421-551363710c03_1693157001.5142696.pptx │ └── prompt_on_this_idea.txt ├── src/ │ └── slidedeckai/ │ ├── __init__.py │ ├── _version.py │ ├── cli.py │ ├── core.py │ ├── file_embeddings/ │ │ ├── embeddings.npy │ │ └── icons.npy │ ├── global_config.py │ ├── helpers/ │ │ ├── __init__.py │ │ ├── chat_helper.py │ │ ├── file_manager.py │ │ ├── icons_embeddings.py │ │ ├── image_search.py │ │ ├── llm_helper.py │ │ ├── pptx_helper.py │ │ └── text_helper.py │ ├── icons/ │ │ └── svg_repo.txt │ ├── pptx_templates/ │ │ ├── Blank.pptx │ │ ├── Ion_Boardroom.pptx │ │ ├── Minimalist_sales_pitch.pptx │ │ └── Urban_monochrome.pptx │ ├── prompts/ │ │ ├── initial_template_v4_two_cols_img.txt │ │ └── refinement_template_v4_two_cols_img.txt │ └── strings.json └── tests/ ├── __init__.py └── unit/ ├── __init__.py ├── conftest.py ├── test_cli.py ├── test_core.py ├── test_file_manager.py ├── test_icons_embeddings.py ├── test_image_search.py ├── test_llm_helper.py ├── test_pptx_helper.py ├── test_text_helper.py └── test_utils.py