From 0a4991aaeaf058e67cbc4b454bb586fed1427081 Mon Sep 17 00:00:00 2001
From: Andrei Fajardo <92402603+nerdai@users.noreply.github.com>
Date: Tue, 13 Feb 2024 12:06:36 -0500
Subject: [PATCH] add llamahub metadata to pyproject.toml (#10666)

---
 llama-index-experimental/pyproject.toml                      | 5 +++++
 llama-index-finetuning/pyproject.toml                        | 5 +++++
 .../agent/llama-index-agent-openai-legacy/pyproject.toml     | 5 +++++
 .../agent/llama-index-agent-openai/pyproject.toml            | 5 +++++
 .../callbacks/llama-index-callbacks-aim/pyproject.toml       | 5 +++++
 .../callbacks/llama-index-callbacks-argilla/pyproject.toml   | 5 +++++
 .../llama-index-callbacks-arize-phoenix/pyproject.toml       | 5 +++++
 .../callbacks/llama-index-callbacks-deepeval/pyproject.toml  | 5 +++++
 .../callbacks/llama-index-callbacks-honeyhive/pyproject.toml | 5 +++++
 .../llama-index-callbacks-openinference/pyproject.toml       | 5 +++++
 .../llama-index-callbacks-promptlayer/pyproject.toml         | 5 +++++
 .../callbacks/llama-index-callbacks-wandb/pyproject.toml     | 5 +++++
 .../embeddings/llama-index-embeddings-adapter/pyproject.toml | 5 +++++
 .../llama-index-embeddings-anyscale/pyproject.toml           | 5 +++++
 .../llama-index-embeddings-azure-openai/pyproject.toml       | 5 +++++
 .../embeddings/llama-index-embeddings-bedrock/pyproject.toml | 5 +++++
 .../llama-index-embeddings-clarifai/pyproject.toml           | 5 +++++
 .../embeddings/llama-index-embeddings-clip/pyproject.toml    | 5 +++++
 .../embeddings/llama-index-embeddings-cohere/pyproject.toml  | 5 +++++
 .../llama-index-embeddings-elasticsearch/pyproject.toml      | 5 +++++
 .../llama-index-embeddings-fastembed/pyproject.toml          | 5 +++++
 .../embeddings/llama-index-embeddings-gemini/pyproject.toml  | 5 +++++
 .../embeddings/llama-index-embeddings-google/pyproject.toml  | 5 +++++
 .../llama-index-embeddings-gradient/pyproject.toml           | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-embeddings-huggingface/pyproject.toml        | 5 +++++
 .../llama-index-embeddings-instructor/pyproject.toml         | 5 +++++
 .../embeddings/llama-index-embeddings-jinaai/pyproject.toml  | 5 +++++
 .../llama-index-embeddings-langchain/pyproject.toml          | 5 +++++
 .../llama-index-embeddings-llm-rails/pyproject.toml          | 5 +++++
 .../llama-index-embeddings-mistralai/pyproject.toml          | 5 +++++
 .../embeddings/llama-index-embeddings-nomic/pyproject.toml   | 5 +++++
 .../embeddings/llama-index-embeddings-ollama/pyproject.toml  | 5 +++++
 .../embeddings/llama-index-embeddings-openai/pyproject.toml  | 5 +++++
 .../llama-index-embeddings-sagemaker-endpoint/pyproject.toml | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-embeddings-together/pyproject.toml           | 5 +++++
 .../llama-index-embeddings-voyageai/pyproject.toml           | 5 +++++
 .../llama-index-evaluation-tonic-validate/pyproject.toml     | 5 +++++
 .../extractors/llama-index-extractors-entity/pyproject.toml  | 5 +++++
 .../extractors/llama-index-extractors-marvin/pyproject.toml  | 5 +++++
 .../llama-index-graph-stores-falkordb/pyproject.toml         | 5 +++++
 .../llama-index-graph-stores-kuzu/pyproject.toml             | 5 +++++
 .../llama-index-graph-stores-nebula/pyproject.toml           | 5 +++++
 .../llama-index-graph-stores-neo4j/pyproject.toml            | 5 +++++
 .../llama-index-indices-managed-colbert/pyproject.toml       | 5 +++++
 .../llama-index-indices-managed-google/pyproject.toml        | 5 +++++
 .../llama-index-indices-managed-vectara/pyproject.toml       | 5 +++++
 .../llama-index-indices-managed-zilliz/pyproject.toml        | 5 +++++
 .../llms/llama-index-llms-ai21/pyproject.toml                | 5 +++++
 .../llms/llama-index-llms-anthropic/pyproject.toml           | 5 +++++
 .../llms/llama-index-llms-anyscale/pyproject.toml            | 5 +++++
 .../llms/llama-index-llms-azure-openai/pyproject.toml        | 5 +++++
 .../llms/llama-index-llms-bedrock/pyproject.toml             | 5 +++++
 .../llms/llama-index-llms-clarifai/pyproject.toml            | 5 +++++
 .../llms/llama-index-llms-cohere/pyproject.toml              | 5 +++++
 .../llms/llama-index-llms-dashscope/pyproject.toml           | 5 +++++
 .../llms/llama-index-llms-everlyai/pyproject.toml            | 5 +++++
 .../llms/llama-index-llms-gemini/pyproject.toml              | 5 +++++
 .../llms/llama-index-llms-gradient/pyproject.toml            | 5 +++++
 .../llms/llama-index-llms-huggingface/pyproject.toml         | 5 +++++
 .../llms/llama-index-llms-konko/pyproject.toml               | 5 +++++
 .../llms/llama-index-llms-langchain/pyproject.toml           | 5 +++++
 .../llms/llama-index-llms-litellm/pyproject.toml             | 5 +++++
 .../llms/llama-index-llms-llama-api/pyproject.toml           | 5 +++++
 .../llms/llama-index-llms-llama-cpp/pyproject.toml           | 5 +++++
 .../llms/llama-index-llms-localai/pyproject.toml             | 5 +++++
 .../llms/llama-index-llms-mistralai/pyproject.toml           | 5 +++++
 .../llms/llama-index-llms-monsterapi/pyproject.toml          | 5 +++++
 .../llms/llama-index-llms-neutrino/pyproject.toml            | 5 +++++
 .../llms/llama-index-llms-nvidia-tensorrt/pyproject.toml     | 5 +++++
 .../llms/llama-index-llms-nvidia-triton/pyproject.toml       | 5 +++++
 .../llms/llama-index-llms-ollama/pyproject.toml              | 5 +++++
 .../llms/llama-index-llms-openai-like/pyproject.toml         | 5 +++++
 .../llms/llama-index-llms-openai/pyproject.toml              | 5 +++++
 .../llms/llama-index-llms-openllm/pyproject.toml             | 5 +++++
 .../llms/llama-index-llms-openrouter/pyproject.toml          | 5 +++++
 .../llms/llama-index-llms-palm/pyproject.toml                | 5 +++++
 .../llms/llama-index-llms-perplexity/pyproject.toml          | 5 +++++
 .../llms/llama-index-llms-portkey/pyproject.toml             | 5 +++++
 .../llms/llama-index-llms-predibase/pyproject.toml           | 5 +++++
 .../llms/llama-index-llms-replicate/pyproject.toml           | 5 +++++
 .../llms/llama-index-llms-rungpt/pyproject.toml              | 5 +++++
 .../llms/llama-index-llms-sagemaker-endpoint/pyproject.toml  | 5 +++++
 .../llms/llama-index-llms-together/pyproject.toml            | 5 +++++
 .../llms/llama-index-llms-vertex/pyproject.toml              | 5 +++++
 .../llms/llama-index-llms-vllm/pyproject.toml                | 5 +++++
 .../llms/llama-index-llms-watsonx/pyproject.toml             | 5 +++++
 .../llms/llama-index-llms-xinference/pyproject.toml          | 5 +++++
 .../llama-index-multi-modal-llms-azure-openai/pyproject.toml | 5 +++++
 .../llama-index-multi-modal-llms-dashscope/pyproject.toml    | 5 +++++
 .../llama-index-multi-modal-llms-gemini/pyproject.toml       | 5 +++++
 .../llama-index-multi-modal-llms-ollama/pyproject.toml       | 5 +++++
 .../llama-index-multi-modal-llms-openai/pyproject.toml       | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-multi-modal-llms-replicate/pyproject.toml    | 5 +++++
 .../llama-index-output-parsers-guardrails/pyproject.toml     | 5 +++++
 .../llama-index-output-parsers-langchain/pyproject.toml      | 5 +++++
 .../llama-index-postprocessor-cohere-rerank/pyproject.toml   | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-postprocessor-longllmlingua/pyproject.toml   | 5 +++++
 .../llama-index-postprocessor-rankgpt-rerank/pyproject.toml  | 5 +++++
 .../llama-index-postprocessor-sbert-rerank/pyproject.toml    | 5 +++++
 .../program/llama-index-program-evaporate/pyproject.toml     | 5 +++++
 .../program/llama-index-program-guidance/pyproject.toml      | 5 +++++
 .../llama-index-program-lmformatenforcer/pyproject.toml      | 5 +++++
 .../program/llama-index-program-openai/pyproject.toml        | 5 +++++
 .../llama-index-question-gen-guidance/pyproject.toml         | 5 +++++
 .../llama-index-question-gen-openai/pyproject.toml           | 5 +++++
 .../readers/llama-index-readers-agent-search/pyproject.toml  | 5 +++++
 .../readers/llama-index-readers-airbyte-cdk/pyproject.toml   | 5 +++++
 .../readers/llama-index-readers-airbyte-gong/pyproject.toml  | 5 +++++
 .../llama-index-readers-airbyte-hubspot/pyproject.toml       | 5 +++++
 .../llama-index-readers-airbyte-salesforce/pyproject.toml    | 5 +++++
 .../llama-index-readers-airbyte-shopify/pyproject.toml       | 5 +++++
 .../llama-index-readers-airbyte-stripe/pyproject.toml        | 5 +++++
 .../llama-index-readers-airbyte-typeform/pyproject.toml      | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../readers/llama-index-readers-airtable/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-apify/pyproject.toml         | 5 +++++
 .../readers/llama-index-readers-arango-db/pyproject.toml     | 5 +++++
 .../readers/llama-index-readers-asana/pyproject.toml         | 5 +++++
 .../readers/llama-index-readers-assemblyai/pyproject.toml    | 5 +++++
 .../readers/llama-index-readers-astra-db/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-athena/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-awadb/pyproject.toml         | 5 +++++
 .../llama-index-readers-azcognitive-search/pyproject.toml    | 5 +++++
 .../llama-index-readers-azstorage-blob/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-bagel/pyproject.toml         | 5 +++++
 .../readers/llama-index-readers-bilibili/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-bitbucket/pyproject.toml     | 5 +++++
 .../readers/llama-index-readers-boarddocs/pyproject.toml     | 5 +++++
 .../llama-index-readers-chatgpt-plugin/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-chroma/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-confluence/pyproject.toml    | 5 +++++
 .../readers/llama-index-readers-couchbase/pyproject.toml     | 5 +++++
 .../readers/llama-index-readers-couchdb/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-dad-jokes/pyproject.toml     | 5 +++++
 .../readers/llama-index-readers-dashvector/pyproject.toml    | 5 +++++
 .../readers/llama-index-readers-database/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-deeplake/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-discord/pyproject.toml       | 5 +++++
 .../llama-index-readers-docstring-walker/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-docugami/pyproject.toml      | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../readers/llama-index-readers-elasticsearch/pyproject.toml | 5 +++++
 .../readers/llama-index-readers-faiss/pyproject.toml         | 5 +++++
 .../readers/llama-index-readers-feedly-rss/pyproject.toml    | 5 +++++
 .../readers/llama-index-readers-feishu-docs/pyproject.toml   | 5 +++++
 .../readers/llama-index-readers-file/pyproject.toml          | 5 +++++
 .../llama-index-readers-firebase-realtimedb/pyproject.toml   | 5 +++++
 .../readers/llama-index-readers-firestore/pyproject.toml     | 5 +++++
 .../readers/llama-index-readers-genius/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-github/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-google/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-gpt-repo/pyproject.toml      | 5 +++++
 .../llama-index-readers-graphdb-cypher/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-graphql/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-guru/pyproject.toml          | 5 +++++
 .../readers/llama-index-readers-hatena-blog/pyproject.toml   | 5 +++++
 .../readers/llama-index-readers-hive/pyproject.toml          | 5 +++++
 .../readers/llama-index-readers-hubspot/pyproject.toml       | 5 +++++
 .../llama-index-readers-huggingface-fs/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-hwp/pyproject.toml           | 5 +++++
 .../readers/llama-index-readers-imdb-review/pyproject.toml   | 5 +++++
 .../readers/llama-index-readers-intercom/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-jaguar/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-jira/pyproject.toml          | 5 +++++
 .../readers/llama-index-readers-joplin/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-json/pyproject.toml          | 5 +++++
 .../readers/llama-index-readers-kaltura/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-kibela/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-lilac/pyproject.toml         | 5 +++++
 .../readers/llama-index-readers-linear/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-macrometa-gdn/pyproject.toml | 5 +++++
 .../readers/llama-index-readers-make-com/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-mangadex/pyproject.toml      | 5 +++++
 .../llama-index-readers-mangoapps-guides/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-maps/pyproject.toml          | 5 +++++
 .../readers/llama-index-readers-mbox/pyproject.toml          | 5 +++++
 .../readers/llama-index-readers-memos/pyproject.toml         | 5 +++++
 .../readers/llama-index-readers-metal/pyproject.toml         | 5 +++++
 .../llama-index-readers-microsoft-onedrive/pyproject.toml    | 5 +++++
 .../llama-index-readers-microsoft-outlook/pyproject.toml     | 5 +++++
 .../llama-index-readers-microsoft-sharepoint/pyproject.toml  | 5 +++++
 .../readers/llama-index-readers-milvus/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-minio/pyproject.toml         | 5 +++++
 .../readers/llama-index-readers-mondaydotcom/pyproject.toml  | 5 +++++
 .../readers/llama-index-readers-mongodb/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-myscale/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-notion/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-nougat-ocr/pyproject.toml    | 5 +++++
 .../readers/llama-index-readers-obsidian/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-openalex/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-opendal/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-opensearch/pyproject.toml    | 5 +++++
 .../readers/llama-index-readers-pandas-ai/pyproject.toml     | 5 +++++
 .../readers/llama-index-readers-papers/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-patentsview/pyproject.toml   | 5 +++++
 .../readers/llama-index-readers-pathway/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-pdb/pyproject.toml           | 5 +++++
 .../readers/llama-index-readers-pdf-table/pyproject.toml     | 5 +++++
 .../readers/llama-index-readers-pinecone/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-preprocess/pyproject.toml    | 5 +++++
 .../readers/llama-index-readers-psychic/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-qdrant/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-rayyan/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-readwise/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-reddit/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-remote-depth/pyproject.toml  | 5 +++++
 .../readers/llama-index-readers-remote/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-s3/pyproject.toml            | 5 +++++
 .../readers/llama-index-readers-sec-filings/pyproject.toml   | 5 +++++
 .../llama-index-readers-semanticscholar/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-singlestore/pyproject.toml   | 5 +++++
 .../readers/llama-index-readers-slack/pyproject.toml         | 5 +++++
 .../llama-index-readers-smart-pdf-loader/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-snowflake/pyproject.toml     | 5 +++++
 .../llama-index-readers-snscrape-twitter/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-spotify/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-stackoverflow/pyproject.toml | 5 +++++
 .../readers/llama-index-readers-steamship/pyproject.toml     | 5 +++++
 .../llama-index-readers-string-iterable/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-stripe-docs/pyproject.toml   | 5 +++++
 .../readers/llama-index-readers-telegram/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-trello/pyproject.toml        | 5 +++++
 .../readers/llama-index-readers-twitter/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-txtai/pyproject.toml         | 5 +++++
 .../readers/llama-index-readers-weather/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-weaviate/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-web/pyproject.toml           | 5 +++++
 .../readers/llama-index-readers-whatsapp/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-wikipedia/pyproject.toml     | 5 +++++
 .../readers/llama-index-readers-wordlift/pyproject.toml      | 5 +++++
 .../readers/llama-index-readers-wordpress/pyproject.toml     | 5 +++++
 .../llama-index-readers-youtube-transcript/pyproject.toml    | 5 +++++
 .../readers/llama-index-readers-zendesk/pyproject.toml       | 5 +++++
 .../readers/llama-index-readers-zep/pyproject.toml           | 5 +++++
 .../readers/llama-index-readers-zulip/pyproject.toml         | 5 +++++
 .../llama-index-response-synthesizers-google/pyproject.toml  | 5 +++++
 .../retrievers/llama-index-retrievers-bm25/pyproject.toml    | 5 +++++
 .../retrievers/llama-index-retrievers-pathway/pyproject.toml | 5 +++++
 .../retrievers/llama-index-retrievers-you/pyproject.toml     | 5 +++++
 .../llama-index-storage-chat-store-redis/pyproject.toml      | 5 +++++
 .../llama-index-storage-docstore-dynamodb/pyproject.toml     | 5 +++++
 .../llama-index-storage-docstore-firestore/pyproject.toml    | 5 +++++
 .../llama-index-storage-docstore-mongodb/pyproject.toml      | 5 +++++
 .../llama-index-storage-docstore-postgres/pyproject.toml     | 5 +++++
 .../llama-index-storage-docstore-redis/pyproject.toml        | 5 +++++
 .../llama-index-storage-index-store-dynamodb/pyproject.toml  | 5 +++++
 .../llama-index-storage-index-store-firestore/pyproject.toml | 5 +++++
 .../llama-index-storage-index-store-mongodb/pyproject.toml   | 5 +++++
 .../llama-index-storage-index-store-postgres/pyproject.toml  | 5 +++++
 .../llama-index-storage-index-store-redis/pyproject.toml     | 5 +++++
 .../llama-index-storage-kvstore-dynamodb/pyproject.toml      | 5 +++++
 .../llama-index-storage-kvstore-firestore/pyproject.toml     | 5 +++++
 .../llama-index-storage-kvstore-mongodb/pyproject.toml       | 5 +++++
 .../llama-index-storage-kvstore-postgres/pyproject.toml      | 5 +++++
 .../kvstore/llama-index-storage-kvstore-redis/pyproject.toml | 5 +++++
 .../kvstore/llama-index-storage-kvstore-s3/pyproject.toml    | 5 +++++
 .../tools/llama-index-tools-arxiv/pyproject.toml             | 5 +++++
 .../tools/llama-index-tools-azure-cv/pyproject.toml          | 5 +++++
 .../tools/llama-index-tools-azure-speech/pyproject.toml      | 5 +++++
 .../tools/llama-index-tools-azure-translate/pyproject.toml   | 5 +++++
 .../tools/llama-index-tools-bing-search/pyproject.toml       | 5 +++++
 .../tools/llama-index-tools-chatgpt-plugin/pyproject.toml    | 5 +++++
 .../tools/llama-index-tools-code-interpreter/pyproject.toml  | 5 +++++
 .../tools/llama-index-tools-cogniswitch/pyproject.toml       | 5 +++++
 .../tools/llama-index-tools-database/pyproject.toml          | 5 +++++
 .../tools/llama-index-tools-exa/pyproject.toml               | 5 +++++
 .../tools/llama-index-tools-google/pyproject.toml            | 5 +++++
 .../tools/llama-index-tools-graphql/pyproject.toml           | 5 +++++
 .../tools/llama-index-tools-ionic-shopping/pyproject.toml    | 5 +++++
 .../tools/llama-index-tools-metaphor/pyproject.toml          | 5 +++++
 .../tools/llama-index-tools-multion/pyproject.toml           | 5 +++++
 .../tools/llama-index-tools-neo4j/pyproject.toml             | 5 +++++
 .../tools/llama-index-tools-notion/pyproject.toml            | 5 +++++
 .../tools/llama-index-tools-openai/pyproject.toml            | 5 +++++
 .../tools/llama-index-tools-openapi/pyproject.toml           | 5 +++++
 .../tools/llama-index-tools-playgrounds/pyproject.toml       | 5 +++++
 .../tools/llama-index-tools-python-file/pyproject.toml       | 5 +++++
 .../tools/llama-index-tools-requests/pyproject.toml          | 5 +++++
 .../tools/llama-index-tools-salesforce/pyproject.toml        | 5 +++++
 .../tools/llama-index-tools-shopify/pyproject.toml           | 5 +++++
 .../tools/llama-index-tools-slack/pyproject.toml             | 5 +++++
 .../tools/llama-index-tools-tavily-research/pyproject.toml   | 5 +++++
 .../tools/llama-index-tools-text-to-image/pyproject.toml     | 5 +++++
 .../tools/llama-index-tools-vector-db/pyproject.toml         | 5 +++++
 .../tools/llama-index-tools-waii/pyproject.toml              | 5 +++++
 .../tools/llama-index-tools-weather/pyproject.toml           | 5 +++++
 .../tools/llama-index-tools-wikipedia/pyproject.toml         | 5 +++++
 .../tools/llama-index-tools-wolfram-alpha/pyproject.toml     | 5 +++++
 .../tools/llama-index-tools-yelp/pyproject.toml              | 5 +++++
 .../tools/llama-index-tools-zapier/pyproject.toml            | 5 +++++
 .../llama-index-vector-stores-astra/pyproject.toml           | 5 +++++
 .../llama-index-vector-stores-awadb/pyproject.toml           | 5 +++++
 .../llama-index-vector-stores-azureaisearch/pyproject.toml   | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-vector-stores-bagel/pyproject.toml           | 5 +++++
 .../llama-index-vector-stores-cassandra/pyproject.toml       | 5 +++++
 .../llama-index-vector-stores-chatgpt-plugin/pyproject.toml  | 5 +++++
 .../llama-index-vector-stores-chroma/pyproject.toml          | 5 +++++
 .../llama-index-vector-stores-dashvector/pyproject.toml      | 5 +++++
 .../llama-index-vector-stores-deeplake/pyproject.toml        | 5 +++++
 .../llama-index-vector-stores-docarray/pyproject.toml        | 5 +++++
 .../llama-index-vector-stores-dynamodb/pyproject.toml        | 5 +++++
 .../llama-index-vector-stores-elasticsearch/pyproject.toml   | 5 +++++
 .../llama-index-vector-stores-epsilla/pyproject.toml         | 5 +++++
 .../llama-index-vector-stores-faiss/pyproject.toml           | 5 +++++
 .../llama-index-vector-stores-google/pyproject.toml          | 5 +++++
 .../llama-index-vector-stores-jaguar/pyproject.toml          | 5 +++++
 .../llama-index-vector-stores-lancedb/pyproject.toml         | 5 +++++
 .../llama-index-vector-stores-lantern/pyproject.toml         | 5 +++++
 .../llama-index-vector-stores-metal/pyproject.toml           | 5 +++++
 .../llama-index-vector-stores-milvus/pyproject.toml          | 5 +++++
 .../llama-index-vector-stores-mongodb/pyproject.toml         | 5 +++++
 .../llama-index-vector-stores-myscale/pyproject.toml         | 5 +++++
 .../llama-index-vector-stores-neo4jvector/pyproject.toml     | 5 +++++
 .../llama-index-vector-stores-pgvecto-rs/pyproject.toml      | 5 +++++
 .../llama-index-vector-stores-pinecone/pyproject.toml        | 5 +++++
 .../llama-index-vector-stores-postgres/pyproject.toml        | 5 +++++
 .../llama-index-vector-stores-qdrant/pyproject.toml          | 5 +++++
 .../llama-index-vector-stores-redis/pyproject.toml           | 5 +++++
 .../llama-index-vector-stores-rocksetdb/pyproject.toml       | 5 +++++
 .../llama-index-vector-stores-singlestoredb/pyproject.toml   | 5 +++++
 .../llama-index-vector-stores-supabase/pyproject.toml        | 5 +++++
 .../llama-index-vector-stores-tair/pyproject.toml            | 5 +++++
 .../llama-index-vector-stores-tencentvectordb/pyproject.toml | 5 +++++
 .../llama-index-vector-stores-timescalevector/pyproject.toml | 5 +++++
 .../llama-index-vector-stores-txtai/pyproject.toml           | 5 +++++
 .../llama-index-vector-stores-typesense/pyproject.toml       | 5 +++++
 .../llama-index-vector-stores-upstash/pyproject.toml         | 5 +++++
 .../llama-index-vector-stores-weaviate/pyproject.toml        | 5 +++++
 .../llama-index-vector-stores-zep/pyproject.toml             | 5 +++++
 .../llama-index-packs-agent-search-retriever/pyproject.toml  | 5 +++++
 .../llama-index-packs-agents-llm-compiler/pyproject.toml     | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-auto-merging-retriever/pyproject.toml  | 5 +++++
 .../llama-index-packs-chroma-autoretrieval/pyproject.toml    | 5 +++++
 .../llama-index-packs-cogniswitch-agent/pyproject.toml       | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-dense-x-retrieval/pyproject.toml       | 5 +++++
 .../llama-index-packs-evaluator-benchmarker/pyproject.toml   | 5 +++++
 .../llama-index-packs-fusion-retriever/pyproject.toml        | 5 +++++
 .../llama-index-packs-fuzzy-citation/pyproject.toml          | 5 +++++
 .../llama-index-packs-gmail-openai-agent/pyproject.toml      | 5 +++++
 .../llama-index-packs-gradio-agent-chat/pyproject.toml       | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-infer-retrieve-rerank/pyproject.toml   | 5 +++++
 .../llama-index-packs-llama-dataset-metadata/pyproject.toml  | 5 +++++
 .../llama-index-packs-llama-guard-moderator/pyproject.toml   | 5 +++++
 .../llama-index-packs-llava-completion/pyproject.toml        | 5 +++++
 .../llama-index-packs-multi-document-agents/pyproject.toml   | 5 +++++
 .../llama-index-packs-multi-tenancy-rag/pyproject.toml       | 5 +++++
 .../llama-index-packs-multidoc-autoretrieval/pyproject.toml  | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-neo4j-query-engine/pyproject.toml      | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-ollama-query-engine/pyproject.toml     | 5 +++++
 .../llama-index-packs-panel-chatbot/pyproject.toml           | 5 +++++
 .../llama-index-packs-rag-cli-local/pyproject.toml           | 5 +++++
 .../llama-index-packs-rag-evaluator/pyproject.toml           | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-ragatouille-retriever/pyproject.toml   | 5 +++++
 .../llama-index-packs-recursive-retriever/pyproject.toml     | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-resume-screener/pyproject.toml         | 5 +++++
 .../llama-index-packs-retry-engine-weaviate/pyproject.toml   | 5 +++++
 llama-index-packs/llama-index-packs-self-rag/pyproject.toml  | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-snowflake-query-engine/pyproject.toml  | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-streamlit-chatbot/pyproject.toml       | 5 +++++
 .../llama-index-packs-sub-question-weaviate/pyproject.toml   | 5 +++++
 llama-index-packs/llama-index-packs-tables/pyproject.toml    | 5 +++++
 .../pyproject.toml                                           | 5 +++++
 .../llama-index-packs-trulens-eval-packs/pyproject.toml      | 5 +++++
 llama-index-packs/llama-index-packs-vanna/pyproject.toml     | 5 +++++
 .../llama-index-packs-vectara-rag/pyproject.toml             | 5 +++++
 .../llama-index-packs-voyage-query-engine/pyproject.toml     | 5 +++++
 .../llama-index-packs-zephyr-query-engine/pyproject.toml     | 5 +++++
 383 files changed, 1915 insertions(+)

diff --git a/llama-index-experimental/pyproject.toml b/llama-index-experimental/pyproject.toml
index 926212800d..7ecd2969d0 100644
--- a/llama-index-experimental/pyproject.toml
+++ b/llama-index-experimental/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = []
+contains_example = false
+import_path = "llama_index.experimental"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-finetuning/pyproject.toml b/llama-index-finetuning/pyproject.toml
index 420b28c120..b073a6e234 100644
--- a/llama-index-finetuning/pyproject.toml
+++ b/llama-index-finetuning/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["CohereRerankerFinetuneEngine", "EmbeddingAdapterFinetuneEngine", "EmbeddingQAFinetuneDataset", "GradientFinetuneEngine", "OpenAIFinetuneEngine", "SentenceTransformersFinetuneEngine", "generate_cohere_reranker_finetuning_dataset", "generate_qa_embedding_pairs"]
+contains_example = false
+import_path = "llama_index.finetuning"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/agent/llama-index-agent-openai-legacy/pyproject.toml b/llama-index-integrations/agent/llama-index-agent-openai-legacy/pyproject.toml
index 2ff109765c..911283c403 100644
--- a/llama-index-integrations/agent/llama-index-agent-openai-legacy/pyproject.toml
+++ b/llama-index-integrations/agent/llama-index-agent-openai-legacy/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BaseOpenAIAgent", "ContextRetrieverOpenAIAgent", "FnRetrieverOpenAIAgent", "OpenAIAgent"]
+contains_example = false
+import_path = "llama_index.agent.openai_legacy"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/agent/llama-index-agent-openai/pyproject.toml b/llama-index-integrations/agent/llama-index-agent-openai/pyproject.toml
index 358cee1d1d..fec0867b55 100644
--- a/llama-index-integrations/agent/llama-index-agent-openai/pyproject.toml
+++ b/llama-index-integrations/agent/llama-index-agent-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAIAgent", "OpenAIAgentWorker", "OpenAIAssistantAgent"]
+contains_example = false
+import_path = "llama_index.agent.openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/callbacks/llama-index-callbacks-aim/pyproject.toml b/llama-index-integrations/callbacks/llama-index-callbacks-aim/pyproject.toml
index 2a5f2b63f6..47e9c60496 100644
--- a/llama-index-integrations/callbacks/llama-index-callbacks-aim/pyproject.toml
+++ b/llama-index-integrations/callbacks/llama-index-callbacks-aim/pyproject.toml
@@ -8,6 +8,11 @@ check-hidden = true
 ignore-words-list = "Gere"
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AimCallback"]
+contains_example = false
+import_path = "llama_index.callbacks.aim"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/callbacks/llama-index-callbacks-argilla/pyproject.toml b/llama-index-integrations/callbacks/llama-index-callbacks-argilla/pyproject.toml
index 89b0e00149..8cbbd708a5 100644
--- a/llama-index-integrations/callbacks/llama-index-callbacks-argilla/pyproject.toml
+++ b/llama-index-integrations/callbacks/llama-index-callbacks-argilla/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["argilla_callback_handler"]
+contains_example = false
+import_path = "llama_index.callbacks.argilla"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/callbacks/llama-index-callbacks-arize-phoenix/pyproject.toml b/llama-index-integrations/callbacks/llama-index-callbacks-arize-phoenix/pyproject.toml
index d6484b9045..1de9f3cd3b 100644
--- a/llama-index-integrations/callbacks/llama-index-callbacks-arize-phoenix/pyproject.toml
+++ b/llama-index-integrations/callbacks/llama-index-callbacks-arize-phoenix/pyproject.toml
@@ -8,6 +8,11 @@ check-hidden = true
 ignore-words-list = "Gere"
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["arize_phoenix_callback_handler"]
+contains_example = false
+import_path = "llama_index.callbacks.arize_phoenix"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/callbacks/llama-index-callbacks-deepeval/pyproject.toml b/llama-index-integrations/callbacks/llama-index-callbacks-deepeval/pyproject.toml
index ff5a8d2c02..76201455be 100644
--- a/llama-index-integrations/callbacks/llama-index-callbacks-deepeval/pyproject.toml
+++ b/llama-index-integrations/callbacks/llama-index-callbacks-deepeval/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["deepeval_callback_handler"]
+contains_example = false
+import_path = "llama_index.callbacks.deepeval"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/callbacks/llama-index-callbacks-honeyhive/pyproject.toml b/llama-index-integrations/callbacks/llama-index-callbacks-honeyhive/pyproject.toml
index 88b1442a00..c7523f4770 100644
--- a/llama-index-integrations/callbacks/llama-index-callbacks-honeyhive/pyproject.toml
+++ b/llama-index-integrations/callbacks/llama-index-callbacks-honeyhive/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["honeyhive_callback_handler"]
+contains_example = false
+import_path = "llama_index.callbacks.honeyhive"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/callbacks/llama-index-callbacks-openinference/pyproject.toml b/llama-index-integrations/callbacks/llama-index-callbacks-openinference/pyproject.toml
index 53107f145b..697fe0efc5 100644
--- a/llama-index-integrations/callbacks/llama-index-callbacks-openinference/pyproject.toml
+++ b/llama-index-integrations/callbacks/llama-index-callbacks-openinference/pyproject.toml
@@ -8,6 +8,11 @@ check-hidden = true
 ignore-words-list = "Gere"
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenInferenceCallbackHandler"]
+contains_example = false
+import_path = "llama_index.callbacks.openinference"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/callbacks/llama-index-callbacks-promptlayer/pyproject.toml b/llama-index-integrations/callbacks/llama-index-callbacks-promptlayer/pyproject.toml
index b10fe9d244..393928b3c2 100644
--- a/llama-index-integrations/callbacks/llama-index-callbacks-promptlayer/pyproject.toml
+++ b/llama-index-integrations/callbacks/llama-index-callbacks-promptlayer/pyproject.toml
@@ -8,6 +8,11 @@ check-hidden = true
 ignore-words-list = "Gere"
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PromptLayerHandler"]
+contains_example = false
+import_path = "llama_index.callbacks.promptlayer"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/callbacks/llama-index-callbacks-wandb/pyproject.toml b/llama-index-integrations/callbacks/llama-index-callbacks-wandb/pyproject.toml
index 40e0be7f0b..0a51f0a090 100644
--- a/llama-index-integrations/callbacks/llama-index-callbacks-wandb/pyproject.toml
+++ b/llama-index-integrations/callbacks/llama-index-callbacks-wandb/pyproject.toml
@@ -8,6 +8,11 @@ check-hidden = true
 ignore-words-list = "Gere"
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WandbCallbackHandler"]
+contains_example = false
+import_path = "llama_index.callbacks.wandb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-adapter/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-adapter/pyproject.toml
index 21237e4e80..9a8c719a27 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-adapter/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-adapter/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AdapterEmbeddingModel"]
+contains_example = false
+import_path = "llama_index.embeddings.adapter"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-anyscale/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-anyscale/pyproject.toml
index 396db79a9b..41d8d4d151 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-anyscale/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-anyscale/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AnyscaleEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.anyscale"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-azure-openai/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-azure-openai/pyproject.toml
index 34d371a699..74238ea32c 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-azure-openai/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-azure-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AsyncAzureOpenAI", "AzureOpenAI", "AzureOpenAIEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.azure_openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-bedrock/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-bedrock/pyproject.toml
index 90eca2ae66..d96ab0f2cc 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-bedrock/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-bedrock/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BedrockEmbedding", "Models"]
+contains_example = false
+import_path = "llama_index.embeddings.bedrock"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-clarifai/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-clarifai/pyproject.toml
index 72d99138fc..2fab3abe92 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-clarifai/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-clarifai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ClarifaiEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.clarifai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-clip/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-clip/pyproject.toml
index 9dd2cbb75a..76bc6a1227 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-clip/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-clip/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ClipEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.clip"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-cohere/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-cohere/pyproject.toml
index 73554c8695..7a0b92bfc9 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-cohere/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-cohere/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["CohereEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.cohere"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-elasticsearch/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-elasticsearch/pyproject.toml
index 63106e29cf..b835af46d4 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-elasticsearch/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-elasticsearch/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ElasticsearchEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.elasticsearch"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-fastembed/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-fastembed/pyproject.toml
index 4026ec0b57..8366484b74 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-fastembed/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-fastembed/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FastEmbedEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.fastembed"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-gemini/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-gemini/pyproject.toml
index 348648ebb8..b0c93d8c15 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-gemini/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-gemini/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GeminiEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.gemini"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-google/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-google/pyproject.toml
index d7a1d76004..dbd9ddf301 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-google/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-google/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GeminiEmbedding", "GooglePaLMEmbedding", "GoogleUnivSentEncoderEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.google"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-gradient/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-gradient/pyproject.toml
index b4f2de8fbb..7e4cc41c90 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-gradient/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-gradient/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GradientEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.gradient"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-huggingface-optimum/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-huggingface-optimum/pyproject.toml
index eeb0e730e9..608226b7e3 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-huggingface-optimum/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-huggingface-optimum/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OptimumEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.huggingface_optimum"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-huggingface/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-huggingface/pyproject.toml
index ba7aec0e07..d1bfd014a9 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-huggingface/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-huggingface/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["HuggingFaceEmbedding", "HuggingFaceInferenceAPIEmbedding", "HuggingFaceInferenceAPIEmbeddings"]
+contains_example = false
+import_path = "llama_index.embeddings.huggingface"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-instructor/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-instructor/pyproject.toml
index 60049f858f..132a57777d 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-instructor/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-instructor/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["InstructorEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.instructor"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-jinaai/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-jinaai/pyproject.toml
index 4a1d4480fc..78a40a5eba 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-jinaai/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-jinaai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["JinaEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.jinaai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-langchain/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-langchain/pyproject.toml
index 3ed2f30a33..c66215aa79 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-langchain/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-langchain/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LangchainEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.langchain"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-llm-rails/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-llm-rails/pyproject.toml
index 5f950d76fb..c719d52151 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-llm-rails/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-llm-rails/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LLMRailsEmbedding", "LLMRailsEmbeddings"]
+contains_example = false
+import_path = "llama_index.embeddings.llm_rails"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-mistralai/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-mistralai/pyproject.toml
index 7f8ca474c9..f4d36d13e2 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-mistralai/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-mistralai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MistralAIEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.mistralai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-nomic/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-nomic/pyproject.toml
index 240ece03d1..470a87befd 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-nomic/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-nomic/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["NomicEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.nomic"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-ollama/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-ollama/pyproject.toml
index eabe4e854d..417560b07b 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-ollama/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-ollama/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OllamaEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.ollama"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-openai/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-openai/pyproject.toml
index 5d31dfb6c8..a3d6626d28 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-openai/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAIEmbedding", "OpenAIEmbeddingMode", "OpenAIEmbeddingModeModel", "OpenAIEmbeddingModelType"]
+contains_example = false
+import_path = "llama_index.embeddings.openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-sagemaker-endpoint/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-sagemaker-endpoint/pyproject.toml
index 5784ac1c5e..75cd0e7621 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-sagemaker-endpoint/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-sagemaker-endpoint/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SageMakerEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.sagemaker_endpoint"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-text-embeddings-inference/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-text-embeddings-inference/pyproject.toml
index 29c017667c..fb031b31d3 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-text-embeddings-inference/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-text-embeddings-inference/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TextEmbeddingsInference"]
+contains_example = false
+import_path = "llama_index.embeddings.text_embeddings_inference"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-together/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-together/pyproject.toml
index 9249d81d03..b10681331b 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-together/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-together/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TogetherEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.together"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/embeddings/llama-index-embeddings-voyageai/pyproject.toml b/llama-index-integrations/embeddings/llama-index-embeddings-voyageai/pyproject.toml
index bd0825f2c1..a73babfca1 100644
--- a/llama-index-integrations/embeddings/llama-index-embeddings-voyageai/pyproject.toml
+++ b/llama-index-integrations/embeddings/llama-index-embeddings-voyageai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["VoyageEmbedding"]
+contains_example = false
+import_path = "llama_index.embeddings.voyageai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/evaluation/llama-index-evaluation-tonic-validate/pyproject.toml b/llama-index-integrations/evaluation/llama-index-evaluation-tonic-validate/pyproject.toml
index b7ee84ba04..3b91d206bd 100644
--- a/llama-index-integrations/evaluation/llama-index-evaluation-tonic-validate/pyproject.toml
+++ b/llama-index-integrations/evaluation/llama-index-evaluation-tonic-validate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AnswerConsistencyBinaryEvaluator", "AnswerConsistencyEvaluator", "AnswerSimilarityEvaluator", "AugmentationAccuracyEvaluator", "AugmentationPrecisionEvaluator", "RetrievalPrecisionEvaluator", "TonicValidateEvaluator"]
+contains_example = false
+import_path = "llama_index.evaluation.tonic_validate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/extractors/llama-index-extractors-entity/pyproject.toml b/llama-index-integrations/extractors/llama-index-extractors-entity/pyproject.toml
index f828ad32f9..bde6a0c078 100644
--- a/llama-index-integrations/extractors/llama-index-extractors-entity/pyproject.toml
+++ b/llama-index-integrations/extractors/llama-index-extractors-entity/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["EntityExtractor"]
+contains_example = false
+import_path = "llama_index.extractors.entity"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/extractors/llama-index-extractors-marvin/pyproject.toml b/llama-index-integrations/extractors/llama-index-extractors-marvin/pyproject.toml
index c435b0018c..f6e2999c9d 100644
--- a/llama-index-integrations/extractors/llama-index-extractors-marvin/pyproject.toml
+++ b/llama-index-integrations/extractors/llama-index-extractors-marvin/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MarvinMetadataExtractor"]
+contains_example = false
+import_path = "llama_index.extractors.marvin"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/graph_stores/llama-index-graph-stores-falkordb/pyproject.toml b/llama-index-integrations/graph_stores/llama-index-graph-stores-falkordb/pyproject.toml
index 0aaa733b79..0c2ed4a88b 100644
--- a/llama-index-integrations/graph_stores/llama-index-graph-stores-falkordb/pyproject.toml
+++ b/llama-index-integrations/graph_stores/llama-index-graph-stores-falkordb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FalkorDBGraphStore"]
+contains_example = false
+import_path = "llama_index.graph_stores.falkordb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/graph_stores/llama-index-graph-stores-kuzu/pyproject.toml b/llama-index-integrations/graph_stores/llama-index-graph-stores-kuzu/pyproject.toml
index 3a5cc00ef0..5c7c58bfd0 100644
--- a/llama-index-integrations/graph_stores/llama-index-graph-stores-kuzu/pyproject.toml
+++ b/llama-index-integrations/graph_stores/llama-index-graph-stores-kuzu/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["KuzuGraphStore"]
+contains_example = false
+import_path = "llama_index.graph_stores.kuzu"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/graph_stores/llama-index-graph-stores-nebula/pyproject.toml b/llama-index-integrations/graph_stores/llama-index-graph-stores-nebula/pyproject.toml
index e80fc3da81..b22a1ab6a0 100644
--- a/llama-index-integrations/graph_stores/llama-index-graph-stores-nebula/pyproject.toml
+++ b/llama-index-integrations/graph_stores/llama-index-graph-stores-nebula/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["NebulaGraphStore"]
+contains_example = false
+import_path = "llama_index.graph_stores.nebula"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/graph_stores/llama-index-graph-stores-neo4j/pyproject.toml b/llama-index-integrations/graph_stores/llama-index-graph-stores-neo4j/pyproject.toml
index d31aabaad8..2ff2348c05 100644
--- a/llama-index-integrations/graph_stores/llama-index-graph-stores-neo4j/pyproject.toml
+++ b/llama-index-integrations/graph_stores/llama-index-graph-stores-neo4j/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Neo4jGraphStore"]
+contains_example = false
+import_path = "llama_index.graph_stores.neo4j"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/indices/llama-index-indices-managed-colbert/pyproject.toml b/llama-index-integrations/indices/llama-index-indices-managed-colbert/pyproject.toml
index e39286e906..eddf4fc426 100644
--- a/llama-index-integrations/indices/llama-index-indices-managed-colbert/pyproject.toml
+++ b/llama-index-integrations/indices/llama-index-indices-managed-colbert/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ColbertIndex"]
+contains_example = false
+import_path = "llama_index.indices.managed.colbert"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/indices/llama-index-indices-managed-google/pyproject.toml b/llama-index-integrations/indices/llama-index-indices-managed-google/pyproject.toml
index f408432157..47bbb7279a 100644
--- a/llama-index-integrations/indices/llama-index-indices-managed-google/pyproject.toml
+++ b/llama-index-integrations/indices/llama-index-indices-managed-google/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GoogleIndex"]
+contains_example = false
+import_path = "llama_index.indices.managed.google"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/indices/llama-index-indices-managed-vectara/pyproject.toml b/llama-index-integrations/indices/llama-index-indices-managed-vectara/pyproject.toml
index 0f11eea4f2..4480ac24e9 100644
--- a/llama-index-integrations/indices/llama-index-indices-managed-vectara/pyproject.toml
+++ b/llama-index-integrations/indices/llama-index-indices-managed-vectara/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["VectaraAutoRetriever", "VectaraIndex", "VectaraRetriever"]
+contains_example = false
+import_path = "llama_index.indices.managed.vectara"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/indices/llama-index-indices-managed-zilliz/pyproject.toml b/llama-index-integrations/indices/llama-index-indices-managed-zilliz/pyproject.toml
index a355f0a8be..beff068649 100644
--- a/llama-index-integrations/indices/llama-index-indices-managed-zilliz/pyproject.toml
+++ b/llama-index-integrations/indices/llama-index-indices-managed-zilliz/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ZillizCloudPipelineIndex", "ZillizCloudPipelineRetriever"]
+contains_example = false
+import_path = "llama_index.indices.managed.zilliz"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-ai21/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-ai21/pyproject.toml
index d0ec869474..f6d75a9c22 100644
--- a/llama-index-integrations/llms/llama-index-llms-ai21/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-ai21/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AI21"]
+contains_example = false
+import_path = "llama_index.llms.ai21"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-anthropic/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-anthropic/pyproject.toml
index b7156bc060..99242d4b31 100644
--- a/llama-index-integrations/llms/llama-index-llms-anthropic/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-anthropic/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Anthropic"]
+contains_example = false
+import_path = "llama_index.llms.anthropic"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-anyscale/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-anyscale/pyproject.toml
index aef4f0a10f..687c3be554 100644
--- a/llama-index-integrations/llms/llama-index-llms-anyscale/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-anyscale/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Anyscale"]
+contains_example = false
+import_path = "llama_index.llms.anyscale"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-azure-openai/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-azure-openai/pyproject.toml
index 3cc2cb70c0..b3151bcf46 100644
--- a/llama-index-integrations/llms/llama-index-llms-azure-openai/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-azure-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AsyncAzureOpenAI", "AzureOpenAI", "SyncAzureOpenAI"]
+contains_example = false
+import_path = "llama_index.llms.azure_openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-bedrock/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-bedrock/pyproject.toml
index 5992c97d40..ddbc8bc222 100644
--- a/llama-index-integrations/llms/llama-index-llms-bedrock/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-bedrock/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Bedrock", "completion_response_to_chat_response", "completion_with_retry"]
+contains_example = false
+import_path = "llama_index.llms.bedrock"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-clarifai/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-clarifai/pyproject.toml
index e5755e5737..7b8804917b 100644
--- a/llama-index-integrations/llms/llama-index-llms-clarifai/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-clarifai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Clarifai"]
+contains_example = false
+import_path = "llama_index.llms.clarifai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-cohere/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-cohere/pyproject.toml
index 9ce3547ad7..3ed1662c65 100644
--- a/llama-index-integrations/llms/llama-index-llms-cohere/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-cohere/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Cohere"]
+contains_example = false
+import_path = "llama_index.llms.cohere"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-dashscope/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-dashscope/pyproject.toml
index b811e3dd88..64c3118edf 100644
--- a/llama-index-integrations/llms/llama-index-llms-dashscope/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-dashscope/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DashScope", "DashScopeGenerationModels"]
+contains_example = false
+import_path = "llama_index.llms.dashscope"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-everlyai/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-everlyai/pyproject.toml
index 650df63d6e..b25347a726 100644
--- a/llama-index-integrations/llms/llama-index-llms-everlyai/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-everlyai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["EverlyAI"]
+contains_example = false
+import_path = "llama_index.llms.everlyai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-gemini/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-gemini/pyproject.toml
index 2e3ab9975f..5205c93513 100644
--- a/llama-index-integrations/llms/llama-index-llms-gemini/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-gemini/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Gemini"]
+contains_example = false
+import_path = "llama_index.llms.gemini"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-gradient/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-gradient/pyproject.toml
index 1056fa0bd2..81acbf8f66 100644
--- a/llama-index-integrations/llms/llama-index-llms-gradient/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-gradient/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GradientBaseModelLLM", "GradientModelAdapterLLM"]
+contains_example = false
+import_path = "llama_index.llms.gradient"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-huggingface/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-huggingface/pyproject.toml
index 2098721402..195369811a 100644
--- a/llama-index-integrations/llms/llama-index-llms-huggingface/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-huggingface/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["HuggingFaceInferenceAPI", "HuggingFaceLLM"]
+contains_example = false
+import_path = "llama_index.llms.huggingface"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-konko/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-konko/pyproject.toml
index 2defb7be1d..726ab6b412 100644
--- a/llama-index-integrations/llms/llama-index-llms-konko/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-konko/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Konko"]
+contains_example = false
+import_path = "llama_index.llms.konko"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-langchain/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-langchain/pyproject.toml
index f3a3e634d2..69768d121a 100644
--- a/llama-index-integrations/llms/llama-index-llms-langchain/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-langchain/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LangChainLLM"]
+contains_example = false
+import_path = "llama_index.llms.langchain"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-litellm/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-litellm/pyproject.toml
index 0b6f810df6..8165327c55 100644
--- a/llama-index-integrations/llms/llama-index-llms-litellm/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-litellm/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LiteLLM"]
+contains_example = false
+import_path = "llama_index.llms.litellm"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-llama-api/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-llama-api/pyproject.toml
index 02b75a8af4..11453a5f27 100644
--- a/llama-index-integrations/llms/llama-index-llms-llama-api/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-llama-api/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LlamaAPI"]
+contains_example = false
+import_path = "llama_index.llms.llama_api"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-llama-cpp/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-llama-cpp/pyproject.toml
index e7e6a654c8..c475607098 100644
--- a/llama-index-integrations/llms/llama-index-llms-llama-cpp/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-llama-cpp/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LlamaCPP"]
+contains_example = false
+import_path = "llama_index.llms.llama_cpp"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-localai/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-localai/pyproject.toml
index 2e1b31084f..a20b456855 100644
--- a/llama-index-integrations/llms/llama-index-llms-localai/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-localai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LocalAI"]
+contains_example = false
+import_path = "llama_index.llms.localai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-mistralai/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-mistralai/pyproject.toml
index 708495e60a..f293c4eed4 100644
--- a/llama-index-integrations/llms/llama-index-llms-mistralai/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-mistralai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MistralAI"]
+contains_example = false
+import_path = "llama_index.llms.mistralai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-monsterapi/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-monsterapi/pyproject.toml
index 3f6ef8d022..27ed28aeae 100644
--- a/llama-index-integrations/llms/llama-index-llms-monsterapi/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-monsterapi/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MonsterLLM"]
+contains_example = false
+import_path = "llama_index.llms.monsterapi"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-neutrino/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-neutrino/pyproject.toml
index 320de95c8d..d268fa1af5 100644
--- a/llama-index-integrations/llms/llama-index-llms-neutrino/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-neutrino/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Neutrino"]
+contains_example = false
+import_path = "llama_index.llms.neutrino"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-nvidia-tensorrt/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-nvidia-tensorrt/pyproject.toml
index e661bd3161..a76c0adfc1 100644
--- a/llama-index-integrations/llms/llama-index-llms-nvidia-tensorrt/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-nvidia-tensorrt/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LocalTensorRTLLM"]
+contains_example = false
+import_path = "llama_index.llms.nvidia_tensorrt"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-nvidia-triton/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-nvidia-triton/pyproject.toml
index 04cc6c2114..149181c01e 100644
--- a/llama-index-integrations/llms/llama-index-llms-nvidia-triton/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-nvidia-triton/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["NvidiaTriton"]
+contains_example = false
+import_path = "llama_index.llms.nvidia_triton"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-ollama/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-ollama/pyproject.toml
index e728a69e8f..dc714af138 100644
--- a/llama-index-integrations/llms/llama-index-llms-ollama/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-ollama/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Ollama"]
+contains_example = false
+import_path = "llama_index.llms.ollama"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-openai-like/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-openai-like/pyproject.toml
index e884b2a87f..ca6cd0228e 100644
--- a/llama-index-integrations/llms/llama-index-llms-openai-like/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-openai-like/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAILike"]
+contains_example = false
+import_path = "llama_index.llms.openai_like"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml
index 924d4da268..7360eec55d 100644
--- a/llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AsyncOpenAI", "OpenAI", "SyncOpenAI", "Tokenizer"]
+contains_example = false
+import_path = "llama_index.llms.openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-openllm/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-openllm/pyproject.toml
index edef890f56..a848cde96f 100644
--- a/llama-index-integrations/llms/llama-index-llms-openllm/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-openllm/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenLLM", "OpenLLMAPI"]
+contains_example = false
+import_path = "llama_index.llms.openllm"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-openrouter/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-openrouter/pyproject.toml
index 96e1118512..5828017e6f 100644
--- a/llama-index-integrations/llms/llama-index-llms-openrouter/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-openrouter/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenRouter"]
+contains_example = false
+import_path = "llama_index.llms.openrouter"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-palm/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-palm/pyproject.toml
index a043a0aee8..288926a8e9 100644
--- a/llama-index-integrations/llms/llama-index-llms-palm/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-palm/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PaLM"]
+contains_example = false
+import_path = "llama_index.llms.palm"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-perplexity/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-perplexity/pyproject.toml
index 751c758b06..e0a7597cab 100644
--- a/llama-index-integrations/llms/llama-index-llms-perplexity/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-perplexity/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Perplexity"]
+contains_example = false
+import_path = "llama_index.llms.perplexity"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-portkey/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-portkey/pyproject.toml
index df2dd8b0e9..8a15c57a9d 100644
--- a/llama-index-integrations/llms/llama-index-llms-portkey/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-portkey/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Portkey"]
+contains_example = false
+import_path = "llama_index.llms.portkey"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-predibase/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-predibase/pyproject.toml
index 996d3a4b0a..6dd781d68e 100644
--- a/llama-index-integrations/llms/llama-index-llms-predibase/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-predibase/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PredibaseLLM"]
+contains_example = false
+import_path = "llama_index.llms.predibase"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-replicate/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-replicate/pyproject.toml
index c289a99d98..c84a363dc4 100644
--- a/llama-index-integrations/llms/llama-index-llms-replicate/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-replicate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Replicate"]
+contains_example = false
+import_path = "llama_index.llms.replicate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-rungpt/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-rungpt/pyproject.toml
index ab4b28716b..642f215f4c 100644
--- a/llama-index-integrations/llms/llama-index-llms-rungpt/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-rungpt/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RunGptLLM"]
+contains_example = false
+import_path = "llama_index.llms.rungpt"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-sagemaker-endpoint/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-sagemaker-endpoint/pyproject.toml
index 66e41e7fb4..8eef658179 100644
--- a/llama-index-integrations/llms/llama-index-llms-sagemaker-endpoint/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-sagemaker-endpoint/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SageMakerLLM"]
+contains_example = false
+import_path = "llama_index.llms.sagemaker_endpoint"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-together/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-together/pyproject.toml
index a8e624523a..1a0ea504bd 100644
--- a/llama-index-integrations/llms/llama-index-llms-together/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-together/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TogetherLLM"]
+contains_example = false
+import_path = "llama_index.llms.together"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-vertex/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-vertex/pyproject.toml
index dad70e0ddb..bdc5238c17 100644
--- a/llama-index-integrations/llms/llama-index-llms-vertex/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-vertex/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Vertex"]
+contains_example = false
+import_path = "llama_index.llms.vertex"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-vllm/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-vllm/pyproject.toml
index d07082038f..bd54995196 100644
--- a/llama-index-integrations/llms/llama-index-llms-vllm/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-vllm/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Vllm"]
+contains_example = false
+import_path = "llama_index.llms.vllm"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-watsonx/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-watsonx/pyproject.toml
index 0c5964c8b8..afe8e0879b 100644
--- a/llama-index-integrations/llms/llama-index-llms-watsonx/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-watsonx/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WatsonX"]
+contains_example = false
+import_path = "llama_index.llms.watsonx"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/llms/llama-index-llms-xinference/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-xinference/pyproject.toml
index 9b612a7561..8474c5e8ba 100644
--- a/llama-index-integrations/llms/llama-index-llms-xinference/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-xinference/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Xinference"]
+contains_example = false
+import_path = "llama_index.llms.xinference"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-azure-openai/pyproject.toml b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-azure-openai/pyproject.toml
index f95cce2f6d..a54fa5a9ee 100644
--- a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-azure-openai/pyproject.toml
+++ b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-azure-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AzureOpenAIMultiModal"]
+contains_example = false
+import_path = "llama_index.multi_modal_llms.azure_openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-dashscope/pyproject.toml b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-dashscope/pyproject.toml
index 16a071e23d..c652e573a2 100644
--- a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-dashscope/pyproject.toml
+++ b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-dashscope/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DashScopeMultiModal", "DashScopeMultiModalModels"]
+contains_example = false
+import_path = "llama_index.multi_modal_llms.dashscope"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-gemini/pyproject.toml b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-gemini/pyproject.toml
index ba92105161..3317f2c7b3 100644
--- a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-gemini/pyproject.toml
+++ b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-gemini/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GeminiMultiModal"]
+contains_example = false
+import_path = "llama_index.multi_modal_llms.gemini"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-ollama/pyproject.toml b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-ollama/pyproject.toml
index 1dc96025f8..d7d28e5ba8 100644
--- a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-ollama/pyproject.toml
+++ b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-ollama/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OllamaMultiModal"]
+contains_example = false
+import_path = "llama_index.multi_modal_llms.ollama"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-openai/pyproject.toml b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-openai/pyproject.toml
index 93d3ca701d..208a6b20d3 100644
--- a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-openai/pyproject.toml
+++ b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAIMultiModal"]
+contains_example = false
+import_path = "llama_index.multi_modal_llms.openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-replicate-multi-modal/pyproject.toml b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-replicate-multi-modal/pyproject.toml
index 89b1df5f90..b6c40702b3 100644
--- a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-replicate-multi-modal/pyproject.toml
+++ b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-replicate-multi-modal/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ReplicateMultiModal"]
+contains_example = false
+import_path = "llama_index.multi_modal_llms.replicate_multi_modal"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-replicate/pyproject.toml b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-replicate/pyproject.toml
index 8688b05a59..3fc38d96c1 100644
--- a/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-replicate/pyproject.toml
+++ b/llama-index-integrations/multi_modal_llms/llama-index-multi-modal-llms-replicate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ReplicateMultiModal"]
+contains_example = false
+import_path = "llama_index.multi_modal_llms.replicate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/output_parsers/llama-index-output-parsers-guardrails/pyproject.toml b/llama-index-integrations/output_parsers/llama-index-output-parsers-guardrails/pyproject.toml
index 97165f5673..fa5333cb08 100644
--- a/llama-index-integrations/output_parsers/llama-index-output-parsers-guardrails/pyproject.toml
+++ b/llama-index-integrations/output_parsers/llama-index-output-parsers-guardrails/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GuardrailsOutputParser"]
+contains_example = false
+import_path = "llama_index.output_parsers.guardrails"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/output_parsers/llama-index-output-parsers-langchain/pyproject.toml b/llama-index-integrations/output_parsers/llama-index-output-parsers-langchain/pyproject.toml
index c44a2b15d8..b22d12638a 100644
--- a/llama-index-integrations/output_parsers/llama-index-output-parsers-langchain/pyproject.toml
+++ b/llama-index-integrations/output_parsers/llama-index-output-parsers-langchain/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LangchainOutputParser"]
+contains_example = false
+import_path = "llama_index.output_parsers.langchain"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/postprocessor/llama-index-postprocessor-cohere-rerank/pyproject.toml b/llama-index-integrations/postprocessor/llama-index-postprocessor-cohere-rerank/pyproject.toml
index 60b97f0f27..6cb688f523 100644
--- a/llama-index-integrations/postprocessor/llama-index-postprocessor-cohere-rerank/pyproject.toml
+++ b/llama-index-integrations/postprocessor/llama-index-postprocessor-cohere-rerank/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["CohereRerank"]
+contains_example = false
+import_path = "llama_index.postprocessor.cohere_rerank"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/postprocessor/llama-index-postprocessor-flag-embedding-reranker/pyproject.toml b/llama-index-integrations/postprocessor/llama-index-postprocessor-flag-embedding-reranker/pyproject.toml
index 6d869db6e7..4427bf30fa 100644
--- a/llama-index-integrations/postprocessor/llama-index-postprocessor-flag-embedding-reranker/pyproject.toml
+++ b/llama-index-integrations/postprocessor/llama-index-postprocessor-flag-embedding-reranker/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FlagEmbeddingReranker"]
+contains_example = false
+import_path = "llama_index.postprocessor.flag_embedding_reranker"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/postprocessor/llama-index-postprocessor-longllmlingua/pyproject.toml b/llama-index-integrations/postprocessor/llama-index-postprocessor-longllmlingua/pyproject.toml
index 33260d9221..9f64506a36 100644
--- a/llama-index-integrations/postprocessor/llama-index-postprocessor-longllmlingua/pyproject.toml
+++ b/llama-index-integrations/postprocessor/llama-index-postprocessor-longllmlingua/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LongLLMLinguaPostprocessor"]
+contains_example = false
+import_path = "llama_index.postprocessor.longllmlingua"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/postprocessor/llama-index-postprocessor-rankgpt-rerank/pyproject.toml b/llama-index-integrations/postprocessor/llama-index-postprocessor-rankgpt-rerank/pyproject.toml
index 43f8b911b2..6eff45fc3b 100644
--- a/llama-index-integrations/postprocessor/llama-index-postprocessor-rankgpt-rerank/pyproject.toml
+++ b/llama-index-integrations/postprocessor/llama-index-postprocessor-rankgpt-rerank/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RankGPTRerank"]
+contains_example = false
+import_path = "llama_index.postprocessor.rankgpt_rerank"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/postprocessor/llama-index-postprocessor-sbert-rerank/pyproject.toml b/llama-index-integrations/postprocessor/llama-index-postprocessor-sbert-rerank/pyproject.toml
index 36a207121a..f7ed8f9abd 100644
--- a/llama-index-integrations/postprocessor/llama-index-postprocessor-sbert-rerank/pyproject.toml
+++ b/llama-index-integrations/postprocessor/llama-index-postprocessor-sbert-rerank/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SentenceTransformerRerank"]
+contains_example = false
+import_path = "llama_index.postprocessor.sbert_rerank"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/program/llama-index-program-evaporate/pyproject.toml b/llama-index-integrations/program/llama-index-program-evaporate/pyproject.toml
index b43e978544..0d5c79c5f0 100644
--- a/llama-index-integrations/program/llama-index-program-evaporate/pyproject.toml
+++ b/llama-index-integrations/program/llama-index-program-evaporate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BaseEvaporateProgram", "DFEvaporateProgram"]
+contains_example = false
+import_path = "llama_index.program.evaporate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/program/llama-index-program-guidance/pyproject.toml b/llama-index-integrations/program/llama-index-program-guidance/pyproject.toml
index 3f41316a96..e8eab0dc7a 100644
--- a/llama-index-integrations/program/llama-index-program-guidance/pyproject.toml
+++ b/llama-index-integrations/program/llama-index-program-guidance/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GuidancePydanticProgram"]
+contains_example = false
+import_path = "llama_index.program.guidance"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/program/llama-index-program-lmformatenforcer/pyproject.toml b/llama-index-integrations/program/llama-index-program-lmformatenforcer/pyproject.toml
index 683d06ad2a..9cd4c8ecc8 100644
--- a/llama-index-integrations/program/llama-index-program-lmformatenforcer/pyproject.toml
+++ b/llama-index-integrations/program/llama-index-program-lmformatenforcer/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LMFormatEnforcerPydanticProgram"]
+contains_example = false
+import_path = "llama_index.program.lmformatenforcer"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/program/llama-index-program-openai/pyproject.toml b/llama-index-integrations/program/llama-index-program-openai/pyproject.toml
index b43e4752ea..f9319f285b 100644
--- a/llama-index-integrations/program/llama-index-program-openai/pyproject.toml
+++ b/llama-index-integrations/program/llama-index-program-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAIPydanticProgram"]
+contains_example = false
+import_path = "llama_index.program.openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/question_gen/llama-index-question-gen-guidance/pyproject.toml b/llama-index-integrations/question_gen/llama-index-question-gen-guidance/pyproject.toml
index 924b9c2d50..b073ad3039 100644
--- a/llama-index-integrations/question_gen/llama-index-question-gen-guidance/pyproject.toml
+++ b/llama-index-integrations/question_gen/llama-index-question-gen-guidance/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GuidanceQuestionGenerator"]
+contains_example = false
+import_path = "llama_index.question_gen.guidance"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/question_gen/llama-index-question-gen-openai/pyproject.toml b/llama-index-integrations/question_gen/llama-index-question-gen-openai/pyproject.toml
index 0ea1a7b1f6..f51fba175f 100644
--- a/llama-index-integrations/question_gen/llama-index-question-gen-openai/pyproject.toml
+++ b/llama-index-integrations/question_gen/llama-index-question-gen-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAIQuestionGenerator"]
+contains_example = false
+import_path = "llama_index.question_gen.openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-agent-search/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-agent-search/pyproject.toml
index 834e3f3c64..c8b68fe2a9 100644
--- a/llama-index-integrations/readers/llama-index-readers-agent-search/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-agent-search/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AgentSearchReader"]
+contains_example = false
+import_path = "llama_index.readers.agent_search"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airbyte-cdk/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airbyte-cdk/pyproject.toml
index 550dcbacd7..1f48255898 100644
--- a/llama-index-integrations/readers/llama-index-readers-airbyte-cdk/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airbyte-cdk/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirbyteCDKReader"]
+contains_example = false
+import_path = "llama_index.readers.airbyte_cdk"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airbyte-gong/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airbyte-gong/pyproject.toml
index 1e068177f3..3aa9381015 100644
--- a/llama-index-integrations/readers/llama-index-readers-airbyte-gong/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airbyte-gong/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirbyteGongReader"]
+contains_example = false
+import_path = "llama_index.readers.airbyte_gong"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airbyte-hubspot/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airbyte-hubspot/pyproject.toml
index b7591f8649..cf725b9def 100644
--- a/llama-index-integrations/readers/llama-index-readers-airbyte-hubspot/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airbyte-hubspot/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirbyteHubspotReader"]
+contains_example = false
+import_path = "llama_index.readers.airbyte_hubspot"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airbyte-salesforce/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airbyte-salesforce/pyproject.toml
index 30be5ace46..3f3e5440f9 100644
--- a/llama-index-integrations/readers/llama-index-readers-airbyte-salesforce/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airbyte-salesforce/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirbyteSalesforceReader"]
+contains_example = false
+import_path = "llama_index.readers.airbyte_salesforce"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airbyte-shopify/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airbyte-shopify/pyproject.toml
index b58c2ed799..6d109f20a5 100644
--- a/llama-index-integrations/readers/llama-index-readers-airbyte-shopify/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airbyte-shopify/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirbyteShopifyReader"]
+contains_example = false
+import_path = "llama_index.readers.airbyte_shopify"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airbyte-stripe/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airbyte-stripe/pyproject.toml
index ceaf683b84..2c3c773bd3 100644
--- a/llama-index-integrations/readers/llama-index-readers-airbyte-stripe/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airbyte-stripe/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirbyteStripeReader"]
+contains_example = false
+import_path = "llama_index.readers.airbyte_stripe"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airbyte-typeform/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airbyte-typeform/pyproject.toml
index 5f0dea9a76..d9eb85b6de 100644
--- a/llama-index-integrations/readers/llama-index-readers-airbyte-typeform/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airbyte-typeform/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirbyteTypeformReader"]
+contains_example = false
+import_path = "llama_index.readers.airbyte_typeform"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airbyte-zendesk-support/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airbyte-zendesk-support/pyproject.toml
index 44254fdbf5..7a8ba2b338 100644
--- a/llama-index-integrations/readers/llama-index-readers-airbyte-zendesk-support/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airbyte-zendesk-support/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirbyteZendeskSupportReader"]
+contains_example = false
+import_path = "llama_index.readers.airbyte_zendesk_support"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-airtable/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-airtable/pyproject.toml
index 2fc4865bc2..33bc09ff2f 100644
--- a/llama-index-integrations/readers/llama-index-readers-airtable/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-airtable/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AirtableReader"]
+contains_example = false
+import_path = "llama_index.readers.airtable"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-apify/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-apify/pyproject.toml
index 467dbed728..85ac0ef71f 100644
--- a/llama-index-integrations/readers/llama-index-readers-apify/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-apify/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ApifyActor", "ApifyDataset"]
+contains_example = false
+import_path = "llama_index.readers.apify"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-arango-db/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-arango-db/pyproject.toml
index 8ca4ea072e..ba26d095e1 100644
--- a/llama-index-integrations/readers/llama-index-readers-arango-db/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-arango-db/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SimpleArangoDBReader"]
+contains_example = false
+import_path = "llama_index.readers.arango_db"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-asana/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-asana/pyproject.toml
index dad2034cb7..47c783aca4 100644
--- a/llama-index-integrations/readers/llama-index-readers-asana/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-asana/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AsanaReader"]
+contains_example = false
+import_path = "llama_index.readers.asana"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-assemblyai/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-assemblyai/pyproject.toml
index 796e28f3e4..2cce51c245 100644
--- a/llama-index-integrations/readers/llama-index-readers-assemblyai/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-assemblyai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AssemblyAIAudioTranscriptReader"]
+contains_example = false
+import_path = "llama_index.readers.assemblyai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-astra-db/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-astra-db/pyproject.toml
index c11e43e92e..d05aa30fe5 100644
--- a/llama-index-integrations/readers/llama-index-readers-astra-db/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-astra-db/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AstraDBReader"]
+contains_example = false
+import_path = "llama_index.readers.astra_db"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-athena/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-athena/pyproject.toml
index 4ce2998497..4a6220d0cc 100644
--- a/llama-index-integrations/readers/llama-index-readers-athena/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-athena/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AthenaReader"]
+contains_example = false
+import_path = "llama_index.readers.athena"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-awadb/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-awadb/pyproject.toml
index 93b46af934..d945a5577d 100644
--- a/llama-index-integrations/readers/llama-index-readers-awadb/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-awadb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AwadbReader"]
+contains_example = false
+import_path = "llama_index.readers.awadb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-azcognitive-search/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-azcognitive-search/pyproject.toml
index 2919b1b04d..5b9218305a 100644
--- a/llama-index-integrations/readers/llama-index-readers-azcognitive-search/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-azcognitive-search/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AzCognitiveSearchReader"]
+contains_example = false
+import_path = "llama_index.readers.azcognitive_search"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-azstorage-blob/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-azstorage-blob/pyproject.toml
index 72e26ddaaa..3c49a03e78 100644
--- a/llama-index-integrations/readers/llama-index-readers-azstorage-blob/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-azstorage-blob/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AzStorageBlobReader"]
+contains_example = false
+import_path = "llama_index.readers.azstorage_blob"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-bagel/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-bagel/pyproject.toml
index 080d6a387f..3b0adb92ad 100644
--- a/llama-index-integrations/readers/llama-index-readers-bagel/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-bagel/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BagelReader"]
+contains_example = false
+import_path = "llama_index.readers.bagel"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-bilibili/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-bilibili/pyproject.toml
index 49780ae2e5..830e327bbe 100644
--- a/llama-index-integrations/readers/llama-index-readers-bilibili/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-bilibili/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BilibiliTranscriptReader"]
+contains_example = false
+import_path = "llama_index.readers.bilibili"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-bitbucket/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-bitbucket/pyproject.toml
index 911683513a..3321d7e194 100644
--- a/llama-index-integrations/readers/llama-index-readers-bitbucket/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-bitbucket/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BitbucketReader"]
+contains_example = false
+import_path = "llama_index.readers.bitbucket"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-boarddocs/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-boarddocs/pyproject.toml
index e4fdd38354..3d411f9954 100644
--- a/llama-index-integrations/readers/llama-index-readers-boarddocs/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-boarddocs/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BoardDocsReader"]
+contains_example = false
+import_path = "llama_index.readers.boarddocs"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-chatgpt-plugin/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-chatgpt-plugin/pyproject.toml
index 6444cf3e7c..19e0fc0c84 100644
--- a/llama-index-integrations/readers/llama-index-readers-chatgpt-plugin/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-chatgpt-plugin/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ChatGPTRetrievalPluginReader"]
+contains_example = false
+import_path = "llama_index.readers.chatgpt_plugin"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-chroma/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-chroma/pyproject.toml
index 4420b023a4..d0addb6323 100644
--- a/llama-index-integrations/readers/llama-index-readers-chroma/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-chroma/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ChromaReader"]
+contains_example = false
+import_path = "llama_index.readers.chroma"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-confluence/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-confluence/pyproject.toml
index df198bc5e0..83250919a2 100644
--- a/llama-index-integrations/readers/llama-index-readers-confluence/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-confluence/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ConfluenceReader"]
+contains_example = false
+import_path = "llama_index.readers.confluence"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-couchbase/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-couchbase/pyproject.toml
index b3882f482c..1e03fcd4c3 100644
--- a/llama-index-integrations/readers/llama-index-readers-couchbase/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-couchbase/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["CouchbaseReader"]
+contains_example = false
+import_path = "llama_index.readers.couchbase"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-couchdb/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-couchdb/pyproject.toml
index 067c552b56..a2af44ea7d 100644
--- a/llama-index-integrations/readers/llama-index-readers-couchdb/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-couchdb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SimpleCouchDBReader"]
+contains_example = false
+import_path = "llama_index.readers.couchdb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-dad-jokes/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-dad-jokes/pyproject.toml
index 144756e501..0b6cdc41bd 100644
--- a/llama-index-integrations/readers/llama-index-readers-dad-jokes/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-dad-jokes/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DadJokesReader"]
+contains_example = false
+import_path = "llama_index.readers.dad_jokes"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-dashvector/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-dashvector/pyproject.toml
index 1537ca64ac..18eb4bc12f 100644
--- a/llama-index-integrations/readers/llama-index-readers-dashvector/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-dashvector/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DashVectorReader"]
+contains_example = false
+import_path = "llama_index.readers.dashvector"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-database/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-database/pyproject.toml
index 30bafa4581..a7acf54161 100644
--- a/llama-index-integrations/readers/llama-index-readers-database/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-database/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DatabaseReader"]
+contains_example = false
+import_path = "llama_index.readers.database"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-deeplake/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-deeplake/pyproject.toml
index c7f13c0ed3..5f93be60e4 100644
--- a/llama-index-integrations/readers/llama-index-readers-deeplake/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-deeplake/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DeepLakeReader"]
+contains_example = false
+import_path = "llama_index.readers.deeplake"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-discord/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-discord/pyproject.toml
index 7d5079b394..2725935de6 100644
--- a/llama-index-integrations/readers/llama-index-readers-discord/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-discord/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DiscordReader"]
+contains_example = false
+import_path = "llama_index.readers.discord"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-docstring-walker/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-docstring-walker/pyproject.toml
index 64f83e5f54..00ead8f736 100644
--- a/llama-index-integrations/readers/llama-index-readers-docstring-walker/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-docstring-walker/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DocstringWalker"]
+contains_example = false
+import_path = "llama_index.readers.docstring_walker"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-docugami/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-docugami/pyproject.toml
index ac43150077..eb2ce13f78 100644
--- a/llama-index-integrations/readers/llama-index-readers-docugami/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-docugami/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DocugamiReader"]
+contains_example = false
+import_path = "llama_index.readers.docugami"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-earnings-call-transcript/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-earnings-call-transcript/pyproject.toml
index cd460552df..2bb3398c0e 100644
--- a/llama-index-integrations/readers/llama-index-readers-earnings-call-transcript/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-earnings-call-transcript/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["EarningsCallTranscript"]
+contains_example = false
+import_path = "llama_index.readers.earnings_call_transcript"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-elasticsearch/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-elasticsearch/pyproject.toml
index f51ccbcfb6..c018ddbb1f 100644
--- a/llama-index-integrations/readers/llama-index-readers-elasticsearch/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-elasticsearch/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ElasticsearchReader"]
+contains_example = false
+import_path = "llama_index.readers.elasticsearch"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-faiss/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-faiss/pyproject.toml
index 5659d1fead..ad43faf177 100644
--- a/llama-index-integrations/readers/llama-index-readers-faiss/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-faiss/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FaissReader"]
+contains_example = false
+import_path = "llama_index.readers.faiss"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-feedly-rss/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-feedly-rss/pyproject.toml
index 72c914af2a..b0425b4d9b 100644
--- a/llama-index-integrations/readers/llama-index-readers-feedly-rss/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-feedly-rss/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FeedlyRssReader"]
+contains_example = false
+import_path = "llama_index.readers.feedly_rss"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-feishu-docs/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-feishu-docs/pyproject.toml
index 4ac3487668..a775a21de0 100644
--- a/llama-index-integrations/readers/llama-index-readers-feishu-docs/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-feishu-docs/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FeishuDocsReader"]
+contains_example = false
+import_path = "llama_index.readers.feishu_docs"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-file/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-file/pyproject.toml
index 6544aae41d..18e3075b13 100644
--- a/llama-index-integrations/readers/llama-index-readers-file/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-file/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DocxReader", "EpubReader", "FlatReader", "HTMLTagReader", "HWPReader", "IPYNBReader", "ImageCaptionReader", "ImageReader", "ImageTabularChartReader", "ImageVisionLLMReader", "MarkdownReader", "MboxReader", "PDFReader", "PagedCSVReader", "PandasCSVReader", "PptxReader", "PyMuPDFReader", "UnstructuredReader", "VideoAudioReader", "XMLReader"]
+contains_example = false
+import_path = "llama_index.readers.file"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-firebase-realtimedb/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-firebase-realtimedb/pyproject.toml
index fded90543c..07327ed2f5 100644
--- a/llama-index-integrations/readers/llama-index-readers-firebase-realtimedb/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-firebase-realtimedb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FirebaseRealtimeDatabaseReader"]
+contains_example = false
+import_path = "llama_index.readers.firebase_realtimedb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-firestore/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-firestore/pyproject.toml
index 559f754518..779814c559 100644
--- a/llama-index-integrations/readers/llama-index-readers-firestore/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-firestore/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FirestoreReader"]
+contains_example = false
+import_path = "llama_index.readers.firestore"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-genius/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-genius/pyproject.toml
index 2c19c3244d..8cc407bfcb 100644
--- a/llama-index-integrations/readers/llama-index-readers-genius/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-genius/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GeniusReader"]
+contains_example = false
+import_path = "llama_index.readers.genius"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-github/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-github/pyproject.toml
index 386eae0376..285c39aee3 100644
--- a/llama-index-integrations/readers/llama-index-readers-github/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-github/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GitHubIssuesClient", "GitHubRepositoryCollaboratorsReader", "GitHubRepositoryIssuesReader", "GithubClient", "GithubRepositoryReader"]
+contains_example = false
+import_path = "llama_index.readers.github"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-google/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-google/pyproject.toml
index 62fea97405..2d9e1728df 100644
--- a/llama-index-integrations/readers/llama-index-readers-google/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-google/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GmailReader", "GoogleCalendarReader", "GoogleDocsReader", "GoogleDriveReader", "GoogleKeepReader", "GoogleSheetsReader"]
+contains_example = false
+import_path = "llama_index.readers.google"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-gpt-repo/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-gpt-repo/pyproject.toml
index 0d14a36629..f5591ada06 100644
--- a/llama-index-integrations/readers/llama-index-readers-gpt-repo/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-gpt-repo/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GPTRepoReader", "get_ignore_list", "process_repository", "should_ignore"]
+contains_example = false
+import_path = "llama_index.readers.gpt_repo"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-graphdb-cypher/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-graphdb-cypher/pyproject.toml
index e2d865ea9d..1aa7c96ed6 100644
--- a/llama-index-integrations/readers/llama-index-readers-graphdb-cypher/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-graphdb-cypher/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GraphDBCypherReader"]
+contains_example = false
+import_path = "llama_index.readers.graphdb_cypher"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-graphql/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-graphql/pyproject.toml
index 301be9a51c..c071f14ac0 100644
--- a/llama-index-integrations/readers/llama-index-readers-graphql/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-graphql/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GraphQLReader"]
+contains_example = false
+import_path = "llama_index.readers.graphql"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-guru/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-guru/pyproject.toml
index c910a392ef..724c8b2cc3 100644
--- a/llama-index-integrations/readers/llama-index-readers-guru/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-guru/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GuruReader"]
+contains_example = false
+import_path = "llama_index.readers.guru"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-hatena-blog/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-hatena-blog/pyproject.toml
index c9fc40c963..86e6c4244c 100644
--- a/llama-index-integrations/readers/llama-index-readers-hatena-blog/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-hatena-blog/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["HatenaBlogReader"]
+contains_example = false
+import_path = "llama_index.readers.hatena_blog"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-hive/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-hive/pyproject.toml
index 77d43b95f0..52083c0abd 100644
--- a/llama-index-integrations/readers/llama-index-readers-hive/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-hive/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["HiveReader"]
+contains_example = false
+import_path = "llama_index.readers.hive"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-hubspot/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-hubspot/pyproject.toml
index 599aad184c..a233ab1216 100644
--- a/llama-index-integrations/readers/llama-index-readers-hubspot/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-hubspot/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["HubspotReader"]
+contains_example = false
+import_path = "llama_index.readers.hubspot"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-huggingface-fs/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-huggingface-fs/pyproject.toml
index a38155f39c..f0b9f46620 100644
--- a/llama-index-integrations/readers/llama-index-readers-huggingface-fs/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-huggingface-fs/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["HuggingFaceFSReader"]
+contains_example = false
+import_path = "llama_index.readers.huggingface_fs"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-hwp/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-hwp/pyproject.toml
index 6b86c72bbe..c381ded7e0 100644
--- a/llama-index-integrations/readers/llama-index-readers-hwp/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-hwp/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["HWPReader"]
+contains_example = false
+import_path = "llama_index.readers.hwp"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-imdb-review/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-imdb-review/pyproject.toml
index c3f8add380..84464aee2e 100644
--- a/llama-index-integrations/readers/llama-index-readers-imdb-review/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-imdb-review/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["IMDBReviews"]
+contains_example = false
+import_path = "llama_index.readers.imdb_review"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-intercom/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-intercom/pyproject.toml
index 8aacb95f2b..c5b9da709d 100644
--- a/llama-index-integrations/readers/llama-index-readers-intercom/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-intercom/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["IntercomReader"]
+contains_example = false
+import_path = "llama_index.readers.intercom"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-jaguar/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-jaguar/pyproject.toml
index f0ad4bddda..ca494af728 100644
--- a/llama-index-integrations/readers/llama-index-readers-jaguar/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-jaguar/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["JaguarReader"]
+contains_example = false
+import_path = "llama_index.readers.jaguar"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-jira/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-jira/pyproject.toml
index 3ee13a4d7f..070ad1e8b5 100644
--- a/llama-index-integrations/readers/llama-index-readers-jira/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-jira/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["JiraReader"]
+contains_example = false
+import_path = "llama_index.readers.jira"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-joplin/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-joplin/pyproject.toml
index 12461e3215..da4155b075 100644
--- a/llama-index-integrations/readers/llama-index-readers-joplin/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-joplin/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["JoplinReader", "LINK_NOTE_TEMPLATE"]
+contains_example = false
+import_path = "llama_index.readers.joplin"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-json/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-json/pyproject.toml
index 30dbdc6b1e..69d3825ccc 100644
--- a/llama-index-integrations/readers/llama-index-readers-json/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-json/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["JSONReader"]
+contains_example = false
+import_path = "llama_index.readers.json"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-kaltura/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-kaltura/pyproject.toml
index 5e4b1eabe5..edb9e8fd1b 100644
--- a/llama-index-integrations/readers/llama-index-readers-kaltura/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-kaltura/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["KalturaESearchReader"]
+contains_example = false
+import_path = "llama_index.readers.kaltura_esearch"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-kibela/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-kibela/pyproject.toml
index 5b74a71404..d6d20aac3e 100644
--- a/llama-index-integrations/readers/llama-index-readers-kibela/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-kibela/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["KibelaReader"]
+contains_example = false
+import_path = "llama_index.readers.kibela"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-lilac/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-lilac/pyproject.toml
index 977c3aae85..9cba45892e 100644
--- a/llama-index-integrations/readers/llama-index-readers-lilac/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-lilac/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LilacReader"]
+contains_example = false
+import_path = "llama_index.readers.lilac"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-linear/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-linear/pyproject.toml
index 8ba14edeef..3fceea78bc 100644
--- a/llama-index-integrations/readers/llama-index-readers-linear/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-linear/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LinearReader"]
+contains_example = false
+import_path = "llama_index.readers.linear"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-macrometa-gdn/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-macrometa-gdn/pyproject.toml
index b16cf7da03..8ee6143ff5 100644
--- a/llama-index-integrations/readers/llama-index-readers-macrometa-gdn/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-macrometa-gdn/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MacrometaGDNReader"]
+contains_example = false
+import_path = "llama_index.readers.macrometa_gdn"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-make-com/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-make-com/pyproject.toml
index 2fcd7e71d5..1fa836b765 100644
--- a/llama-index-integrations/readers/llama-index-readers-make-com/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-make-com/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MakeWrapper"]
+contains_example = false
+import_path = "llama_index.readers.make_com"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-mangadex/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-mangadex/pyproject.toml
index 7a2dd186e2..0da35346cb 100644
--- a/llama-index-integrations/readers/llama-index-readers-mangadex/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-mangadex/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MangaDexReader"]
+contains_example = false
+import_path = "llama_index.readers.mangadex"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-mangoapps-guides/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-mangoapps-guides/pyproject.toml
index 0258dca0ce..e6c262b5a3 100644
--- a/llama-index-integrations/readers/llama-index-readers-mangoapps-guides/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-mangoapps-guides/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MangoppsGuidesReader"]
+contains_example = false
+import_path = "llama_index.readers.mangoapps_guides"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-maps/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-maps/pyproject.toml
index 90bf53314c..434c58b7dc 100644
--- a/llama-index-integrations/readers/llama-index-readers-maps/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-maps/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenMap"]
+contains_example = false
+import_path = "llama_index.readers.maps"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-mbox/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-mbox/pyproject.toml
index 57b1b3aa15..edc2c0ba50 100644
--- a/llama-index-integrations/readers/llama-index-readers-mbox/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-mbox/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MboxReader"]
+contains_example = false
+import_path = "llama_index.readers.mbox"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-memos/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-memos/pyproject.toml
index b2afc084ff..938f4807cc 100644
--- a/llama-index-integrations/readers/llama-index-readers-memos/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-memos/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MemosReader"]
+contains_example = false
+import_path = "llama_index.readers.memos"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-metal/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-metal/pyproject.toml
index f9d810bb62..ad46b94502 100644
--- a/llama-index-integrations/readers/llama-index-readers-metal/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-metal/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MetalReader"]
+contains_example = false
+import_path = "llama_index.readers.metal"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-microsoft-onedrive/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-microsoft-onedrive/pyproject.toml
index d187101506..d830f6becf 100644
--- a/llama-index-integrations/readers/llama-index-readers-microsoft-onedrive/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-microsoft-onedrive/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OneDriveReader"]
+contains_example = false
+import_path = "llama_index.readers.microsoft_onedrive"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-microsoft-outlook/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-microsoft-outlook/pyproject.toml
index fbaea8a039..0f6d674050 100644
--- a/llama-index-integrations/readers/llama-index-readers-microsoft-outlook/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-microsoft-outlook/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OutlookLocalCalendarReader"]
+contains_example = false
+import_path = "llama_index.readers.microsoft_outlook"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-microsoft-sharepoint/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-microsoft-sharepoint/pyproject.toml
index b8a53e6825..64596ebba7 100644
--- a/llama-index-integrations/readers/llama-index-readers-microsoft-sharepoint/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-microsoft-sharepoint/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SharePointReader"]
+contains_example = false
+import_path = "llama_index.readers.microsoft_sharepoint"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-milvus/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-milvus/pyproject.toml
index 3660e21ad0..7dac376ecc 100644
--- a/llama-index-integrations/readers/llama-index-readers-milvus/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-milvus/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MilvusReader"]
+contains_example = false
+import_path = "llama_index.readers.milvus"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-minio/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-minio/pyproject.toml
index 212d68f78b..75910e2767 100644
--- a/llama-index-integrations/readers/llama-index-readers-minio/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-minio/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BotoMinioReader", "MinioReader"]
+contains_example = false
+import_path = "llama_index.readers.minio"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-mondaydotcom/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-mondaydotcom/pyproject.toml
index 8dafad1eb7..3ff8223441 100644
--- a/llama-index-integrations/readers/llama-index-readers-mondaydotcom/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-mondaydotcom/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MondayReader"]
+contains_example = false
+import_path = "llama_index.readers.mondaydotcom"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-mongodb/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-mongodb/pyproject.toml
index 8345720ffc..9b942579aa 100644
--- a/llama-index-integrations/readers/llama-index-readers-mongodb/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-mongodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SimpleMongoReader"]
+contains_example = false
+import_path = "llama_index.readers.mongodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-myscale/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-myscale/pyproject.toml
index f4f83fa606..01debcc674 100644
--- a/llama-index-integrations/readers/llama-index-readers-myscale/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-myscale/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MyScaleReader", "escape_str", "format_list_to_string"]
+contains_example = false
+import_path = "llama_index.readers.myscale"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-notion/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-notion/pyproject.toml
index b208d02108..3d91e442f7 100644
--- a/llama-index-integrations/readers/llama-index-readers-notion/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-notion/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["NotionPageReader"]
+contains_example = false
+import_path = "llama_index.readers.notion"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-nougat-ocr/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-nougat-ocr/pyproject.toml
index 88ed255d69..bb4cb5f25b 100644
--- a/llama-index-integrations/readers/llama-index-readers-nougat-ocr/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-nougat-ocr/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PDFNougatOCR"]
+contains_example = false
+import_path = "llama_index.readers.nougat_ocr"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-obsidian/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-obsidian/pyproject.toml
index ee5a7203c0..f475249adc 100644
--- a/llama-index-integrations/readers/llama-index-readers-obsidian/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-obsidian/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ObsidianReader"]
+contains_example = false
+import_path = "llama_index.readers.obsidian"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-openalex/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-openalex/pyproject.toml
index fc81800ab8..b95295dfd3 100644
--- a/llama-index-integrations/readers/llama-index-readers-openalex/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-openalex/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAlexReader"]
+contains_example = false
+import_path = "llama_index.readers.openalex"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-opendal/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-opendal/pyproject.toml
index d21a56a4e9..103fdb8395 100644
--- a/llama-index-integrations/readers/llama-index-readers-opendal/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-opendal/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpendalAzblobReader", "OpendalGcsReader", "OpendalReader", "OpendalS3Reader"]
+contains_example = false
+import_path = "llama_index.readers.opendal"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-opensearch/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-opensearch/pyproject.toml
index 222241b52b..929ca4060e 100644
--- a/llama-index-integrations/readers/llama-index-readers-opensearch/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-opensearch/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpensearchReader"]
+contains_example = false
+import_path = "llama_index.readers.opensearch"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-pandas-ai/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-pandas-ai/pyproject.toml
index 4767845b15..1727764313 100644
--- a/llama-index-integrations/readers/llama-index-readers-pandas-ai/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-pandas-ai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PandasAIReader"]
+contains_example = false
+import_path = "llama_index.readers.pandas_ai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-papers/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-papers/pyproject.toml
index 1153ff97a7..5e9bc9211d 100644
--- a/llama-index-integrations/readers/llama-index-readers-papers/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-papers/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ArxivReader", "PubmedReader"]
+contains_example = false
+import_path = "llama_index.readers.papers"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-patentsview/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-patentsview/pyproject.toml
index 61525bf103..f62f07b77a 100644
--- a/llama-index-integrations/readers/llama-index-readers-patentsview/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-patentsview/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PatentsviewReader"]
+contains_example = false
+import_path = "llama_index.readers.patentsview"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-pathway/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-pathway/pyproject.toml
index f137b6a872..c2456fe493 100644
--- a/llama-index-integrations/readers/llama-index-readers-pathway/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-pathway/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PathwayReader"]
+contains_example = false
+import_path = "llama_index.readers.pathway"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-pdb/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-pdb/pyproject.toml
index b8a620f7c5..110ae22d39 100644
--- a/llama-index-integrations/readers/llama-index-readers-pdb/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-pdb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PdbAbstractReader"]
+contains_example = false
+import_path = "llama_index.readers.pdb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-pdf-table/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-pdf-table/pyproject.toml
index 0c50c1a085..d6d2a3aac9 100644
--- a/llama-index-integrations/readers/llama-index-readers-pdf-table/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-pdf-table/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PDFTableReader"]
+contains_example = false
+import_path = "llama_index.readers.pdf_table"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-pinecone/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-pinecone/pyproject.toml
index 9fb4110b96..75ea073ac1 100644
--- a/llama-index-integrations/readers/llama-index-readers-pinecone/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-pinecone/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PineconeReader"]
+contains_example = false
+import_path = "llama_index.readers.pinecone"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-preprocess/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-preprocess/pyproject.toml
index bd79714b36..f38fcc913c 100644
--- a/llama-index-integrations/readers/llama-index-readers-preprocess/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-preprocess/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PreprocessReader"]
+contains_example = false
+import_path = "llama_index.readers.preprocess"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-psychic/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-psychic/pyproject.toml
index ee64806bde..94660f80e3 100644
--- a/llama-index-integrations/readers/llama-index-readers-psychic/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-psychic/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PsychicReader"]
+contains_example = false
+import_path = "llama_index.readers.psychic"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-qdrant/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-qdrant/pyproject.toml
index a3d34efa4a..1df77c5c23 100644
--- a/llama-index-integrations/readers/llama-index-readers-qdrant/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-qdrant/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["QdrantReader"]
+contains_example = false
+import_path = "llama_index.readers.qdrant"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-rayyan/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-rayyan/pyproject.toml
index 9dad12be03..3eb60d547e 100644
--- a/llama-index-integrations/readers/llama-index-readers-rayyan/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-rayyan/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RayyanReader"]
+contains_example = false
+import_path = "llama_index.readers.rayyan"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-readwise/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-readwise/pyproject.toml
index 5e7fdc5db4..e25c6bcb50 100644
--- a/llama-index-integrations/readers/llama-index-readers-readwise/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-readwise/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ReadwiseReader"]
+contains_example = false
+import_path = "llama_index.readers.readwise"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-reddit/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-reddit/pyproject.toml
index 2a16dcd9a1..41929382fb 100644
--- a/llama-index-integrations/readers/llama-index-readers-reddit/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-reddit/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RedditReader"]
+contains_example = false
+import_path = "llama_index.readers.reddit"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-remote-depth/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-remote-depth/pyproject.toml
index 49ddd387d2..ab41e1461f 100644
--- a/llama-index-integrations/readers/llama-index-readers-remote-depth/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-remote-depth/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RemoteDepthReader"]
+contains_example = false
+import_path = "llama_index.readers.remote_depth"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-remote/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-remote/pyproject.toml
index 44e8ad774c..9be6153e59 100644
--- a/llama-index-integrations/readers/llama-index-readers-remote/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-remote/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RemoteReader"]
+contains_example = false
+import_path = "llama_index.readers.remote"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-s3/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-s3/pyproject.toml
index fa6d7777ec..faa2930981 100644
--- a/llama-index-integrations/readers/llama-index-readers-s3/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-s3/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["S3Reader"]
+contains_example = false
+import_path = "llama_index.readers.s3"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-sec-filings/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-sec-filings/pyproject.toml
index 057817fa43..640cbcd4c9 100644
--- a/llama-index-integrations/readers/llama-index-readers-sec-filings/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-sec-filings/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SECFilingsLoader"]
+contains_example = false
+import_path = "llama_index.readers.sec_filings"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-semanticscholar/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-semanticscholar/pyproject.toml
index c3a46b4be7..d90c772e1b 100644
--- a/llama-index-integrations/readers/llama-index-readers-semanticscholar/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-semanticscholar/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SemanticScholarReader"]
+contains_example = false
+import_path = "llama_index.readers.semanticscholar"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-singlestore/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-singlestore/pyproject.toml
index ad254007ed..dc996a1810 100644
--- a/llama-index-integrations/readers/llama-index-readers-singlestore/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-singlestore/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SingleStoreReader"]
+contains_example = false
+import_path = "llama_index.readers.singlestore"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-slack/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-slack/pyproject.toml
index 7e9ef3d0f8..63d2eabc05 100644
--- a/llama-index-integrations/readers/llama-index-readers-slack/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-slack/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SlackReader"]
+contains_example = false
+import_path = "llama_index.readers.slack"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-smart-pdf-loader/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-smart-pdf-loader/pyproject.toml
index 9452872576..fbcd08e79e 100644
--- a/llama-index-integrations/readers/llama-index-readers-smart-pdf-loader/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-smart-pdf-loader/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SmartPDFLoader"]
+contains_example = false
+import_path = "llama_index.readers.smart_pdf_loader"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-snowflake/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-snowflake/pyproject.toml
index 451e7d5929..15b7243646 100644
--- a/llama-index-integrations/readers/llama-index-readers-snowflake/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-snowflake/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SnowflakeReader"]
+contains_example = false
+import_path = "llama_index.readers.snowflake"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-snscrape-twitter/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-snscrape-twitter/pyproject.toml
index 51f912d989..ada61bf842 100644
--- a/llama-index-integrations/readers/llama-index-readers-snscrape-twitter/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-snscrape-twitter/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SnscrapeTwitterReader"]
+contains_example = false
+import_path = "llama_index.readers.snscrape_twitter"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-spotify/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-spotify/pyproject.toml
index b732c0691b..c4a0174061 100644
--- a/llama-index-integrations/readers/llama-index-readers-spotify/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-spotify/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SpotifyReader"]
+contains_example = false
+import_path = "llama_index.readers.spotify"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-stackoverflow/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-stackoverflow/pyproject.toml
index 3ea8a1d04a..f9df6c55ee 100644
--- a/llama-index-integrations/readers/llama-index-readers-stackoverflow/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-stackoverflow/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["StackoverflowReader"]
+contains_example = false
+import_path = "llama_index.readers.stackoverflow"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-steamship/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-steamship/pyproject.toml
index f38f785800..8fc6cb9c3e 100644
--- a/llama-index-integrations/readers/llama-index-readers-steamship/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-steamship/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SteamshipFileReader"]
+contains_example = false
+import_path = "llama_index.readers.steamship"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-string-iterable/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-string-iterable/pyproject.toml
index 109fe5b647..9dd0df5540 100644
--- a/llama-index-integrations/readers/llama-index-readers-string-iterable/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-string-iterable/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["StringIterableReader"]
+contains_example = false
+import_path = "llama_index.readers.string_iterable"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-stripe-docs/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-stripe-docs/pyproject.toml
index b0620f0a45..a147f68c6e 100644
--- a/llama-index-integrations/readers/llama-index-readers-stripe-docs/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-stripe-docs/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["StripeDocsReader"]
+contains_example = false
+import_path = "llama_index.readers.stripe_docs"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-telegram/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-telegram/pyproject.toml
index b51ab1323f..c295cfe5d3 100644
--- a/llama-index-integrations/readers/llama-index-readers-telegram/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-telegram/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TelegramReader"]
+contains_example = false
+import_path = "llama_index.readers.telegram"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-trello/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-trello/pyproject.toml
index 7c17200eed..89bb44ee06 100644
--- a/llama-index-integrations/readers/llama-index-readers-trello/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-trello/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TrelloReader"]
+contains_example = false
+import_path = "llama_index.readers.trello"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-twitter/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-twitter/pyproject.toml
index 1a7c284050..5dce05c495 100644
--- a/llama-index-integrations/readers/llama-index-readers-twitter/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-twitter/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TwitterTweetReader"]
+contains_example = false
+import_path = "llama_index.readers.twitter"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-txtai/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-txtai/pyproject.toml
index fd1ca40fec..2842af2755 100644
--- a/llama-index-integrations/readers/llama-index-readers-txtai/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-txtai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TxtaiReader"]
+contains_example = false
+import_path = "llama_index.readers.txtai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-weather/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-weather/pyproject.toml
index 63ebade553..74f65946dd 100644
--- a/llama-index-integrations/readers/llama-index-readers-weather/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-weather/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WeatherReader"]
+contains_example = false
+import_path = "llama_index.readers.weather"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-weaviate/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-weaviate/pyproject.toml
index 7644db1d43..5590b6caa0 100644
--- a/llama-index-integrations/readers/llama-index-readers-weaviate/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-weaviate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WeaviateReader"]
+contains_example = false
+import_path = "llama_index.readers.weaviate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-web/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-web/pyproject.toml
index 74a6d4390b..17da6a0e50 100644
--- a/llama-index-integrations/readers/llama-index-readers-web/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-web/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AsyncWebPageReader", "BeautifulSoupWebReader", "KnowledgeBaseWebReader", "MainContentExtractorReader", "NewsArticleReader", "ReadabilityWebPageReader", "RssNewsReader", "RssReader", "SimpleWebPageReader", "SitemapReader", "TrafilaturaWebReader", "UnstructuredURLLoader", "WholeSiteReader"]
+contains_example = false
+import_path = "llama_index.readers.web"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-whatsapp/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-whatsapp/pyproject.toml
index 3631a7485d..8989bd0997 100644
--- a/llama-index-integrations/readers/llama-index-readers-whatsapp/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-whatsapp/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WhatsappChatLoader"]
+contains_example = false
+import_path = "llama_index.readers.whatsapp"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-wikipedia/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-wikipedia/pyproject.toml
index 67680b5b31..1867d76f75 100644
--- a/llama-index-integrations/readers/llama-index-readers-wikipedia/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-wikipedia/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WikipediaReader"]
+contains_example = false
+import_path = "llama_index.readers.wikipedia"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-wordlift/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-wordlift/pyproject.toml
index 24f1677e6e..af304482ad 100644
--- a/llama-index-integrations/readers/llama-index-readers-wordlift/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-wordlift/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WordLiftLoader"]
+contains_example = false
+import_path = "llama_index.readers.wordlift"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-wordpress/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-wordpress/pyproject.toml
index 191cb0c0fa..c31468c5f8 100644
--- a/llama-index-integrations/readers/llama-index-readers-wordpress/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-wordpress/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WordpressReader"]
+contains_example = false
+import_path = "llama_index.readers.wordpress"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-youtube-transcript/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-youtube-transcript/pyproject.toml
index fabea71f66..bffc6c0823 100644
--- a/llama-index-integrations/readers/llama-index-readers-youtube-transcript/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-youtube-transcript/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["YoutubeTranscriptReader"]
+contains_example = false
+import_path = "llama_index.readers.youtube_transcript"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-zendesk/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-zendesk/pyproject.toml
index 04cfe358b8..6b068099e8 100644
--- a/llama-index-integrations/readers/llama-index-readers-zendesk/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-zendesk/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ZendeskReader"]
+contains_example = false
+import_path = "llama_index.readers.zendesk"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-zep/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-zep/pyproject.toml
index d2bf0c7f9a..9c05cc02e0 100644
--- a/llama-index-integrations/readers/llama-index-readers-zep/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-zep/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ZepReader"]
+contains_example = false
+import_path = "llama_index.readers.zep"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/readers/llama-index-readers-zulip/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-zulip/pyproject.toml
index a8f1a8a1cb..d9f647077b 100644
--- a/llama-index-integrations/readers/llama-index-readers-zulip/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-zulip/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ZulipReader"]
+contains_example = false
+import_path = "llama_index.readers.zulip"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/response_synthesizers/llama-index-response-synthesizers-google/pyproject.toml b/llama-index-integrations/response_synthesizers/llama-index-response-synthesizers-google/pyproject.toml
index 3f6d339fd6..64ff112484 100644
--- a/llama-index-integrations/response_synthesizers/llama-index-response-synthesizers-google/pyproject.toml
+++ b/llama-index-integrations/response_synthesizers/llama-index-response-synthesizers-google/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GoogleTextSynthesizer", "SynthesizedResponse", "set_google_config"]
+contains_example = false
+import_path = "llama_index.response_synthesizers.google"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/retrievers/llama-index-retrievers-bm25/pyproject.toml b/llama-index-integrations/retrievers/llama-index-retrievers-bm25/pyproject.toml
index d80b0c4658..7fa999684c 100644
--- a/llama-index-integrations/retrievers/llama-index-retrievers-bm25/pyproject.toml
+++ b/llama-index-integrations/retrievers/llama-index-retrievers-bm25/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BM25Retriever"]
+contains_example = false
+import_path = "llama_index.retrievers.bm25"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/retrievers/llama-index-retrievers-pathway/pyproject.toml b/llama-index-integrations/retrievers/llama-index-retrievers-pathway/pyproject.toml
index 128a357f26..be8ae1c24c 100644
--- a/llama-index-integrations/retrievers/llama-index-retrievers-pathway/pyproject.toml
+++ b/llama-index-integrations/retrievers/llama-index-retrievers-pathway/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PathwayRetriever"]
+contains_example = false
+import_path = "llama_index.retrievers.pathway"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/retrievers/llama-index-retrievers-you/pyproject.toml b/llama-index-integrations/retrievers/llama-index-retrievers-you/pyproject.toml
index dd54f628dd..fd053d45a4 100644
--- a/llama-index-integrations/retrievers/llama-index-retrievers-you/pyproject.toml
+++ b/llama-index-integrations/retrievers/llama-index-retrievers-you/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["YouRetriever"]
+contains_example = false
+import_path = "llama_index.retrievers.you"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/chat_store/llama-index-storage-chat-store-redis/pyproject.toml b/llama-index-integrations/storage/chat_store/llama-index-storage-chat-store-redis/pyproject.toml
index 8875d620db..197ba86227 100644
--- a/llama-index-integrations/storage/chat_store/llama-index-storage-chat-store-redis/pyproject.toml
+++ b/llama-index-integrations/storage/chat_store/llama-index-storage-chat-store-redis/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RedisChatStore"]
+contains_example = false
+import_path = "llama_index.storage.chat_store.redis"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-dynamodb/pyproject.toml b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-dynamodb/pyproject.toml
index a125610252..0c2a38ad04 100644
--- a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-dynamodb/pyproject.toml
+++ b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-dynamodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DynamoDBDocumentStore"]
+contains_example = false
+import_path = "llama_index.storage.docstore.dynamodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-firestore/pyproject.toml b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-firestore/pyproject.toml
index 876ac5e4f3..b07de9bc1d 100644
--- a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-firestore/pyproject.toml
+++ b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-firestore/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FirestoreDocumentStore"]
+contains_example = false
+import_path = "llama_index.storage.docstore.firestore"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-mongodb/pyproject.toml b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-mongodb/pyproject.toml
index bbbf7f0a99..dc87884c4b 100644
--- a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-mongodb/pyproject.toml
+++ b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-mongodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MongoDocumentStore"]
+contains_example = false
+import_path = "llama_index.storage.docstore.mongodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-postgres/pyproject.toml b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-postgres/pyproject.toml
index 21987ab5e5..d4239e22f2 100644
--- a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-postgres/pyproject.toml
+++ b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-postgres/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PostgresDocumentStore"]
+contains_example = false
+import_path = "llama_index.storage.docstore.postgres"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-redis/pyproject.toml b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-redis/pyproject.toml
index b070123563..2df0180cd8 100644
--- a/llama-index-integrations/storage/docstore/llama-index-storage-docstore-redis/pyproject.toml
+++ b/llama-index-integrations/storage/docstore/llama-index-storage-docstore-redis/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RedisDocumentStore"]
+contains_example = false
+import_path = "llama_index.storage.docstore.redis"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-dynamodb/pyproject.toml b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-dynamodb/pyproject.toml
index 27a324115c..e570488118 100644
--- a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-dynamodb/pyproject.toml
+++ b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-dynamodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DynamoDBIndexStore"]
+contains_example = false
+import_path = "llama_index.storage.index_store.dynamodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-firestore/pyproject.toml b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-firestore/pyproject.toml
index 6d6c30b44b..a4f079cdf5 100644
--- a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-firestore/pyproject.toml
+++ b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-firestore/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FirestoreIndexStore"]
+contains_example = false
+import_path = "llama_index.storage.index_store.firestore"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-mongodb/pyproject.toml b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-mongodb/pyproject.toml
index 3e08a365bb..98ed69e407 100644
--- a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-mongodb/pyproject.toml
+++ b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-mongodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MongoIndexStore"]
+contains_example = false
+import_path = "llama_index.storage.index_store.mongodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-postgres/pyproject.toml b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-postgres/pyproject.toml
index 27cbf6b2cd..84885d4f70 100644
--- a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-postgres/pyproject.toml
+++ b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-postgres/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PostgresIndexStore"]
+contains_example = false
+import_path = "llama_index.storage.index_store.postgres"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-redis/pyproject.toml b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-redis/pyproject.toml
index a615fc94ef..e5e08584d8 100644
--- a/llama-index-integrations/storage/index_store/llama-index-storage-index-store-redis/pyproject.toml
+++ b/llama-index-integrations/storage/index_store/llama-index-storage-index-store-redis/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RedisIndexStore"]
+contains_example = false
+import_path = "llama_index.storage.index_store.redis"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-dynamodb/pyproject.toml b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-dynamodb/pyproject.toml
index b98765b889..34c633576e 100644
--- a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-dynamodb/pyproject.toml
+++ b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-dynamodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DynamoDBKVStore"]
+contains_example = false
+import_path = "llama_index.storage.kvstore.dynamodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-firestore/pyproject.toml b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-firestore/pyproject.toml
index b30fd5a7fe..a5099c2281 100644
--- a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-firestore/pyproject.toml
+++ b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-firestore/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FirestoreKVStore"]
+contains_example = false
+import_path = "llama_index.storage.kvstore.firestore"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-mongodb/pyproject.toml b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-mongodb/pyproject.toml
index 0b44d897f6..8033c338b2 100644
--- a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-mongodb/pyproject.toml
+++ b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-mongodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MongoDBKVStore"]
+contains_example = false
+import_path = "llama_index.storage.kvstore.mongodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-postgres/pyproject.toml b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-postgres/pyproject.toml
index 4ff1dea354..6adb76d163 100644
--- a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-postgres/pyproject.toml
+++ b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-postgres/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PostgresKVStore"]
+contains_example = false
+import_path = "llama_index.storage.kvstore.postgres"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-redis/pyproject.toml b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-redis/pyproject.toml
index a042ab4dca..204b777c9f 100644
--- a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-redis/pyproject.toml
+++ b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-redis/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RedisKVStore"]
+contains_example = false
+import_path = "llama_index.storage.kvstore.redis"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-s3/pyproject.toml b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-s3/pyproject.toml
index fd7a32e1d7..98a849fefc 100644
--- a/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-s3/pyproject.toml
+++ b/llama-index-integrations/storage/kvstore/llama-index-storage-kvstore-s3/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["S3DBKVStore"]
+contains_example = false
+import_path = "llama_index.storage.kvstore.s3"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-arxiv/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-arxiv/pyproject.toml
index e2f5deb67c..e0f37fb906 100644
--- a/llama-index-integrations/tools/llama-index-tools-arxiv/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-arxiv/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ArxivToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.arxiv"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-azure-cv/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-azure-cv/pyproject.toml
index e0e9b39d22..d381abba94 100644
--- a/llama-index-integrations/tools/llama-index-tools-azure-cv/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-azure-cv/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AzureCVToolSpec", "CV_URL_TMPL"]
+contains_example = false
+import_path = "llama_index.tools.azure_cv"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-azure-speech/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-azure-speech/pyproject.toml
index b6050ba1e4..9fe40f393e 100644
--- a/llama-index-integrations/tools/llama-index-tools-azure-speech/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-azure-speech/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AzureSpeechToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.azure_speech"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-azure-translate/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-azure-translate/pyproject.toml
index 54fcbdd3f3..98da8d988a 100644
--- a/llama-index-integrations/tools/llama-index-tools-azure-translate/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-azure-translate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AzureTranslateToolSpec", "ENDPOINT_BASE_URL"]
+contains_example = false
+import_path = "llama_index.tools.azure_translate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-bing-search/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-bing-search/pyproject.toml
index ed7096a3f8..e17a82e4f4 100644
--- a/llama-index-integrations/tools/llama-index-tools-bing-search/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-bing-search/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BingSearchToolSpec", "ENDPOINT_BASE_URL"]
+contains_example = false
+import_path = "llama_index.tools.bing_search"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-chatgpt-plugin/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-chatgpt-plugin/pyproject.toml
index 8c4f9fcf2f..ba2c1a10ba 100644
--- a/llama-index-integrations/tools/llama-index-tools-chatgpt-plugin/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-chatgpt-plugin/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ChatGPTPluginToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.chatgpt_plugin"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-code-interpreter/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-code-interpreter/pyproject.toml
index d0530c3e6c..cc75cf163c 100644
--- a/llama-index-integrations/tools/llama-index-tools-code-interpreter/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-code-interpreter/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["CodeInterpreterToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.code_interpreter"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-cogniswitch/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-cogniswitch/pyproject.toml
index 31cf7f5487..0954cf915e 100644
--- a/llama-index-integrations/tools/llama-index-tools-cogniswitch/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-cogniswitch/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["CogniswitchToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.cogniswitch"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-database/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-database/pyproject.toml
index dc98f8e62d..d41d57df19 100644
--- a/llama-index-integrations/tools/llama-index-tools-database/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-database/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DatabaseToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.database"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-exa/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-exa/pyproject.toml
index 518fd8b699..eaa7139f2c 100644
--- a/llama-index-integrations/tools/llama-index-tools-exa/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-exa/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ExaToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.exa"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-google/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-google/pyproject.toml
index 6233d6cf5e..47a451c61d 100644
--- a/llama-index-integrations/tools/llama-index-tools-google/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-google/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GmailToolSpec", "GoogleCalendarToolSpec", "GoogleSearchToolSpec", "QUERY_URL_TMPL"]
+contains_example = false
+import_path = "llama_index.tools.google"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-graphql/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-graphql/pyproject.toml
index c3524240fb..1133e94f29 100644
--- a/llama-index-integrations/tools/llama-index-tools-graphql/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-graphql/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GraphQLToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.graphql"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-ionic-shopping/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-ionic-shopping/pyproject.toml
index 88ba12ed78..7de4a02f02 100644
--- a/llama-index-integrations/tools/llama-index-tools-ionic-shopping/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-ionic-shopping/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["IonicShoppingToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.ionic_shopping"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-metaphor/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-metaphor/pyproject.toml
index 68506abc8b..0491502180 100644
--- a/llama-index-integrations/tools/llama-index-tools-metaphor/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-metaphor/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MetaphorToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.metaphor"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-multion/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-multion/pyproject.toml
index e8c1262be7..c5271a8391 100644
--- a/llama-index-integrations/tools/llama-index-tools-multion/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-multion/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MultionToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.multion"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-neo4j/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-neo4j/pyproject.toml
index 13d45fca1a..138c4be9ea 100644
--- a/llama-index-integrations/tools/llama-index-tools-neo4j/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-neo4j/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Neo4jQueryToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.neo4j"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-notion/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-notion/pyproject.toml
index 4e71d6027f..0c2eb37c73 100644
--- a/llama-index-integrations/tools/llama-index-tools-notion/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-notion/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["NotionToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.notion"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-openai/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-openai/pyproject.toml
index 388807a675..7dd427b303 100644
--- a/llama-index-integrations/tools/llama-index-tools-openai/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-openai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAIImageGenerationToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.openai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-openapi/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-openapi/pyproject.toml
index 9d075ed8aa..0cd8475993 100644
--- a/llama-index-integrations/tools/llama-index-tools-openapi/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-openapi/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenAPIToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.openapi"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-playgrounds/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-playgrounds/pyproject.toml
index b0b3e6a184..a759ed9aa9 100644
--- a/llama-index-integrations/tools/llama-index-tools-playgrounds/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-playgrounds/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PlaygroundsSubgraphConnectorToolSpec", "PlaygroundsSubgraphInspectorToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.playgrounds"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-python-file/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-python-file/pyproject.toml
index a095a348e7..0640824f7b 100644
--- a/llama-index-integrations/tools/llama-index-tools-python-file/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-python-file/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PythonFileToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.python_file"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-requests/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-requests/pyproject.toml
index a3f64521a8..4b3cfe8d81 100644
--- a/llama-index-integrations/tools/llama-index-tools-requests/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-requests/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["INVALID_URL_PROMPT", "RequestsToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.requests"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-salesforce/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-salesforce/pyproject.toml
index 61e0d8ff57..ded2270807 100644
--- a/llama-index-integrations/tools/llama-index-tools-salesforce/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-salesforce/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SalesforceToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.salesforce"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-shopify/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-shopify/pyproject.toml
index 73fe68ae7c..d5dbb82ba4 100644
--- a/llama-index-integrations/tools/llama-index-tools-shopify/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-shopify/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ShopifyToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.shopify"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-slack/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-slack/pyproject.toml
index 836a5fddb8..649325f651 100644
--- a/llama-index-integrations/tools/llama-index-tools-slack/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-slack/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SlackToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.slack"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-tavily-research/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-tavily-research/pyproject.toml
index b9fdaaeaa4..5f0a20b766 100644
--- a/llama-index-integrations/tools/llama-index-tools-tavily-research/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-tavily-research/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TavilyToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.tavily_research"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-text-to-image/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-text-to-image/pyproject.toml
index 93097b4b89..199ff8ceb6 100644
--- a/llama-index-integrations/tools/llama-index-tools-text-to-image/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-text-to-image/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TextToImageToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.text_to_image"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-vector-db/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-vector-db/pyproject.toml
index 1ae3f5213e..eb1e763cfe 100644
--- a/llama-index-integrations/tools/llama-index-tools-vector-db/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-vector-db/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["VectorDB", "VectorDBToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.vector_db"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-waii/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-waii/pyproject.toml
index ec7591915d..c5296321a6 100644
--- a/llama-index-integrations/tools/llama-index-tools-waii/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-waii/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WaiiToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.waii"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-weather/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-weather/pyproject.toml
index e051aa344f..7a0a72efc0 100644
--- a/llama-index-integrations/tools/llama-index-tools-weather/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-weather/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OpenWeatherMapToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.weather"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-wikipedia/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-wikipedia/pyproject.toml
index e4a51a2632..ddd974f0fc 100644
--- a/llama-index-integrations/tools/llama-index-tools-wikipedia/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-wikipedia/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WikipediaToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.wikipedia"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-wolfram-alpha/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-wolfram-alpha/pyproject.toml
index b8f42cd271..23a31c36bf 100644
--- a/llama-index-integrations/tools/llama-index-tools-wolfram-alpha/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-wolfram-alpha/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["QUERY_URL_TMPL", "WolframAlphaToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.wolfram_alpha"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-yelp/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-yelp/pyproject.toml
index 087aca35d5..4763093360 100644
--- a/llama-index-integrations/tools/llama-index-tools-yelp/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-yelp/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["YelpToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.yelp"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/tools/llama-index-tools-zapier/pyproject.toml b/llama-index-integrations/tools/llama-index-tools-zapier/pyproject.toml
index aa454286ef..7dc17d5c7c 100644
--- a/llama-index-integrations/tools/llama-index-tools-zapier/pyproject.toml
+++ b/llama-index-integrations/tools/llama-index-tools-zapier/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ACTION_URL_TMPL", "ZapierToolSpec"]
+contains_example = false
+import_path = "llama_index.tools.zapier"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-astra/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-astra/pyproject.toml
index dd428aae88..ab20365ef2 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-astra/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-astra/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AstraDBVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.astra"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-awadb/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-awadb/pyproject.toml
index 4f9585e356..15a2d3e845 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-awadb/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-awadb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AwaDBVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.awadb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-azureaisearch/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-azureaisearch/pyproject.toml
index 413319db6a..5dc3d8f03f 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-azureaisearch/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-azureaisearch/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AzureAISearchVectorStore", "CognitiveSearchVectorStore", "IndexManagement"]
+contains_example = false
+import_path = "llama_index.vector_stores.azureaisearch"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-azurecosmosmongo/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-azurecosmosmongo/pyproject.toml
index a63d720831..4e951ded03 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-azurecosmosmongo/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-azurecosmosmongo/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AzureCosmosDBMongoDBVectorSearch"]
+contains_example = false
+import_path = "llama_index.vector_stores.azurecosmosmongo"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-bagel/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-bagel/pyproject.toml
index 3498d07a9b..17f1733a8c 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-bagel/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-bagel/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["BagelVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.bagel"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-cassandra/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-cassandra/pyproject.toml
index c1cfbe4c4c..85904ea988 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-cassandra/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-cassandra/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["CassandraVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.cassandra"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-chatgpt-plugin/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-chatgpt-plugin/pyproject.toml
index a50b87a87b..c1588e7e94 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-chatgpt-plugin/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-chatgpt-plugin/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ChatGPTRetrievalPluginClient"]
+contains_example = false
+import_path = "llama_index.vector_stores.chatgpt_plugin"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-chroma/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-chroma/pyproject.toml
index e4089fd2ba..58c36ebef2 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-chroma/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-chroma/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ChromaVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.chroma"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-dashvector/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-dashvector/pyproject.toml
index ee1db674e6..f3c79181ef 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-dashvector/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-dashvector/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DashVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.dashvector"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-deeplake/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-deeplake/pyproject.toml
index d7dda10f68..c4a7aa11eb 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-deeplake/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-deeplake/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DeepLakeVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.deeplake"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-docarray/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-docarray/pyproject.toml
index 667bc66596..1cae4f58cc 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-docarray/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-docarray/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DocArrayHnswVectorStore", "DocArrayInMemoryVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.docarray"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-dynamodb/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-dynamodb/pyproject.toml
index 32637990f7..d9765258b5 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-dynamodb/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-dynamodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DynamoDBVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.dynamodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-elasticsearch/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-elasticsearch/pyproject.toml
index 51a57441a9..76424b7f7e 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-elasticsearch/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-elasticsearch/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ElasticsearchStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.elasticsearch"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-epsilla/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-epsilla/pyproject.toml
index 67bd2fedcc..6cd302eeb3 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-epsilla/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-epsilla/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["EpsillaVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.epsilla"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-faiss/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-faiss/pyproject.toml
index 8f8bede380..07cfdff7fb 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-faiss/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-faiss/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FaissVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.faiss"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-google/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-google/pyproject.toml
index 00acdd90de..755fa0ce0f 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-google/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-google/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GoogleVectorStore", "set_google_config"]
+contains_example = false
+import_path = "llama_index.vector_stores.google"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-jaguar/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-jaguar/pyproject.toml
index 287fe518db..683e2da873 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-jaguar/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-jaguar/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["JaguarVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.jaguar"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-lancedb/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-lancedb/pyproject.toml
index 37151022de..8fdaeec2d3 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-lancedb/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-lancedb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LanceDBVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.lancedb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-lantern/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-lantern/pyproject.toml
index d443148149..0a9b95f7f3 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-lantern/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-lantern/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LanternVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.lantern"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-metal/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-metal/pyproject.toml
index 51ab2b400c..3db1d2e45c 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-metal/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-metal/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MetalVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.metal"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-milvus/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-milvus/pyproject.toml
index ae211639aa..46024c4a58 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-milvus/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-milvus/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MilvusVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.milvus"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-mongodb/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-mongodb/pyproject.toml
index e76953e7e4..1fd00c1484 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-mongodb/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-mongodb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MongoDBAtlasVectorSearch"]
+contains_example = false
+import_path = "llama_index.vector_stores.mongodb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-myscale/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-myscale/pyproject.toml
index a1e8d8a558..85d8c243cb 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-myscale/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-myscale/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MyScaleVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.myscale"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-neo4jvector/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-neo4jvector/pyproject.toml
index d0947d84f8..aa336af6ed 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-neo4jvector/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-neo4jvector/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Neo4jVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.neo4jvector"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-pgvecto-rs/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-pgvecto-rs/pyproject.toml
index 7f63f80928..eaac7fe721 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-pgvecto-rs/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-pgvecto-rs/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PGVectoRsStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.pgvecto_rs"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-pinecone/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-pinecone/pyproject.toml
index 40b66127cb..71f772d2d5 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-pinecone/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-pinecone/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PineconeVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.pinecone"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-postgres/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-postgres/pyproject.toml
index f5305f5549..19a0deeeae 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-postgres/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-postgres/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PGVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.postgres"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-qdrant/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-qdrant/pyproject.toml
index e977c3d8e3..ebf87539a1 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-qdrant/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-qdrant/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["QdrantVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.qdrant"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/pyproject.toml
index c75e091892..7d407dbcdb 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RedisVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.redis"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-rocksetdb/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-rocksetdb/pyproject.toml
index a5169e0862..f5e47fa60c 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-rocksetdb/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-rocksetdb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RocksetVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.rocksetdb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-singlestoredb/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-singlestoredb/pyproject.toml
index a18acb7d24..1b6052fd6c 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-singlestoredb/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-singlestoredb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SingleStoreVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.singlestoredb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-supabase/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-supabase/pyproject.toml
index 0ff41abebf..e804532736 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-supabase/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-supabase/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SupabaseVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.supabase"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-tair/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-tair/pyproject.toml
index 10ace58855..7073036150 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-tair/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-tair/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TairVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.tair"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-tencentvectordb/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-tencentvectordb/pyproject.toml
index ee841e48c4..f796d9f3e5 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-tencentvectordb/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-tencentvectordb/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TencentVectorDB"]
+contains_example = false
+import_path = "llama_index.vector_stores.tencentvectordb"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-timescalevector/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-timescalevector/pyproject.toml
index 62c6bd2c67..33e973300c 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-timescalevector/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-timescalevector/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TimescaleVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.timescalevector"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-txtai/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-txtai/pyproject.toml
index a95341f267..5268d72321 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-txtai/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-txtai/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TxtaiVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.txtai"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-typesense/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-typesense/pyproject.toml
index 810e638a35..af764c269f 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-typesense/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-typesense/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TypesenseVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.typesense"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-upstash/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-upstash/pyproject.toml
index 72296f970a..7b7e8bc8e9 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-upstash/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-upstash/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["UpstashVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.upstash"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-weaviate/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-weaviate/pyproject.toml
index e52bbb3577..d0861a9bee 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-weaviate/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-weaviate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WeaviateVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.weaviate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-zep/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-zep/pyproject.toml
index bef24c59a1..c554ecbfac 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-zep/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-zep/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ZepVectorStore"]
+contains_example = false
+import_path = "llama_index.vector_stores.zep"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-agent-search-retriever/pyproject.toml b/llama-index-packs/llama-index-packs-agent-search-retriever/pyproject.toml
index f756f2e172..0ae1107511 100644
--- a/llama-index-packs/llama-index-packs-agent-search-retriever/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-agent-search-retriever/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AgentSearchRetriever", "AgentSearchRetrieverPack"]
+contains_example = true
+import_path = "llama_index.packs.agent_search_retriever"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-agents-llm-compiler/pyproject.toml b/llama-index-packs/llama-index-packs-agents-llm-compiler/pyproject.toml
index 805c31e72f..50284e7313 100644
--- a/llama-index-packs/llama-index-packs-agents-llm-compiler/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-agents-llm-compiler/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LLMCompilerAgentPack"]
+contains_example = false
+import_path = "llama_index.packs.agents_llm_compiler"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-amazon-product-extraction/pyproject.toml b/llama-index-packs/llama-index-packs-amazon-product-extraction/pyproject.toml
index 8fc09d56a3..2c59063594 100644
--- a/llama-index-packs/llama-index-packs-amazon-product-extraction/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-amazon-product-extraction/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AmazonProductExtractionPack"]
+contains_example = false
+import_path = "llama_index.packs.amazon_product_extraction"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-arize-phoenix-query-engine/pyproject.toml b/llama-index-packs/llama-index-packs-arize-phoenix-query-engine/pyproject.toml
index b897cb8792..df4018e476 100644
--- a/llama-index-packs/llama-index-packs-arize-phoenix-query-engine/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-arize-phoenix-query-engine/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ArizePhoenixQueryEnginePack"]
+contains_example = true
+import_path = "llama_index.packs.arize_phoenix_query_engine"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-auto-merging-retriever/pyproject.toml b/llama-index-packs/llama-index-packs-auto-merging-retriever/pyproject.toml
index 5e11b0e3e5..ea37093e84 100644
--- a/llama-index-packs/llama-index-packs-auto-merging-retriever/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-auto-merging-retriever/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["AutoMergingRetrieverPack"]
+contains_example = true
+import_path = "llama_index.packs.auto_merging_retriever"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-chroma-autoretrieval/pyproject.toml b/llama-index-packs/llama-index-packs-chroma-autoretrieval/pyproject.toml
index afff9377d5..9691432d9c 100644
--- a/llama-index-packs/llama-index-packs-chroma-autoretrieval/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-chroma-autoretrieval/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ChromaAutoretrievalPack"]
+contains_example = false
+import_path = "llama_index.packs.chroma_autoretrieval"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-cogniswitch-agent/pyproject.toml b/llama-index-packs/llama-index-packs-cogniswitch-agent/pyproject.toml
index 6c08c78516..409ca98282 100644
--- a/llama-index-packs/llama-index-packs-cogniswitch-agent/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-cogniswitch-agent/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["CogniswitchAgentPack"]
+contains_example = true
+import_path = "llama_index.packs.cogniswitch_agent"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-deeplake-deepmemory-retriever/pyproject.toml b/llama-index-packs/llama-index-packs-deeplake-deepmemory-retriever/pyproject.toml
index 34abf3e63a..d02f95bb8e 100644
--- a/llama-index-packs/llama-index-packs-deeplake-deepmemory-retriever/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-deeplake-deepmemory-retriever/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DeepMemoryRetrieverPack"]
+contains_example = false
+import_path = "llama_index.packs.deeplake_deepmemory_retriever"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-deeplake-multimodal-retrieval/pyproject.toml b/llama-index-packs/llama-index-packs-deeplake-multimodal-retrieval/pyproject.toml
index 0fe36a0d00..5410ce6bb8 100644
--- a/llama-index-packs/llama-index-packs-deeplake-multimodal-retrieval/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-deeplake-multimodal-retrieval/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DeepLakeMultimodalRetrieverPack"]
+contains_example = false
+import_path = "llama_index.packs.deeplake_multimodal_retrieval"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-dense-x-retrieval/pyproject.toml b/llama-index-packs/llama-index-packs-dense-x-retrieval/pyproject.toml
index 1bd1ceb694..7b061be175 100644
--- a/llama-index-packs/llama-index-packs-dense-x-retrieval/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-dense-x-retrieval/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["DenseXRetrievalPack"]
+contains_example = true
+import_path = "llama_index.packs.dense_x_retrieval"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-evaluator-benchmarker/pyproject.toml b/llama-index-packs/llama-index-packs-evaluator-benchmarker/pyproject.toml
index 05bc735cd5..d68cec2ce5 100644
--- a/llama-index-packs/llama-index-packs-evaluator-benchmarker/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-evaluator-benchmarker/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["EvaluatorBenchmarkerPack"]
+contains_example = false
+import_path = "llama_index.packs.evaluator_benchmarker"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-fusion-retriever/pyproject.toml b/llama-index-packs/llama-index-packs-fusion-retriever/pyproject.toml
index 593de0a557..be94c38e51 100644
--- a/llama-index-packs/llama-index-packs-fusion-retriever/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-fusion-retriever/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["HybridFusionRetrieverPack", "QueryRewritingRetrieverPack"]
+contains_example = false
+import_path = "llama_index.packs.fusion_retriever"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-fuzzy-citation/pyproject.toml b/llama-index-packs/llama-index-packs-fuzzy-citation/pyproject.toml
index eeb797bbd3..c24c7491f2 100644
--- a/llama-index-packs/llama-index-packs-fuzzy-citation/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-fuzzy-citation/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["FuzzyCitationEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.fuzzy_citation"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-gmail-openai-agent/pyproject.toml b/llama-index-packs/llama-index-packs-gmail-openai-agent/pyproject.toml
index e73047222a..2c19d720d4 100644
--- a/llama-index-packs/llama-index-packs-gmail-openai-agent/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-gmail-openai-agent/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GmailOpenAIAgentPack"]
+contains_example = false
+import_path = "llama_index.packs.gmail_openai_agent"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-gradio-agent-chat/pyproject.toml b/llama-index-packs/llama-index-packs-gradio-agent-chat/pyproject.toml
index 30f02cb36f..44178ee25c 100644
--- a/llama-index-packs/llama-index-packs-gradio-agent-chat/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-gradio-agent-chat/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GradioAgentChatPack"]
+contains_example = false
+import_path = "llama_index.packs.gradio_agent_chat"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-gradio-react-agent-chatbot/pyproject.toml b/llama-index-packs/llama-index-packs-gradio-react-agent-chatbot/pyproject.toml
index feb3023595..d986cf9a80 100644
--- a/llama-index-packs/llama-index-packs-gradio-react-agent-chatbot/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-gradio-react-agent-chatbot/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["GradioReActAgentPack"]
+contains_example = false
+import_path = "llama_index.packs.gradio_react_agent_chatbot"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-infer-retrieve-rerank/pyproject.toml b/llama-index-packs/llama-index-packs-infer-retrieve-rerank/pyproject.toml
index 2bb834f0d3..e03461dd11 100644
--- a/llama-index-packs/llama-index-packs-infer-retrieve-rerank/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-infer-retrieve-rerank/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["InferRetrieveRerankPack"]
+contains_example = false
+import_path = "llama_index.packs.infer_retrieve_rerank"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-llama-dataset-metadata/pyproject.toml b/llama-index-packs/llama-index-packs-llama-dataset-metadata/pyproject.toml
index 46831eb8dd..d7f1059b5b 100644
--- a/llama-index-packs/llama-index-packs-llama-dataset-metadata/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-llama-dataset-metadata/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LlamaDatasetMetadataPack"]
+contains_example = false
+import_path = "llama_index.packs.llama_dataset_metadata"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-llama-guard-moderator/pyproject.toml b/llama-index-packs/llama-index-packs-llama-guard-moderator/pyproject.toml
index cebae9f7a6..179aaa79a5 100644
--- a/llama-index-packs/llama-index-packs-llama-guard-moderator/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-llama-guard-moderator/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LlamaGuardModeratorPack"]
+contains_example = false
+import_path = "llama_index.packs.llama_guard_moderator"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-llava-completion/pyproject.toml b/llama-index-packs/llama-index-packs-llava-completion/pyproject.toml
index f9ee51e68b..512154b1fe 100644
--- a/llama-index-packs/llama-index-packs-llava-completion/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-llava-completion/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LlavaCompletionPack"]
+contains_example = false
+import_path = "llama_index.packs.llava_completion"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-multi-document-agents/pyproject.toml b/llama-index-packs/llama-index-packs-multi-document-agents/pyproject.toml
index 87bdc22acb..1343eb0765 100644
--- a/llama-index-packs/llama-index-packs-multi-document-agents/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-multi-document-agents/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MultiDocumentAgentsPack"]
+contains_example = false
+import_path = "llama_index.packs.multi_document_agents"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-multi-tenancy-rag/pyproject.toml b/llama-index-packs/llama-index-packs-multi-tenancy-rag/pyproject.toml
index e9bf8c7ca7..2ba3369515 100644
--- a/llama-index-packs/llama-index-packs-multi-tenancy-rag/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-multi-tenancy-rag/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MultiTenancyRAGPack"]
+contains_example = false
+import_path = "llama_index.packs.multi_tenancy_rag"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-multidoc-autoretrieval/pyproject.toml b/llama-index-packs/llama-index-packs-multidoc-autoretrieval/pyproject.toml
index 74520d09ed..55672a9b16 100644
--- a/llama-index-packs/llama-index-packs-multidoc-autoretrieval/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-multidoc-autoretrieval/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["MultiDocAutoRetrieverPack"]
+contains_example = false
+import_path = "llama_index.packs.multidoc_autoretrieval"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-nebulagraph-query-engine/pyproject.toml b/llama-index-packs/llama-index-packs-nebulagraph-query-engine/pyproject.toml
index bff114f911..887bab2233 100644
--- a/llama-index-packs/llama-index-packs-nebulagraph-query-engine/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-nebulagraph-query-engine/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["NebulaGraphQueryEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.nebulagraph_query_engine"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-neo4j-query-engine/pyproject.toml b/llama-index-packs/llama-index-packs-neo4j-query-engine/pyproject.toml
index b1345f406d..8a428e79ab 100644
--- a/llama-index-packs/llama-index-packs-neo4j-query-engine/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-neo4j-query-engine/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["Neo4jQueryEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.neo4j_query_engine"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-node-parser-semantic-chunking/pyproject.toml b/llama-index-packs/llama-index-packs-node-parser-semantic-chunking/pyproject.toml
index 7aa76d69f1..2c4a451498 100644
--- a/llama-index-packs/llama-index-packs-node-parser-semantic-chunking/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-node-parser-semantic-chunking/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SemanticChunkingQueryEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.node_parser_semantic_chunking"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-ollama-query-engine/pyproject.toml b/llama-index-packs/llama-index-packs-ollama-query-engine/pyproject.toml
index 28853131e1..69e8d18972 100644
--- a/llama-index-packs/llama-index-packs-ollama-query-engine/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-ollama-query-engine/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["OllamaQueryEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.ollama_query_engine"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-panel-chatbot/pyproject.toml b/llama-index-packs/llama-index-packs-panel-chatbot/pyproject.toml
index 635890da7d..3c97659022 100644
--- a/llama-index-packs/llama-index-packs-panel-chatbot/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-panel-chatbot/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["PanelChatPack"]
+contains_example = false
+import_path = "llama_index.packs.panel_chatbot"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-rag-cli-local/pyproject.toml b/llama-index-packs/llama-index-packs-rag-cli-local/pyproject.toml
index dca03a5592..e7f4d86d96 100644
--- a/llama-index-packs/llama-index-packs-rag-cli-local/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-rag-cli-local/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["LocalRAGCLIPack"]
+contains_example = false
+import_path = "llama_index.packs.rag_cli_local"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-rag-evaluator/pyproject.toml b/llama-index-packs/llama-index-packs-rag-evaluator/pyproject.toml
index 8fdf0ff722..40e4ec591f 100644
--- a/llama-index-packs/llama-index-packs-rag-evaluator/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-rag-evaluator/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RagEvaluatorPack"]
+contains_example = true
+import_path = "llama_index.packs.rag_evaluator"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-rag-fusion-query-pipeline/pyproject.toml b/llama-index-packs/llama-index-packs-rag-fusion-query-pipeline/pyproject.toml
index 0b2523b449..323af0e27e 100644
--- a/llama-index-packs/llama-index-packs-rag-fusion-query-pipeline/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-rag-fusion-query-pipeline/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RAGFusionPipelinePack"]
+contains_example = true
+import_path = "llama_index.packs.rag_fusion_query_pipeline"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-ragatouille-retriever/pyproject.toml b/llama-index-packs/llama-index-packs-ragatouille-retriever/pyproject.toml
index 227c756fa6..db9599c5f5 100644
--- a/llama-index-packs/llama-index-packs-ragatouille-retriever/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-ragatouille-retriever/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RAGatouilleRetrieverPack"]
+contains_example = false
+import_path = "llama_index.packs.ragatouille_retriever"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-recursive-retriever/pyproject.toml b/llama-index-packs/llama-index-packs-recursive-retriever/pyproject.toml
index d5232e0196..038bd98d60 100644
--- a/llama-index-packs/llama-index-packs-recursive-retriever/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-recursive-retriever/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["EmbeddedTablesUnstructuredRetrieverPack", "RecursiveRetrieverSmallToBigPack"]
+contains_example = false
+import_path = "llama_index.packs.recursive_retriever"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-redis-ingestion-pipeline/pyproject.toml b/llama-index-packs/llama-index-packs-redis-ingestion-pipeline/pyproject.toml
index 08bb88ee99..76e84c2c4d 100644
--- a/llama-index-packs/llama-index-packs-redis-ingestion-pipeline/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-redis-ingestion-pipeline/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["RedisIngestionPipelinePack"]
+contains_example = false
+import_path = "llama_index.packs.redis_ingestion_pipeline"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-resume-screener/pyproject.toml b/llama-index-packs/llama-index-packs-resume-screener/pyproject.toml
index 0488d7074b..9ab6f9e46d 100644
--- a/llama-index-packs/llama-index-packs-resume-screener/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-resume-screener/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ResumeScreenerPack"]
+contains_example = false
+import_path = "llama_index.packs.resume_screener"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-retry-engine-weaviate/pyproject.toml b/llama-index-packs/llama-index-packs-retry-engine-weaviate/pyproject.toml
index 3a8e9f5888..0c20e03811 100644
--- a/llama-index-packs/llama-index-packs-retry-engine-weaviate/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-retry-engine-weaviate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WeaviateRetryEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.retry_engine_weaviate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-self-rag/pyproject.toml b/llama-index-packs/llama-index-packs-self-rag/pyproject.toml
index 5152b9e91b..128e27c588 100644
--- a/llama-index-packs/llama-index-packs-self-rag/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-self-rag/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SelfRAGPack", "SelfRAGQueryEngine"]
+contains_example = false
+import_path = "llama_index.packs.self_rag"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-sentence-window-retriever/pyproject.toml b/llama-index-packs/llama-index-packs-sentence-window-retriever/pyproject.toml
index fae2ae5008..6471c45a1b 100644
--- a/llama-index-packs/llama-index-packs-sentence-window-retriever/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-sentence-window-retriever/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SentenceWindowRetrieverPack"]
+contains_example = false
+import_path = "llama_index.packs.sentence_window_retriever"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-snowflake-query-engine/pyproject.toml b/llama-index-packs/llama-index-packs-snowflake-query-engine/pyproject.toml
index d8bb2c5d2c..5d1b579fcb 100644
--- a/llama-index-packs/llama-index-packs-snowflake-query-engine/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-snowflake-query-engine/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["SnowflakeQueryEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.snowflake_query_engine"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-stock-market-data-query-engine/pyproject.toml b/llama-index-packs/llama-index-packs-stock-market-data-query-engine/pyproject.toml
index 4f86797bbf..0fd6b7bbf0 100644
--- a/llama-index-packs/llama-index-packs-stock-market-data-query-engine/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-stock-market-data-query-engine/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["StockMarketDataQueryEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.stock_market_data_query_engine"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-streamlit-chatbot/pyproject.toml b/llama-index-packs/llama-index-packs-streamlit-chatbot/pyproject.toml
index bf20700351..0aae46c96d 100644
--- a/llama-index-packs/llama-index-packs-streamlit-chatbot/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-streamlit-chatbot/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["StreamlitChatPack"]
+contains_example = false
+import_path = "llama_index.packs.streamlit_chatbot"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-sub-question-weaviate/pyproject.toml b/llama-index-packs/llama-index-packs-sub-question-weaviate/pyproject.toml
index 76a3fb8496..afa85e2429 100644
--- a/llama-index-packs/llama-index-packs-sub-question-weaviate/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-sub-question-weaviate/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["WeaviateSubQuestionPack"]
+contains_example = false
+import_path = "llama_index.packs.sub_question_weaviate"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-tables/pyproject.toml b/llama-index-packs/llama-index-packs-tables/pyproject.toml
index 9ab8615da4..6239d4e22a 100644
--- a/llama-index-packs/llama-index-packs-tables/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-tables/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ChainOfTablePack", "MixSelfConsistencyPack"]
+contains_example = false
+import_path = "llama_index.packs.tables"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-timescale-vector-autoretrieval/pyproject.toml b/llama-index-packs/llama-index-packs-timescale-vector-autoretrieval/pyproject.toml
index 6cdaa0c9ea..a4bb97836f 100644
--- a/llama-index-packs/llama-index-packs-timescale-vector-autoretrieval/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-timescale-vector-autoretrieval/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TimescaleVectorAutoretrievalPack"]
+contains_example = false
+import_path = "llama_index.packs.timescale_vector_autoretrieval"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-trulens-eval-packs/pyproject.toml b/llama-index-packs/llama-index-packs-trulens-eval-packs/pyproject.toml
index c741420e54..b1113a65f5 100644
--- a/llama-index-packs/llama-index-packs-trulens-eval-packs/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-trulens-eval-packs/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["TruLensHarmlessPack", "TruLensHelpfulPack", "TruLensRAGTriadPack"]
+contains_example = false
+import_path = "llama_index.packs.trulens_eval_packs"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-vanna/pyproject.toml b/llama-index-packs/llama-index-packs-vanna/pyproject.toml
index 89201ccc0b..8e702e7ee4 100644
--- a/llama-index-packs/llama-index-packs-vanna/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-vanna/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["VannaPack", "VannaQueryEngine"]
+contains_example = false
+import_path = "llama_index.packs.vanna"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-vectara-rag/pyproject.toml b/llama-index-packs/llama-index-packs-vectara-rag/pyproject.toml
index 08e852e856..f5d41d3ce1 100644
--- a/llama-index-packs/llama-index-packs-vectara-rag/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-vectara-rag/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["VectaraRagPack"]
+contains_example = false
+import_path = "llama_index.packs.vectara_rag"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-voyage-query-engine/pyproject.toml b/llama-index-packs/llama-index-packs-voyage-query-engine/pyproject.toml
index 89b0aefdd9..f24a197fb8 100644
--- a/llama-index-packs/llama-index-packs-voyage-query-engine/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-voyage-query-engine/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["VoyageQueryEnginePack"]
+contains_example = true
+import_path = "llama_index.packs.voyage_query_engine"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
diff --git a/llama-index-packs/llama-index-packs-zephyr-query-engine/pyproject.toml b/llama-index-packs/llama-index-packs-zephyr-query-engine/pyproject.toml
index 5ca6855620..5470ff453a 100644
--- a/llama-index-packs/llama-index-packs-zephyr-query-engine/pyproject.toml
+++ b/llama-index-packs/llama-index-packs-zephyr-query-engine/pyproject.toml
@@ -7,6 +7,11 @@ check-filenames = true
 check-hidden = true
 skip = "*.csv,*.html,*.json,*.jsonl,*.pdf,*.txt,*.ipynb"
 
+[tool.llamahub]
+classes = ["ZephyrQueryEnginePack"]
+contains_example = false
+import_path = "llama_index.packs.zephyr_query_engine"
+
 [tool.mypy]
 disallow_untyped_defs = true
 exclude = ["_static", "build", "examples", "notebooks", "venv"]
-- 
GitLab