diff --git a/docs/_templates/module.rst b/docs/_templates/module.rst new file mode 100644 index 0000000000000000000000000000000000000000..49adb40439051a2e74a9933c81450236e499f533 --- /dev/null +++ b/docs/_templates/module.rst @@ -0,0 +1,25 @@ +{{ fullname | escape | underline }} +=================================== + +.. currentmodule:: {{ module }} + +.. automodule:: {{ fullname }} + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + {% for item in functions %} + {{ item }} + {% endfor %} + + {% for item in classes %} + {{ item }} + {% endfor %} + +.. automodule:: {{ fullname }} + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/api.rst b/docs/api.rst new file mode 100644 index 0000000000000000000000000000000000000000..7a02456efa1d815b8c1d6806dd6d05ceeba9cbab --- /dev/null +++ b/docs/api.rst @@ -0,0 +1,18 @@ +API Reference +============= + +.. autosummary:: + :toctree: generated/ + :template: module.rst + :nosignatures: + :caption: Core Modules and Classes + + slidedeckai.cli + slidedeckai.core + slidedeckai.helpers.chat_helper + slidedeckai.helpers.file_manager + slidedeckai.helpers.icons_embeddings + slidedeckai.helpers.image_search + slidedeckai.helpers.llm_helper + slidedeckai.helpers.pptx_helper + slidedeckai.helpers.text_helper diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..a9dbab0e2b11ac282b43da69d5cc69477b854f25 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,50 @@ +""" +Sphinx configuration file for the KodeAgent documentation. +This file sets up Sphinx to generate documentation from the source code +located in the 'src' directory, and includes support for Markdown files +using the MyST parser. +""" +import os +import sys + +# --- Path setup --- +# Crucial: This tells Sphinx to look in 'src' to find the 'kodeagent' package. +sys.path.insert(0, os.path.abspath('../src')) + +# --- Project information --- +project = 'SlideDeck AI' +copyright = '2025, Barun Saha' +author = 'Barun Saha' + +# --- General configuration --- +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.autosummary', + 'sphinx.ext.napoleon', # Converts Google/NumPy style docstrings + 'sphinx.ext.viewcode', + 'myst_parser', # Enables Markdown support (.md files) +] +autosummary_generate = True + +# --- Autodoc configuration for sorting --- +autodoc_member_order = 'alphabetical' + +# Tell Sphinx to look for custom templates +templates_path = ['_templates'] + +# Configure MyST to allow cross-referencing and nested structure +myst_enable_extensions = [ + 'deflist', + 'html_image', + 'linkify', + 'replacements', + 'html_admonition' +] +source_suffix = { + '.rst': 'restructuredtext', + '.md': 'markdown', +} + +html_theme = 'pydata_sphinx_theme' +master_doc = 'index' +html_show_sourcelink = True diff --git a/docs/generated/slidedeckai.cli.CustomArgumentParser.rst b/docs/generated/slidedeckai.cli.CustomArgumentParser.rst new file mode 100644 index 0000000000000000000000000000000000000000..f3ff8b419ac361bfb0ebac062418f864f6e17307 --- /dev/null +++ b/docs/generated/slidedeckai.cli.CustomArgumentParser.rst @@ -0,0 +1,40 @@ +slidedeckai.cli.CustomArgumentParser +==================================== + +.. currentmodule:: slidedeckai.cli + +.. autoclass:: CustomArgumentParser + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~CustomArgumentParser.__init__ + ~CustomArgumentParser.add_argument + ~CustomArgumentParser.add_argument_group + ~CustomArgumentParser.add_mutually_exclusive_group + ~CustomArgumentParser.add_subparsers + ~CustomArgumentParser.convert_arg_line_to_args + ~CustomArgumentParser.error + ~CustomArgumentParser.exit + ~CustomArgumentParser.format_help + ~CustomArgumentParser.format_usage + ~CustomArgumentParser.get_default + ~CustomArgumentParser.parse_args + ~CustomArgumentParser.parse_intermixed_args + ~CustomArgumentParser.parse_known_args + ~CustomArgumentParser.parse_known_intermixed_args + ~CustomArgumentParser.print_help + ~CustomArgumentParser.print_usage + ~CustomArgumentParser.register + ~CustomArgumentParser.set_defaults + + + + + + \ No newline at end of file diff --git a/docs/generated/slidedeckai.cli.CustomHelpFormatter.rst b/docs/generated/slidedeckai.cli.CustomHelpFormatter.rst new file mode 100644 index 0000000000000000000000000000000000000000..dfda1157130313e7dd7a74c06b8a66111d5922f1 --- /dev/null +++ b/docs/generated/slidedeckai.cli.CustomHelpFormatter.rst @@ -0,0 +1,29 @@ +slidedeckai.cli.CustomHelpFormatter +=================================== + +.. currentmodule:: slidedeckai.cli + +.. autoclass:: CustomHelpFormatter + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~CustomHelpFormatter.__init__ + ~CustomHelpFormatter.add_argument + ~CustomHelpFormatter.add_arguments + ~CustomHelpFormatter.add_text + ~CustomHelpFormatter.add_usage + ~CustomHelpFormatter.end_section + ~CustomHelpFormatter.format_help + ~CustomHelpFormatter.start_section + + + + + + \ No newline at end of file diff --git a/docs/generated/slidedeckai.cli.format_model_help.rst b/docs/generated/slidedeckai.cli.format_model_help.rst new file mode 100644 index 0000000000000000000000000000000000000000..a6ffab66ae96e23acd93476f8b9334aab6f71f49 --- /dev/null +++ b/docs/generated/slidedeckai.cli.format_model_help.rst @@ -0,0 +1,6 @@ +slidedeckai.cli.format\_model\_help +=================================== + +.. currentmodule:: slidedeckai.cli + +.. autofunction:: format_model_help \ No newline at end of file diff --git a/docs/generated/slidedeckai.cli.format_models_as_bullets.rst b/docs/generated/slidedeckai.cli.format_models_as_bullets.rst new file mode 100644 index 0000000000000000000000000000000000000000..2bc50ef0e7aa80f305d9af3402b136d2ffd37036 --- /dev/null +++ b/docs/generated/slidedeckai.cli.format_models_as_bullets.rst @@ -0,0 +1,6 @@ +slidedeckai.cli.format\_models\_as\_bullets +=========================================== + +.. currentmodule:: slidedeckai.cli + +.. autofunction:: format_models_as_bullets \ No newline at end of file diff --git a/docs/generated/slidedeckai.cli.format_models_list.rst b/docs/generated/slidedeckai.cli.format_models_list.rst new file mode 100644 index 0000000000000000000000000000000000000000..a80bd1be430a35368af598868a1980b9603a69da --- /dev/null +++ b/docs/generated/slidedeckai.cli.format_models_list.rst @@ -0,0 +1,6 @@ +slidedeckai.cli.format\_models\_list +==================================== + +.. currentmodule:: slidedeckai.cli + +.. autofunction:: format_models_list \ No newline at end of file diff --git a/docs/generated/slidedeckai.cli.group_models_by_provider.rst b/docs/generated/slidedeckai.cli.group_models_by_provider.rst new file mode 100644 index 0000000000000000000000000000000000000000..01d22a8d9d168d1a48b29cfb28a6f67d0fba3e61 --- /dev/null +++ b/docs/generated/slidedeckai.cli.group_models_by_provider.rst @@ -0,0 +1,6 @@ +slidedeckai.cli.group\_models\_by\_provider +=========================================== + +.. currentmodule:: slidedeckai.cli + +.. autofunction:: group_models_by_provider \ No newline at end of file diff --git a/docs/generated/slidedeckai.cli.main.rst b/docs/generated/slidedeckai.cli.main.rst new file mode 100644 index 0000000000000000000000000000000000000000..4f63672befb289963d7d7d653cb316b2564b1042 --- /dev/null +++ b/docs/generated/slidedeckai.cli.main.rst @@ -0,0 +1,6 @@ +slidedeckai.cli.main +==================== + +.. currentmodule:: slidedeckai.cli + +.. autofunction:: main \ No newline at end of file diff --git a/docs/generated/slidedeckai.cli.rst b/docs/generated/slidedeckai.cli.rst new file mode 100644 index 0000000000000000000000000000000000000000..10abcc6fdf9e5a768d9478f6ffcef5b4aef2129e --- /dev/null +++ b/docs/generated/slidedeckai.cli.rst @@ -0,0 +1,36 @@ +slidedeckai.cli +=============== +=================================== + +.. currentmodule:: slidedeckai.cli + +.. automodule:: slidedeckai.cli + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + format_model_help + + format_models_as_bullets + + format_models_list + + group_models_by_provider + + main + + + + CustomArgumentParser + + CustomHelpFormatter + + +.. automodule:: slidedeckai.cli + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/generated/slidedeckai.core.SlideDeckAI.rst b/docs/generated/slidedeckai.core.SlideDeckAI.rst new file mode 100644 index 0000000000000000000000000000000000000000..a508ddca6396afe92be05c51d13e18af012f8b49 --- /dev/null +++ b/docs/generated/slidedeckai.core.SlideDeckAI.rst @@ -0,0 +1,26 @@ +slidedeckai.core.SlideDeckAI +============================ + +.. currentmodule:: slidedeckai.core + +.. autoclass:: SlideDeckAI + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~SlideDeckAI.__init__ + ~SlideDeckAI.generate + ~SlideDeckAI.reset + ~SlideDeckAI.revise + ~SlideDeckAI.set_template + + + + + + \ No newline at end of file diff --git a/docs/generated/slidedeckai.core.rst b/docs/generated/slidedeckai.core.rst new file mode 100644 index 0000000000000000000000000000000000000000..77e6e32ac085fba6d8035f7bb4099897f481c6fe --- /dev/null +++ b/docs/generated/slidedeckai.core.rst @@ -0,0 +1,24 @@ +slidedeckai.core +================ +=================================== + +.. currentmodule:: slidedeckai + +.. automodule:: slidedeckai.core + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + + + SlideDeckAI + + +.. automodule:: slidedeckai.core + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.chat_helper.AIMessage.rst b/docs/generated/slidedeckai.helpers.chat_helper.AIMessage.rst new file mode 100644 index 0000000000000000000000000000000000000000..3b88429467a874d8dd3a69ae60a653abfbf62f89 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.chat_helper.AIMessage.rst @@ -0,0 +1,22 @@ +slidedeckai.helpers.chat\_helper.AIMessage +========================================== + +.. currentmodule:: slidedeckai.helpers.chat_helper + +.. autoclass:: AIMessage + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~AIMessage.__init__ + + + + + + \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.chat_helper.ChatMessage.rst b/docs/generated/slidedeckai.helpers.chat_helper.ChatMessage.rst new file mode 100644 index 0000000000000000000000000000000000000000..d34e5594cbeb41ef85a64493e44a233bace8c104 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.chat_helper.ChatMessage.rst @@ -0,0 +1,22 @@ +slidedeckai.helpers.chat\_helper.ChatMessage +============================================ + +.. currentmodule:: slidedeckai.helpers.chat_helper + +.. autoclass:: ChatMessage + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~ChatMessage.__init__ + + + + + + \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.chat_helper.ChatMessageHistory.rst b/docs/generated/slidedeckai.helpers.chat_helper.ChatMessageHistory.rst new file mode 100644 index 0000000000000000000000000000000000000000..dea6914beeb47d359261ee8d9f18765253d2aee9 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.chat_helper.ChatMessageHistory.rst @@ -0,0 +1,24 @@ +slidedeckai.helpers.chat\_helper.ChatMessageHistory +=================================================== + +.. currentmodule:: slidedeckai.helpers.chat_helper + +.. autoclass:: ChatMessageHistory + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~ChatMessageHistory.__init__ + ~ChatMessageHistory.add_ai_message + ~ChatMessageHistory.add_user_message + + + + + + \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.chat_helper.ChatPromptTemplate.rst b/docs/generated/slidedeckai.helpers.chat_helper.ChatPromptTemplate.rst new file mode 100644 index 0000000000000000000000000000000000000000..1b1f92810f59242c1e437bfd96c617d775137502 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.chat_helper.ChatPromptTemplate.rst @@ -0,0 +1,24 @@ +slidedeckai.helpers.chat\_helper.ChatPromptTemplate +=================================================== + +.. currentmodule:: slidedeckai.helpers.chat_helper + +.. autoclass:: ChatPromptTemplate + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~ChatPromptTemplate.__init__ + ~ChatPromptTemplate.format + ~ChatPromptTemplate.from_template + + + + + + \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.chat_helper.HumanMessage.rst b/docs/generated/slidedeckai.helpers.chat_helper.HumanMessage.rst new file mode 100644 index 0000000000000000000000000000000000000000..7d7b326f2c641239aa465b625410b408844f9399 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.chat_helper.HumanMessage.rst @@ -0,0 +1,22 @@ +slidedeckai.helpers.chat\_helper.HumanMessage +============================================= + +.. currentmodule:: slidedeckai.helpers.chat_helper + +.. autoclass:: HumanMessage + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~HumanMessage.__init__ + + + + + + \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.chat_helper.rst b/docs/generated/slidedeckai.helpers.chat_helper.rst new file mode 100644 index 0000000000000000000000000000000000000000..2b596f6621d5b7a13040690cbf149ff3a2b53418 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.chat_helper.rst @@ -0,0 +1,32 @@ +slidedeckai.helpers.chat\_helper +================================ +=================================== + +.. currentmodule:: slidedeckai.helpers + +.. automodule:: slidedeckai.helpers.chat_helper + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + + + AIMessage + + ChatMessage + + ChatMessageHistory + + ChatPromptTemplate + + HumanMessage + + +.. automodule:: slidedeckai.helpers.chat_helper + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.file_manager.get_pdf_contents.rst b/docs/generated/slidedeckai.helpers.file_manager.get_pdf_contents.rst new file mode 100644 index 0000000000000000000000000000000000000000..551c1047cd17c49757e6a8a34e9be61a4ae56bed --- /dev/null +++ b/docs/generated/slidedeckai.helpers.file_manager.get_pdf_contents.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.file\_manager.get\_pdf\_contents +==================================================== + +.. currentmodule:: slidedeckai.helpers.file_manager + +.. autofunction:: get_pdf_contents \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.file_manager.rst b/docs/generated/slidedeckai.helpers.file_manager.rst new file mode 100644 index 0000000000000000000000000000000000000000..a075cf1fc69cb18717404368b6bd22cffbfd75d6 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.file_manager.rst @@ -0,0 +1,26 @@ +slidedeckai.helpers.file\_manager +================================= +=================================== + +.. currentmodule:: slidedeckai.helpers + +.. automodule:: slidedeckai.helpers.file_manager + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + get_pdf_contents + + validate_page_range + + + + +.. automodule:: slidedeckai.helpers.file_manager + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.file_manager.validate_page_range.rst b/docs/generated/slidedeckai.helpers.file_manager.validate_page_range.rst new file mode 100644 index 0000000000000000000000000000000000000000..8c4af3a83cbc3df5a368fafdd009ce52ac4f6129 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.file_manager.validate_page_range.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.file\_manager.validate\_page\_range +======================================================= + +.. currentmodule:: slidedeckai.helpers.file_manager + +.. autofunction:: validate_page_range \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.icons_embeddings.find_icons.rst b/docs/generated/slidedeckai.helpers.icons_embeddings.find_icons.rst new file mode 100644 index 0000000000000000000000000000000000000000..029f14fc56cb9c04fa8e9b44ba8b220416fb8de2 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.icons_embeddings.find_icons.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.icons\_embeddings.find\_icons +================================================= + +.. currentmodule:: slidedeckai.helpers.icons_embeddings + +.. autofunction:: find_icons \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.icons_embeddings.get_embeddings.rst b/docs/generated/slidedeckai.helpers.icons_embeddings.get_embeddings.rst new file mode 100644 index 0000000000000000000000000000000000000000..d26853e3b2e0e357ceaab059f059075199d2aabc --- /dev/null +++ b/docs/generated/slidedeckai.helpers.icons_embeddings.get_embeddings.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.icons\_embeddings.get\_embeddings +===================================================== + +.. currentmodule:: slidedeckai.helpers.icons_embeddings + +.. autofunction:: get_embeddings \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.icons_embeddings.get_icons_list.rst b/docs/generated/slidedeckai.helpers.icons_embeddings.get_icons_list.rst new file mode 100644 index 0000000000000000000000000000000000000000..6532892b8c5d45a1eb766379412a892ba7fdee57 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.icons_embeddings.get_icons_list.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.icons\_embeddings.get\_icons\_list +====================================================== + +.. currentmodule:: slidedeckai.helpers.icons_embeddings + +.. autofunction:: get_icons_list \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.icons_embeddings.load_saved_embeddings.rst b/docs/generated/slidedeckai.helpers.icons_embeddings.load_saved_embeddings.rst new file mode 100644 index 0000000000000000000000000000000000000000..266d21f6646b9a275d0f264d4c13a10fcd4c3c77 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.icons_embeddings.load_saved_embeddings.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.icons\_embeddings.load\_saved\_embeddings +============================================================= + +.. currentmodule:: slidedeckai.helpers.icons_embeddings + +.. autofunction:: load_saved_embeddings \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.icons_embeddings.main.rst b/docs/generated/slidedeckai.helpers.icons_embeddings.main.rst new file mode 100644 index 0000000000000000000000000000000000000000..5c8713c12b7601202fe40d058029539f315d2358 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.icons_embeddings.main.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.icons\_embeddings.main +========================================== + +.. currentmodule:: slidedeckai.helpers.icons_embeddings + +.. autofunction:: main \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.icons_embeddings.rst b/docs/generated/slidedeckai.helpers.icons_embeddings.rst new file mode 100644 index 0000000000000000000000000000000000000000..20f45ab499081404cfb7bc5372ee88c8bd62825e --- /dev/null +++ b/docs/generated/slidedeckai.helpers.icons_embeddings.rst @@ -0,0 +1,34 @@ +slidedeckai.helpers.icons\_embeddings +===================================== +=================================== + +.. currentmodule:: slidedeckai.helpers + +.. automodule:: slidedeckai.helpers.icons_embeddings + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + find_icons + + get_embeddings + + get_icons_list + + load_saved_embeddings + + main + + save_icons_embeddings + + + + +.. automodule:: slidedeckai.helpers.icons_embeddings + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.icons_embeddings.save_icons_embeddings.rst b/docs/generated/slidedeckai.helpers.icons_embeddings.save_icons_embeddings.rst new file mode 100644 index 0000000000000000000000000000000000000000..3cbd31f14cbe3ef18dddb8d99f3aa61d9847b753 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.icons_embeddings.save_icons_embeddings.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.icons\_embeddings.save\_icons\_embeddings +============================================================= + +.. currentmodule:: slidedeckai.helpers.icons_embeddings + +.. autofunction:: save_icons_embeddings \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.image_search.extract_dimensions.rst b/docs/generated/slidedeckai.helpers.image_search.extract_dimensions.rst new file mode 100644 index 0000000000000000000000000000000000000000..41f0eb397610a55959d640c68f82bf980d4203b0 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.image_search.extract_dimensions.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.image\_search.extract\_dimensions +===================================================== + +.. currentmodule:: slidedeckai.helpers.image_search + +.. autofunction:: extract_dimensions \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.image_search.get_image_from_url.rst b/docs/generated/slidedeckai.helpers.image_search.get_image_from_url.rst new file mode 100644 index 0000000000000000000000000000000000000000..165a478024881862f90bc6db8025328362658537 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.image_search.get_image_from_url.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.image\_search.get\_image\_from\_url +======================================================= + +.. currentmodule:: slidedeckai.helpers.image_search + +.. autofunction:: get_image_from_url \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.image_search.get_photo_url_from_api_response.rst b/docs/generated/slidedeckai.helpers.image_search.get_photo_url_from_api_response.rst new file mode 100644 index 0000000000000000000000000000000000000000..102fea8fdf34d4516a866991564f16b1ec6bc58a --- /dev/null +++ b/docs/generated/slidedeckai.helpers.image_search.get_photo_url_from_api_response.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.image\_search.get\_photo\_url\_from\_api\_response +====================================================================== + +.. currentmodule:: slidedeckai.helpers.image_search + +.. autofunction:: get_photo_url_from_api_response \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.image_search.rst b/docs/generated/slidedeckai.helpers.image_search.rst new file mode 100644 index 0000000000000000000000000000000000000000..2ae19d296b49b5195dd5d5494d87aca9fdbbf5a0 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.image_search.rst @@ -0,0 +1,30 @@ +slidedeckai.helpers.image\_search +================================= +=================================== + +.. currentmodule:: slidedeckai.helpers + +.. automodule:: slidedeckai.helpers.image_search + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + extract_dimensions + + get_image_from_url + + get_photo_url_from_api_response + + search_pexels + + + + +.. automodule:: slidedeckai.helpers.image_search + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.image_search.search_pexels.rst b/docs/generated/slidedeckai.helpers.image_search.search_pexels.rst new file mode 100644 index 0000000000000000000000000000000000000000..bf200accab7a7a145e8b93b41237b328ddfcbb08 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.image_search.search_pexels.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.image\_search.search\_pexels +================================================ + +.. currentmodule:: slidedeckai.helpers.image_search + +.. autofunction:: search_pexels \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.llm_helper.get_langchain_llm.rst b/docs/generated/slidedeckai.helpers.llm_helper.get_langchain_llm.rst new file mode 100644 index 0000000000000000000000000000000000000000..b10ebe917bbfbf87ff34f5de2dc9440b3d0e6b69 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.llm_helper.get_langchain_llm.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.llm\_helper.get\_langchain\_llm +=================================================== + +.. currentmodule:: slidedeckai.helpers.llm_helper + +.. autofunction:: get_langchain_llm \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.llm_helper.get_litellm_llm.rst b/docs/generated/slidedeckai.helpers.llm_helper.get_litellm_llm.rst new file mode 100644 index 0000000000000000000000000000000000000000..c80f02e73cc059bd230efced0a65e77c263f35c3 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.llm_helper.get_litellm_llm.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.llm\_helper.get\_litellm\_llm +================================================= + +.. currentmodule:: slidedeckai.helpers.llm_helper + +.. autofunction:: get_litellm_llm \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.llm_helper.get_litellm_model_name.rst b/docs/generated/slidedeckai.helpers.llm_helper.get_litellm_model_name.rst new file mode 100644 index 0000000000000000000000000000000000000000..390939a0488f6b1134c6f74b190c95ce25eeafbd --- /dev/null +++ b/docs/generated/slidedeckai.helpers.llm_helper.get_litellm_model_name.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.llm\_helper.get\_litellm\_model\_name +========================================================= + +.. currentmodule:: slidedeckai.helpers.llm_helper + +.. autofunction:: get_litellm_model_name \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.llm_helper.get_provider_model.rst b/docs/generated/slidedeckai.helpers.llm_helper.get_provider_model.rst new file mode 100644 index 0000000000000000000000000000000000000000..80cea598922db2d6465037bf811832cd6336758e --- /dev/null +++ b/docs/generated/slidedeckai.helpers.llm_helper.get_provider_model.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.llm\_helper.get\_provider\_model +==================================================== + +.. currentmodule:: slidedeckai.helpers.llm_helper + +.. autofunction:: get_provider_model \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.llm_helper.is_valid_llm_provider_model.rst b/docs/generated/slidedeckai.helpers.llm_helper.is_valid_llm_provider_model.rst new file mode 100644 index 0000000000000000000000000000000000000000..89f2d00cd42d35426bdc5a59bfa248177647c49b --- /dev/null +++ b/docs/generated/slidedeckai.helpers.llm_helper.is_valid_llm_provider_model.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.llm\_helper.is\_valid\_llm\_provider\_model +=============================================================== + +.. currentmodule:: slidedeckai.helpers.llm_helper + +.. autofunction:: is_valid_llm_provider_model \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.llm_helper.rst b/docs/generated/slidedeckai.helpers.llm_helper.rst new file mode 100644 index 0000000000000000000000000000000000000000..d193bd1ff65dbcc2d09e77ce8728df98bb9e76f4 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.llm_helper.rst @@ -0,0 +1,34 @@ +slidedeckai.helpers.llm\_helper +=============================== +=================================== + +.. currentmodule:: slidedeckai.helpers + +.. automodule:: slidedeckai.helpers.llm_helper + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + get_langchain_llm + + get_litellm_llm + + get_litellm_model_name + + get_provider_model + + is_valid_llm_provider_model + + stream_litellm_completion + + + + +.. automodule:: slidedeckai.helpers.llm_helper + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.llm_helper.stream_litellm_completion.rst b/docs/generated/slidedeckai.helpers.llm_helper.stream_litellm_completion.rst new file mode 100644 index 0000000000000000000000000000000000000000..241ac672c138500e3ec59d6c6658b6f9297535d5 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.llm_helper.stream_litellm_completion.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.llm\_helper.stream\_litellm\_completion +=========================================================== + +.. currentmodule:: slidedeckai.helpers.llm_helper + +.. autofunction:: stream_litellm_completion \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.pptx_helper.add_bulleted_items.rst b/docs/generated/slidedeckai.helpers.pptx_helper.add_bulleted_items.rst new file mode 100644 index 0000000000000000000000000000000000000000..45e37eb1ad6df3e1fc1de617e6a273802750c685 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.pptx_helper.add_bulleted_items.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.pptx\_helper.add\_bulleted\_items +===================================================== + +.. currentmodule:: slidedeckai.helpers.pptx_helper + +.. autofunction:: add_bulleted_items \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.pptx_helper.format_text.rst b/docs/generated/slidedeckai.helpers.pptx_helper.format_text.rst new file mode 100644 index 0000000000000000000000000000000000000000..9baf5fdd815be792002491238bff5982c1612a1a --- /dev/null +++ b/docs/generated/slidedeckai.helpers.pptx_helper.format_text.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.pptx\_helper.format\_text +============================================= + +.. currentmodule:: slidedeckai.helpers.pptx_helper + +.. autofunction:: format_text \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.pptx_helper.generate_powerpoint_presentation.rst b/docs/generated/slidedeckai.helpers.pptx_helper.generate_powerpoint_presentation.rst new file mode 100644 index 0000000000000000000000000000000000000000..2dcc0b72386949685c0ec27416b8861e25c9718d --- /dev/null +++ b/docs/generated/slidedeckai.helpers.pptx_helper.generate_powerpoint_presentation.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.pptx\_helper.generate\_powerpoint\_presentation +=================================================================== + +.. currentmodule:: slidedeckai.helpers.pptx_helper + +.. autofunction:: generate_powerpoint_presentation \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.pptx_helper.get_flat_list_of_contents.rst b/docs/generated/slidedeckai.helpers.pptx_helper.get_flat_list_of_contents.rst new file mode 100644 index 0000000000000000000000000000000000000000..eda001aa58625b3dc2f6b96ead9300ae953fcabc --- /dev/null +++ b/docs/generated/slidedeckai.helpers.pptx_helper.get_flat_list_of_contents.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.pptx\_helper.get\_flat\_list\_of\_contents +============================================================== + +.. currentmodule:: slidedeckai.helpers.pptx_helper + +.. autofunction:: get_flat_list_of_contents \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.pptx_helper.get_slide_placeholders.rst b/docs/generated/slidedeckai.helpers.pptx_helper.get_slide_placeholders.rst new file mode 100644 index 0000000000000000000000000000000000000000..eb7ee208c54a5df1f4bc5738a090016a94a6a1a9 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.pptx_helper.get_slide_placeholders.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.pptx\_helper.get\_slide\_placeholders +========================================================= + +.. currentmodule:: slidedeckai.helpers.pptx_helper + +.. autofunction:: get_slide_placeholders \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.pptx_helper.remove_slide_number_from_heading.rst b/docs/generated/slidedeckai.helpers.pptx_helper.remove_slide_number_from_heading.rst new file mode 100644 index 0000000000000000000000000000000000000000..9092de2518d34aefe87dc274f7182798d58701f4 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.pptx_helper.remove_slide_number_from_heading.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.pptx\_helper.remove\_slide\_number\_from\_heading +===================================================================== + +.. currentmodule:: slidedeckai.helpers.pptx_helper + +.. autofunction:: remove_slide_number_from_heading \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.pptx_helper.rst b/docs/generated/slidedeckai.helpers.pptx_helper.rst new file mode 100644 index 0000000000000000000000000000000000000000..453dcd5ef4070d92aa028f3722e4140e7068db57 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.pptx_helper.rst @@ -0,0 +1,34 @@ +slidedeckai.helpers.pptx\_helper +================================ +=================================== + +.. currentmodule:: slidedeckai.helpers + +.. automodule:: slidedeckai.helpers.pptx_helper + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + add_bulleted_items + + format_text + + generate_powerpoint_presentation + + get_flat_list_of_contents + + get_slide_placeholders + + remove_slide_number_from_heading + + + + +.. automodule:: slidedeckai.helpers.pptx_helper + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.text_helper.fix_malformed_json.rst b/docs/generated/slidedeckai.helpers.text_helper.fix_malformed_json.rst new file mode 100644 index 0000000000000000000000000000000000000000..8558eddae3e5fdb4ce78ce5d28b3aab17b6502a1 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.text_helper.fix_malformed_json.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.text\_helper.fix\_malformed\_json +===================================================== + +.. currentmodule:: slidedeckai.helpers.text_helper + +.. autofunction:: fix_malformed_json \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.text_helper.get_clean_json.rst b/docs/generated/slidedeckai.helpers.text_helper.get_clean_json.rst new file mode 100644 index 0000000000000000000000000000000000000000..7f8bfbcd66a3cdb51ba24ff20c8efcae5c68967e --- /dev/null +++ b/docs/generated/slidedeckai.helpers.text_helper.get_clean_json.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.text\_helper.get\_clean\_json +================================================= + +.. currentmodule:: slidedeckai.helpers.text_helper + +.. autofunction:: get_clean_json \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.text_helper.is_valid_prompt.rst b/docs/generated/slidedeckai.helpers.text_helper.is_valid_prompt.rst new file mode 100644 index 0000000000000000000000000000000000000000..3bb0dd6fd2cc3028ec63271fcccbf360ab5079e3 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.text_helper.is_valid_prompt.rst @@ -0,0 +1,6 @@ +slidedeckai.helpers.text\_helper.is\_valid\_prompt +================================================== + +.. currentmodule:: slidedeckai.helpers.text_helper + +.. autofunction:: is_valid_prompt \ No newline at end of file diff --git a/docs/generated/slidedeckai.helpers.text_helper.rst b/docs/generated/slidedeckai.helpers.text_helper.rst new file mode 100644 index 0000000000000000000000000000000000000000..e7240af2d4683db1288327f899087e9a11f6c615 --- /dev/null +++ b/docs/generated/slidedeckai.helpers.text_helper.rst @@ -0,0 +1,28 @@ +slidedeckai.helpers.text\_helper +================================ +=================================== + +.. currentmodule:: slidedeckai.helpers + +.. automodule:: slidedeckai.helpers.text_helper + :noindex: + +.. autosummary:: + :toctree: + :nosignatures: + + + fix_malformed_json + + get_clean_json + + is_valid_prompt + + + + +.. automodule:: slidedeckai.helpers.text_helper + :members: + :undoc-members: + :show-inheritance: + :member-order: alphabetical \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..2a2d21a783f9e3c89e0caf1fa164877b332e5d08 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,20 @@ +SlideDeck AI Documentation +========================== + +Welcome to the documentation for **SlideDeck AI!** + +With SlideDeck AI, co-create a PowerPoint presentation using AI, iteratively. +Please select a section below or choose a version in the bottom-left corner. + +.. toctree:: + :maxdepth: 2 + :caption: Getting Started + + installation.md + usage.md + +.. toctree:: + :maxdepth: 2 + :caption: API Reference + + api.rst \ No newline at end of file diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000000000000000000000000000000000000..2652c3a60c6c07ee88f978e8887e98e9a5237c2a --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,29 @@ +# Installation + +We recommend installing **SlideDeck AI** into a dedicated virtual environment. + +## Stable Release + +To install the latest stable version of SlideDeck AI, run this command: + +```bash +pip install slidedeckai +``` + +You can verify the installation by checking the version of SlideDeck AI: + +```python +import slidedeckai + +print(slidedeckai.__version__) +``` + +## Development Version + +If you want to use the latest features or contribute, clone the repository and install it in editable mode: + +```bash +git clone https://github.com/barun-saha/slide-deck-ai/ +cd slidedeckai +pip install -e . +``` diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..00d3c78e64398b9b4e71224fe9de0adeace688aa --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,4 @@ +sphinx==8.1.3 +myst-parser==4.0.1 +linkify-it-py==2.0.3 +pydata_sphinx_theme==0.16.1 \ No newline at end of file diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 0000000000000000000000000000000000000000..7cb98e89ccdb6872b39f5ae012027abbd62a55af --- /dev/null +++ b/docs/usage.md @@ -0,0 +1,31 @@ +# Usage + +Using SlideDeck AI, you can create a PowerPoint presentation on any topic like this: + +```python +from slidedeckai.core import SlideDeckAI + + +slide_generator = SlideDeckAI( + model='[gg]gemini-2.5-flash-lite', + topic='Make a slide deck on AI', + api_key='your-google-api-key', # Or set via environment variable +) +pptx_path = slide_generator.generate() +print(f'🤖 Generated slide deck: {pptx_path}') +``` + +To change the slide template, use the `template_idx` parameter with values between 0 and 3, both inclusive. + +Check out the list of [supported LLMs and the two-character provider codes](https://github.com/barun-saha/slide-deck-ai/?tab=readme-ov-file#summary-of-the-llms). +SlideDeck AI uses LiteLLM. You can either provide your [API key](https://docs.litellm.ai/docs/set_keys) in the code as shown above or set as an environment variable. + +You can also use SlideDeck AI from the command line interface like this: +```bash +slidedeckai generate --model '[gg]gemini-2.5-flash-lite' --topic 'Make a slide deck on AI' --api-key 'your-google-api-key' +``` + +List supported models (these are the only models supported by SlideDeck AI): +```bash +slidedeckai --list-models +``` diff --git a/src/slidedeckai/__init__.py b/src/slidedeckai/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..88a3a135dba5ac4d4fc0132a3c18985efb6f5968 100644 --- a/src/slidedeckai/__init__.py +++ b/src/slidedeckai/__init__.py @@ -0,0 +1,4 @@ +""" +SlideDeck AI: Co-create PowerPoint presentations with AI. +""" +from ._version import __version__ # type: ignore