mirror of
				https://github.com/hwchase17/langchain.git
				synced 2025-10-31 07:41:40 +00:00 
			
		
		
		
	- Description: The trello dataloader example didn't work without an additional dependency installed - lxml - Issue: na
		
			
				
	
	
		
			185 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | |
|  "cells": [
 | |
|   {
 | |
|    "cell_type": "markdown",
 | |
|    "metadata": {},
 | |
|    "source": [
 | |
|     "# Trello\n",
 | |
|     "\n",
 | |
|     ">[Trello](https://www.atlassian.com/software/trello) is a web-based project management and collaboration tool that allows individuals and teams to organize and track their tasks and projects. It provides a visual interface known as a \"board\" where users can create lists and cards to represent their tasks and activities.\n",
 | |
|     "\n",
 | |
|     "The TrelloLoader allows you to load cards from a Trello board and is implemented on top of [py-trello](https://pypi.org/project/py-trello/)\n",
 | |
|     "\n",
 | |
|     "This currently supports `api_key/token` only.\n",
 | |
|     "\n",
 | |
|     "1. Credentials generation: https://trello.com/power-ups/admin/\n",
 | |
|     "\n",
 | |
|     "2. Click in the manual token generation link to get the token.\n",
 | |
|     "\n",
 | |
|     "To specify the API key and token you can either set the environment variables ``TRELLO_API_KEY`` and ``TRELLO_TOKEN`` or you can pass ``api_key`` and ``token`` directly into the `from_credentials` convenience constructor method.\n",
 | |
|     "\n",
 | |
|     "This loader allows you to provide the board name to pull in the corresponding cards into Document objects.\n",
 | |
|     "\n",
 | |
|     "Notice that the board \"name\" is also called \"title\" in oficial documentation:\n",
 | |
|     "\n",
 | |
|     "https://support.atlassian.com/trello/docs/changing-a-boards-title-and-description/\n",
 | |
|     "\n",
 | |
|     "You can also specify several load parameters to include / remove different fields both from the document page_content properties and metadata.\n",
 | |
|     "\n",
 | |
|     "## Features\n",
 | |
|     "- Load cards from a Trello board.\n",
 | |
|     "- Filter cards based on their status (open or closed).\n",
 | |
|     "- Include card names, comments, and checklists in the loaded documents.\n",
 | |
|     "- Customize the additional metadata fields to include in the document.\n",
 | |
|     "\n",
 | |
|     "By default all card fields are included for the full text page_content and metadata accordinly.\n",
 | |
|     "\n"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": 1,
 | |
|    "metadata": {
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "#!pip install py-trello beautifulsoup4 lxml"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": 11,
 | |
|    "metadata": {},
 | |
|    "outputs": [
 | |
|     {
 | |
|      "name": "stdout",
 | |
|      "output_type": "stream",
 | |
|      "text": [
 | |
|       "········\n",
 | |
|       "········\n"
 | |
|      ]
 | |
|     }
 | |
|    ],
 | |
|    "source": [
 | |
|     "# If you have already set the API key and token using environment variables,\n",
 | |
|     "# you can skip this cell and comment out the `api_key` and `token` named arguments\n",
 | |
|     "# in the initialization steps below.\n",
 | |
|     "from getpass import getpass\n",
 | |
|     "\n",
 | |
|     "API_KEY = getpass()\n",
 | |
|     "TOKEN = getpass()"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": 6,
 | |
|    "metadata": {},
 | |
|    "outputs": [
 | |
|     {
 | |
|      "name": "stdout",
 | |
|      "output_type": "stream",
 | |
|      "text": [
 | |
|       "Review Tech partner pages\n",
 | |
|       "Comments:\n",
 | |
|       "{'title': 'Review Tech partner pages', 'id': '6475357890dc8d17f73f2dcc', 'url': 'https://trello.com/c/b0OTZwkZ/1-review-tech-partner-pages', 'labels': ['Demand Marketing'], 'list': 'Done', 'closed': False, 'due_date': ''}\n"
 | |
|      ]
 | |
|     }
 | |
|    ],
 | |
|    "source": [
 | |
|     "from langchain.document_loaders import TrelloLoader\n",
 | |
|     "\n",
 | |
|     "# Get the open cards from \"Awesome Board\"\n",
 | |
|     "loader = TrelloLoader.from_credentials(\n",
 | |
|     "    \"Awesome Board\",\n",
 | |
|     "    api_key=API_KEY,\n",
 | |
|     "    token=TOKEN,\n",
 | |
|     "    card_filter=\"open\",\n",
 | |
|     ")\n",
 | |
|     "documents = loader.load()\n",
 | |
|     "\n",
 | |
|     "print(documents[0].page_content)\n",
 | |
|     "print(documents[0].metadata)"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": 8,
 | |
|    "metadata": {},
 | |
|    "outputs": [
 | |
|     {
 | |
|      "name": "stdout",
 | |
|      "output_type": "stream",
 | |
|      "text": [
 | |
|       "Review Tech partner pages\n",
 | |
|       "Comments:\n",
 | |
|       "{'title': 'Review Tech partner pages', 'id': '6475357890dc8d17f73f2dcc', 'url': 'https://trello.com/c/b0OTZwkZ/1-review-tech-partner-pages', 'list': 'Done'}\n"
 | |
|      ]
 | |
|     }
 | |
|    ],
 | |
|    "source": [
 | |
|     "# Get all the cards from \"Awesome Board\" but only include the\n",
 | |
|     "# card list(column) as extra metadata.\n",
 | |
|     "loader = TrelloLoader.from_credentials(\n",
 | |
|     "    \"Awesome Board\",\n",
 | |
|     "    api_key=API_KEY,\n",
 | |
|     "    token=TOKEN,\n",
 | |
|     "    extra_metadata=(\"list\"),\n",
 | |
|     ")\n",
 | |
|     "documents = loader.load()\n",
 | |
|     "\n",
 | |
|     "print(documents[0].page_content)\n",
 | |
|     "print(documents[0].metadata)"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "# Get the cards from \"Another Board\" and exclude the card name,\n",
 | |
|     "# checklist and comments from the Document page_content text.\n",
 | |
|     "loader = TrelloLoader.from_credentials(\n",
 | |
|     "    \"test\",\n",
 | |
|     "    api_key=API_KEY,\n",
 | |
|     "    token=TOKEN,\n",
 | |
|     "    include_card_name=False,\n",
 | |
|     "    include_checklist=False,\n",
 | |
|     "    include_comments=False,\n",
 | |
|     ")\n",
 | |
|     "documents = loader.load()\n",
 | |
|     "\n",
 | |
|     "print(\"Document: \" + documents[0].page_content)\n",
 | |
|     "print(documents[0].metadata)"
 | |
|    ]
 | |
|   }
 | |
|  ],
 | |
|  "metadata": {
 | |
|   "kernelspec": {
 | |
|    "display_name": "Python 3 (ipykernel)",
 | |
|    "language": "python",
 | |
|    "name": "python3"
 | |
|   },
 | |
|   "language_info": {
 | |
|    "codemirror_mode": {
 | |
|     "name": "ipython",
 | |
|     "version": 3
 | |
|    },
 | |
|    "file_extension": ".py",
 | |
|    "mimetype": "text/x-python",
 | |
|    "name": "python",
 | |
|    "nbconvert_exporter": "python",
 | |
|    "pygments_lexer": "ipython3",
 | |
|    "version": "3.10.6"
 | |
|   },
 | |
|   "vscode": {
 | |
|    "interpreter": {
 | |
|     "hash": "cc99336516f23363341912c6723b01ace86f02e26b4290be1efc0677e2e2ec24"
 | |
|    }
 | |
|   }
 | |
|  },
 | |
|  "nbformat": 4,
 | |
|  "nbformat_minor": 4
 | |
| }
 |