mirror of
https://github.com/hwchase17/langchain
synced 2024-11-10 01:10:59 +00:00
cd926ac3dd
**Description:** In this PR, I am adding a `PolygonFinancials` tool, which can be used to get financials data for a given ticker. The financials data is the fundamental data that is found in income statements, balance sheets, and cash flow statements of public US companies. **Twitter**: [@virattt](https://twitter.com/virattt)
38 lines
1007 B
Python
38 lines
1007 B
Python
from typing import List
|
|
|
|
from langchain_community.agent_toolkits.base import BaseToolkit
|
|
from langchain_community.tools import BaseTool
|
|
from langchain_community.tools.polygon import (
|
|
PolygonFinancials,
|
|
PolygonLastQuote,
|
|
PolygonTickerNews,
|
|
)
|
|
from langchain_community.utilities.polygon import PolygonAPIWrapper
|
|
|
|
|
|
class PolygonToolkit(BaseToolkit):
|
|
"""Polygon Toolkit."""
|
|
|
|
tools: List[BaseTool] = []
|
|
|
|
@classmethod
|
|
def from_polygon_api_wrapper(
|
|
cls, polygon_api_wrapper: PolygonAPIWrapper
|
|
) -> "PolygonToolkit":
|
|
tools = [
|
|
PolygonLastQuote(
|
|
api_wrapper=polygon_api_wrapper,
|
|
),
|
|
PolygonTickerNews(
|
|
api_wrapper=polygon_api_wrapper,
|
|
),
|
|
PolygonFinancials(
|
|
api_wrapper=polygon_api_wrapper,
|
|
),
|
|
]
|
|
return cls(tools=tools)
|
|
|
|
def get_tools(self) -> List[BaseTool]:
|
|
"""Get the tools in the toolkit."""
|
|
return self.tools
|