mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-16 06:53:16 +00:00
community: Add stock market tools from financialdatasets.ai (#25025)
**Description:** In this PR, I am adding three stock market tools from financialdatasets.ai (my API!): - get balance sheets - get cash flow statements - get income statements Twitter handle: [@virattt](https://twitter.com/virattt) --------- Co-authored-by: Erick Friis <erick@langchain.dev>
This commit is contained in:
@@ -0,0 +1 @@
|
||||
"""financial datasets toolkit."""
|
@@ -0,0 +1,45 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import List
|
||||
|
||||
from langchain_core.pydantic_v1 import Field
|
||||
from langchain_core.tools import BaseToolkit
|
||||
|
||||
from langchain_community.tools import BaseTool
|
||||
from langchain_community.tools.financial_datasets.balance_sheets import BalanceSheets
|
||||
from langchain_community.tools.financial_datasets.cash_flow_statements import (
|
||||
CashFlowStatements,
|
||||
)
|
||||
from langchain_community.tools.financial_datasets.income_statements import (
|
||||
IncomeStatements,
|
||||
)
|
||||
from langchain_community.utilities.financial_datasets import FinancialDatasetsAPIWrapper
|
||||
|
||||
|
||||
class FinancialDatasetsToolkit(BaseToolkit):
|
||||
"""Toolkit for interacting with financialdatasets.ai.
|
||||
|
||||
Parameters:
|
||||
api_wrapper: The FinancialDatasets API Wrapper.
|
||||
"""
|
||||
|
||||
api_wrapper: FinancialDatasetsAPIWrapper = Field(
|
||||
default_factory=FinancialDatasetsAPIWrapper
|
||||
)
|
||||
|
||||
def __init__(self, api_wrapper: FinancialDatasetsAPIWrapper):
|
||||
super().__init__()
|
||||
self.api_wrapper = api_wrapper
|
||||
|
||||
class Config:
|
||||
"""Pydantic config."""
|
||||
|
||||
arbitrary_types_allowed = True
|
||||
|
||||
def get_tools(self) -> List[BaseTool]:
|
||||
"""Get the tools in the toolkit."""
|
||||
return [
|
||||
BalanceSheets(api_wrapper=self.api_wrapper),
|
||||
CashFlowStatements(api_wrapper=self.api_wrapper),
|
||||
IncomeStatements(api_wrapper=self.api_wrapper),
|
||||
]
|
Reference in New Issue
Block a user