kensho-kfinance 2.9.0__py3-none-any.whl → 3.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kensho-kfinance might be problematic. Click here for more details.
- {kensho_kfinance-2.9.0.dist-info → kensho_kfinance-3.0.1.dist-info}/METADATA +1 -1
- kensho_kfinance-3.0.1.dist-info/RECORD +111 -0
- kfinance/CHANGELOG.md +6 -0
- kfinance/__init__.py +1 -0
- kfinance/client/README.md +9 -0
- kfinance/{batch_request_handling.py → client/batch_request_handling.py} +63 -27
- kfinance/{fetch.py → client/fetch.py} +23 -29
- kfinance/{kfinance.py → client/kfinance.py} +37 -33
- kfinance/{meta_classes.py → client/meta_classes.py} +26 -35
- kfinance/{decimal_with_unit.py → client/models/decimal_with_unit.py} +1 -1
- kfinance/{tests → client/models/tests}/test_decimal_with_unit.py +1 -1
- kfinance/client/permission_models.py +16 -0
- kfinance/client/tests/__init__.py +0 -0
- kfinance/{tests → client/tests}/test_batch_requests.py +8 -6
- kfinance/{tests → client/tests}/test_client.py +25 -19
- kfinance/{tests → client/tests}/test_fetch.py +11 -29
- kfinance/{tests → client/tests}/test_group_objects.py +1 -1
- kfinance/{tests → client/tests}/test_objects.py +33 -29
- kfinance/{tests/conftest.py → conftest.py} +14 -2
- kfinance/domains/README.md +14 -0
- kfinance/domains/__init__.py +0 -0
- kfinance/domains/business_relationships/__init__.py +0 -0
- kfinance/{models → domains/business_relationships}/business_relationship_models.py +10 -0
- kfinance/domains/business_relationships/business_relationship_tools.py +74 -0
- kfinance/domains/business_relationships/tests/__init__.py +0 -0
- kfinance/domains/business_relationships/tests/test_business_relationship_tools.py +55 -0
- kfinance/domains/capitalizations/__init__.py +0 -0
- kfinance/{models → domains/capitalizations}/capitalization_models.py +24 -17
- kfinance/domains/capitalizations/capitalization_tools.py +89 -0
- kfinance/domains/capitalizations/tests/__init__.py +0 -0
- kfinance/{tests/test_models → domains/capitalizations/tests}/test_capitalization_models.py +8 -10
- kfinance/domains/capitalizations/tests/test_capitalization_tools.py +85 -0
- kfinance/domains/companies/__init__.py +0 -0
- kfinance/domains/companies/company_identifiers.py +175 -0
- kfinance/domains/companies/company_models.py +27 -0
- kfinance/domains/companies/company_tools.py +66 -0
- kfinance/domains/companies/tests/__init__.py +0 -0
- kfinance/domains/companies/tests/test_company_tools.py +26 -0
- kfinance/domains/competitors/__init__.py +0 -0
- kfinance/{models → domains/competitors}/competitor_models.py +7 -0
- kfinance/domains/competitors/competitor_tools.py +62 -0
- kfinance/domains/competitors/tests/__init__.py +0 -0
- kfinance/domains/competitors/tests/test_competitor_tools.py +45 -0
- kfinance/domains/cusip_and_isin/__init__.py +0 -0
- kfinance/domains/cusip_and_isin/cusip_and_isin_tools.py +80 -0
- kfinance/domains/cusip_and_isin/tests/__init__.py +0 -0
- kfinance/domains/cusip_and_isin/tests/test_cusip_and_isin_tools.py +57 -0
- kfinance/domains/earnings/__init__.py +0 -0
- kfinance/domains/earnings/earning_models.py +41 -0
- kfinance/domains/earnings/earning_tools.py +174 -0
- kfinance/domains/earnings/tests/__init__.py +0 -0
- kfinance/domains/earnings/tests/test_earnings_tools.py +195 -0
- kfinance/domains/line_items/__init__.py +0 -0
- kfinance/domains/line_items/line_item_tools.py +117 -0
- kfinance/domains/line_items/tests/__init__.py +0 -0
- kfinance/domains/line_items/tests/test_line_item_tools.py +86 -0
- kfinance/domains/mergers_and_acquisitions/__init__.py +0 -0
- kfinance/domains/mergers_and_acquisitions/merger_and_acquisition_tools.py +176 -0
- kfinance/domains/mergers_and_acquisitions/tests/__init__.py +0 -0
- kfinance/domains/mergers_and_acquisitions/tests/test_merger_and_acquisition_tools.py +124 -0
- kfinance/domains/prices/__init__.py +0 -0
- kfinance/{models → domains/prices}/price_models.py +1 -1
- kfinance/domains/prices/price_tools.py +165 -0
- kfinance/domains/prices/tests/__init__.py +0 -0
- kfinance/{tests/test_models → domains/prices/tests}/test_price_models.py +2 -2
- kfinance/domains/prices/tests/test_price_tools.py +141 -0
- kfinance/domains/segments/__init__.py +0 -0
- kfinance/domains/segments/segment_tools.py +91 -0
- kfinance/domains/segments/tests/__init__.py +0 -0
- kfinance/domains/segments/tests/test_segment_tools.py +80 -0
- kfinance/domains/statements/__init__.py +0 -0
- kfinance/domains/statements/statement_tools.py +116 -0
- kfinance/domains/statements/tests/__init__.py +0 -0
- kfinance/domains/statements/tests/test_statement_tools.py +73 -0
- kfinance/integrations/README.md +8 -0
- kfinance/integrations/__init__.py +0 -0
- kfinance/integrations/mcp/__init__.py +0 -0
- kfinance/{mcp.py → integrations/mcp/mcp.py} +2 -2
- kfinance/integrations/tests/__init__.py +0 -0
- kfinance/{tests → integrations/tests}/test_example_notebook.py +4 -4
- kfinance/{tool_calling → integrations/tool_calling}/README.md +2 -2
- kfinance/integrations/tool_calling/__init__.py +0 -0
- kfinance/integrations/tool_calling/all_tools.py +55 -0
- kfinance/{tool_calling → integrations/tool_calling}/prompts.py +3 -2
- kfinance/integrations/tool_calling/static_tools/README.md +4 -0
- kfinance/integrations/tool_calling/static_tools/__init__.py +0 -0
- kfinance/{tool_calling → integrations/tool_calling/static_tools}/get_latest.py +3 -3
- kfinance/{tool_calling → integrations/tool_calling/static_tools}/get_n_quarters_ago.py +3 -3
- kfinance/integrations/tool_calling/static_tools/tests/__init__.py +0 -0
- kfinance/integrations/tool_calling/static_tools/tests/test_get_lastest.py +30 -0
- kfinance/integrations/tool_calling/static_tools/tests/test_get_n_quarters_ago.py +24 -0
- kfinance/integrations/tool_calling/tests/__init__.py +0 -0
- kfinance/integrations/tool_calling/tests/test_tool_calling_models.py +69 -0
- kfinance/{tool_calling/shared_models.py → integrations/tool_calling/tool_calling_models.py} +37 -7
- kfinance/models/permission_models.py +1 -0
- kfinance/version.py +2 -2
- kensho_kfinance-2.9.0.dist-info/RECORD +0 -70
- kfinance/models/id_models.py +0 -7
- kfinance/prompt.py +0 -526
- kfinance/pydantic_models.py +0 -33
- kfinance/tests/test_tools.py +0 -804
- kfinance/tool_calling/__init__.py +0 -53
- kfinance/tool_calling/get_advisors_for_company_in_transaction_from_identifier.py +0 -42
- kfinance/tool_calling/get_business_relationship_from_identifier.py +0 -30
- kfinance/tool_calling/get_capitalization_from_identifier.py +0 -35
- kfinance/tool_calling/get_competitors_from_identifier.py +0 -25
- kfinance/tool_calling/get_cusip_from_ticker.py +0 -20
- kfinance/tool_calling/get_earnings.py +0 -33
- kfinance/tool_calling/get_financial_line_item_from_identifier.py +0 -48
- kfinance/tool_calling/get_financial_statement_from_identifier.py +0 -44
- kfinance/tool_calling/get_history_metadata_from_identifier.py +0 -17
- kfinance/tool_calling/get_info_from_identifier.py +0 -16
- kfinance/tool_calling/get_isin_from_ticker.py +0 -20
- kfinance/tool_calling/get_latest_earnings.py +0 -30
- kfinance/tool_calling/get_merger_info_from_transaction_id.py +0 -69
- kfinance/tool_calling/get_mergers_from_identifier.py +0 -44
- kfinance/tool_calling/get_next_earnings.py +0 -30
- kfinance/tool_calling/get_prices_from_identifier.py +0 -46
- kfinance/tool_calling/get_segments_from_identifier.py +0 -44
- kfinance/tool_calling/get_transcript.py +0 -23
- kfinance/tool_calling/resolve_identifier.py +0 -18
- {kensho_kfinance-2.9.0.dist-info → kensho_kfinance-3.0.1.dist-info}/WHEEL +0 -0
- {kensho_kfinance-2.9.0.dist-info → kensho_kfinance-3.0.1.dist-info}/licenses/AUTHORS.md +0 -0
- {kensho_kfinance-2.9.0.dist-info → kensho_kfinance-3.0.1.dist-info}/licenses/LICENSE +0 -0
- {kensho_kfinance-2.9.0.dist-info → kensho_kfinance-3.0.1.dist-info}/top_level.txt +0 -0
- /kfinance/{models → client}/__init__.py +0 -0
- /kfinance/{models → client}/industry_models.py +0 -0
- /kfinance/{tests → client/models}/__init__.py +0 -0
- /kfinance/{models → client/models}/currency_models.py +0 -0
- /kfinance/{models → client/models}/date_and_period_models.py +0 -0
- /kfinance/{tests/test_models → client/models/tests}/__init__.py +0 -0
- /kfinance/{server_thread.py → client/server_thread.py} +0 -0
- /kfinance/{models → domains/line_items}/line_item_models.py +0 -0
- /kfinance/{models → domains/segments}/segment_models.py +0 -0
- /kfinance/{models → domains/statements}/statement_models.py +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import contextlib
|
|
2
|
+
from contextlib import nullcontext as does_not_raise
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel, ValidationError
|
|
5
|
+
import pytest
|
|
6
|
+
from requests_mock import Mocker
|
|
7
|
+
|
|
8
|
+
from kfinance.client.kfinance import Client
|
|
9
|
+
from kfinance.conftest import SPGI_COMPANY_ID
|
|
10
|
+
from kfinance.domains.companies.company_tools import GetInfoFromIdentifiers
|
|
11
|
+
from kfinance.integrations.tool_calling.tool_calling_models import ValidQuarter
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TestGetEndpointsFromToolCallsWithGrounding:
|
|
15
|
+
def test_get_info_from_identifier_with_grounding(
|
|
16
|
+
self, mock_client: Client, requests_mock: Mocker
|
|
17
|
+
):
|
|
18
|
+
"""
|
|
19
|
+
GIVEN a KfinanceTool tool
|
|
20
|
+
WHEN we run the tool with `run_with_grounding`
|
|
21
|
+
THEN we get back endpoint urls in addition to the usual tool response.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
# truncated from the original
|
|
25
|
+
resp_data = {"name": "S&P Global Inc.", "status": "Operating"}
|
|
26
|
+
resp_endpoint = [
|
|
27
|
+
"https://kfinance.kensho.com/api/v1/id/SPGI",
|
|
28
|
+
"https://kfinance.kensho.com/api/v1/info/21719",
|
|
29
|
+
]
|
|
30
|
+
expected_resp = {"data": {"SPGI": resp_data}, "endpoint_urls": resp_endpoint}
|
|
31
|
+
|
|
32
|
+
requests_mock.get(
|
|
33
|
+
url=f"https://kfinance.kensho.com/api/v1/info/{SPGI_COMPANY_ID}",
|
|
34
|
+
json=resp_data,
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
tool = GetInfoFromIdentifiers(kfinance_client=mock_client)
|
|
38
|
+
resp = tool.run_with_grounding(identifiers=["SPGI"])
|
|
39
|
+
assert resp == expected_resp
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class TestValidQuarter:
|
|
43
|
+
class QuarterModel(BaseModel):
|
|
44
|
+
quarter: ValidQuarter | None
|
|
45
|
+
|
|
46
|
+
@pytest.mark.parametrize(
|
|
47
|
+
"input_quarter, expectation, expected_quarter",
|
|
48
|
+
[
|
|
49
|
+
pytest.param(1, does_not_raise(), 1, id="int input works"),
|
|
50
|
+
pytest.param("1", does_not_raise(), 1, id="str input works"),
|
|
51
|
+
pytest.param(None, does_not_raise(), None, id="None input works"),
|
|
52
|
+
pytest.param(5, pytest.raises(ValidationError), None, id="invalid int raises"),
|
|
53
|
+
pytest.param("5", pytest.raises(ValidationError), None, id="invalid str raises"),
|
|
54
|
+
],
|
|
55
|
+
)
|
|
56
|
+
def test_valid_quarter(
|
|
57
|
+
self,
|
|
58
|
+
input_quarter: int | str | None,
|
|
59
|
+
expectation: contextlib.AbstractContextManager,
|
|
60
|
+
expected_quarter: int | None,
|
|
61
|
+
) -> None:
|
|
62
|
+
"""
|
|
63
|
+
GIVEN a model that uses `ValidQuarter`
|
|
64
|
+
WHEN we deserialize with int, str, or None
|
|
65
|
+
THEN valid str get coerced to int. Invalid values raise.
|
|
66
|
+
"""
|
|
67
|
+
with expectation:
|
|
68
|
+
res = self.QuarterModel.model_validate(dict(quarter=input_quarter))
|
|
69
|
+
assert res.quarter == expected_quarter
|
|
@@ -3,8 +3,8 @@ from typing import Annotated, Any, Literal, Type
|
|
|
3
3
|
from langchain_core.tools import BaseTool
|
|
4
4
|
from pydantic import BaseModel, BeforeValidator, ConfigDict, Field
|
|
5
5
|
|
|
6
|
-
from kfinance.kfinance import Client
|
|
7
|
-
from kfinance.
|
|
6
|
+
from kfinance.client.kfinance import Client
|
|
7
|
+
from kfinance.client.permission_models import Permission
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class KfinanceTool(BaseTool):
|
|
@@ -20,7 +20,7 @@ class KfinanceTool(BaseTool):
|
|
|
20
20
|
description="The set of accepted permissions needed to access the tool. Only one of the permissions is required (or None)."
|
|
21
21
|
)
|
|
22
22
|
|
|
23
|
-
model_config = ConfigDict(
|
|
23
|
+
model_config = ConfigDict(extra="forbid")
|
|
24
24
|
|
|
25
25
|
def run_without_langchain(self, *args: Any, **kwargs: Any) -> Any:
|
|
26
26
|
"""Execute a Kfinance tool without langchain.
|
|
@@ -60,19 +60,49 @@ class KfinanceTool(BaseTool):
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
def _run(self, *args: Any, **kwargs: Any) -> Any:
|
|
63
|
-
"""The code to execute the tool
|
|
63
|
+
"""The code to execute the tool.
|
|
64
|
+
|
|
65
|
+
Where feasible and useful, tools should use batch processing to parallelize
|
|
66
|
+
requests, usually by allowing callers to pass in multiple identifiers.
|
|
67
|
+
The usual processing order for functions with multiple identifiers is:
|
|
68
|
+
- Parse string identifiers into `CompanyIdentifier`
|
|
69
|
+
- batch fetch the required id for the api call (company/security/trading item id) via
|
|
70
|
+
fetch_<relevant>_ids_from_identifiers
|
|
71
|
+
- batch fetch the required info based on the ids via process_tasks_in_thread_pool_executor
|
|
72
|
+
- format results for output
|
|
73
|
+
|
|
74
|
+
Any company_ids in the response should be prefixed with the COMPANY_ID_PREFIX ("C_").
|
|
75
|
+
This allows us to circumvent overlaps between tickers (which can be purely numerical)
|
|
76
|
+
and company_ids. Company_ids with prefixes can be used like normal identifiers.
|
|
77
|
+
For example:
|
|
78
|
+
Request: get_business_relationship_from_identifiers(identifiers=["SPGI"], business_relationship="supplier")
|
|
79
|
+
Response: {"SPGI": {"current": [{"company_id": "C_883103", "company_name": "A Corp"}]...
|
|
80
|
+
Request: get_prices_from_identifiers(identifiers=["C_883103"])
|
|
81
|
+
"""
|
|
64
82
|
...
|
|
65
83
|
|
|
66
84
|
|
|
67
85
|
class ToolArgsWithIdentifier(BaseModel):
|
|
68
86
|
"""Tool argument with an identifier.
|
|
69
87
|
|
|
70
|
-
All tools using
|
|
71
|
-
of
|
|
88
|
+
All tools using identifiers should subclass this model to ensure that the description
|
|
89
|
+
of identifiers is always the same.
|
|
72
90
|
"""
|
|
73
91
|
|
|
74
92
|
identifier: str = Field(
|
|
75
|
-
description="The identifier, which can be a ticker symbol, ISIN, or
|
|
93
|
+
description="The identifier, which can be a ticker symbol, ISIN, CUSIP, or company_id"
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class ToolArgsWithIdentifiers(BaseModel):
|
|
98
|
+
"""Tool argument with a list of identifiers.
|
|
99
|
+
|
|
100
|
+
All tools using identifiers should subclass this model to ensure that the description
|
|
101
|
+
of identifiers is always the same.
|
|
102
|
+
"""
|
|
103
|
+
|
|
104
|
+
identifiers: list[str] = Field(
|
|
105
|
+
description="The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids"
|
|
76
106
|
)
|
|
77
107
|
|
|
78
108
|
|
kfinance/version.py
CHANGED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
kensho_kfinance-2.9.0.dist-info/licenses/AUTHORS.md,sha256=0h9ClbI0pu1oKj1M28ROUsaxrbZg-6ukQGl6X4y9noI,68
|
|
2
|
-
kensho_kfinance-2.9.0.dist-info/licenses/LICENSE,sha256=bsY4blvSgq6o0FMQ3RXa2NCgco--nHCCchLXzxr6kms,83
|
|
3
|
-
kfinance/CHANGELOG.md,sha256=vwLoxhyrR2AGSJbkfkvWYjjZQ6UBrfjOPSZq4eM9nok,2280
|
|
4
|
-
kfinance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
kfinance/batch_request_handling.py,sha256=G9rhpgQaCdb5C1dsfuJip8383iszibcOJ5k8gxld-tQ,5001
|
|
6
|
-
kfinance/decimal_with_unit.py,sha256=U1eJSJ-4zPHkdtHcrfaW9CmmaLPE13MiWJy6odRyeXo,2904
|
|
7
|
-
kfinance/fetch.py,sha256=MSdDddZ_1YdmzCuXqCXwY_vfFLdbdQeCJ6YRQrwCUCI,28157
|
|
8
|
-
kfinance/kfinance.py,sha256=ob5jNO5-aTSfBwknsSVCMLQJD5mWZkPTAZlvsBJ_Z2Y,72584
|
|
9
|
-
kfinance/mcp.py,sha256=MbktclVfBOEwfe-eR7kPaTXopMJmn_8RMlf4Jx5CXKU,3689
|
|
10
|
-
kfinance/meta_classes.py,sha256=0wI70PXfQzNbRUW2nYVfxJjqCqqI5EukUIKjaMcrzVA,21804
|
|
11
|
-
kfinance/prompt.py,sha256=PtVB8c_FcSlVdyGgByAnIFGzuUuBaEjciCqnBJl1hSQ,25133
|
|
12
|
-
kfinance/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
kfinance/pydantic_models.py,sha256=avpbPqwrAyLqsCbrmFpK_B8_fj1nPlBHrnPxRcBaSkE,774
|
|
14
|
-
kfinance/server_thread.py,sha256=jUnt1YGoYDkqqz1MbCwd44zJs1T_Z2BCgvj75bdtLgA,2574
|
|
15
|
-
kfinance/version.py,sha256=pqhLPO2SP7VnEU-lJpoO0qS9x0Kgz8BD6Rgr6J_aK-o,511
|
|
16
|
-
kfinance/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
kfinance/models/business_relationship_models.py,sha256=XlkYI_XUegORH4U4oLXjdFIX9Pr9FvQUnFAc67D2M4s,770
|
|
18
|
-
kfinance/models/capitalization_models.py,sha256=jB0MIZ94UOPfVckuS2asED9ARjisrStC_O4KgfHmoJw,3193
|
|
19
|
-
kfinance/models/competitor_models.py,sha256=0yDu49Pe28ErpCMLX-BBeUnjjxqerb49ToVKSTOivNk,565
|
|
20
|
-
kfinance/models/currency_models.py,sha256=JfDZf-nATCyjThBw-Ky2BNvM-n2oHepBLIHMCIyCRUE,19201
|
|
21
|
-
kfinance/models/date_and_period_models.py,sha256=B508v1SLy_mbSSuSbPz41xeFNRAeBFv41gJSlaXyHnU,1062
|
|
22
|
-
kfinance/models/id_models.py,sha256=xhFKmDddBfqkQZsbOP8za8VnxIFHiwvGThKjeGKC2Hg,138
|
|
23
|
-
kfinance/models/industry_models.py,sha256=ydB_cTIsNsfCUeaO7K2qqLUuHdG6WfUCoAzBigKVV8M,243
|
|
24
|
-
kfinance/models/line_item_models.py,sha256=JIdoSYxoJDQVkmqUK6_ABpb6lULXRvrCDJGiKL6kRhE,45399
|
|
25
|
-
kfinance/models/permission_models.py,sha256=z6MKY7Zf7StPKwsucsoVqltUesicU6MC6rxRGmlRwZI,557
|
|
26
|
-
kfinance/models/price_models.py,sha256=saiJk1ZIs02cHtY54-5YvS7NgH3EABR2RGT6wpzRauY,2149
|
|
27
|
-
kfinance/models/segment_models.py,sha256=GSJhK1HmbMmwRDFmrDTZzx8aYrAaHN13IJ0J9GTBn9Y,145
|
|
28
|
-
kfinance/models/statement_models.py,sha256=RmclTeyahCODUP0-KgZZZequFgQ2pUQ8cdfHI96c9vA,207
|
|
29
|
-
kfinance/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
kfinance/tests/conftest.py,sha256=dhL_RSc-af3j-2_UrAGRE9mxgcbjuIRtj08DTx79pQc,1123
|
|
31
|
-
kfinance/tests/test_batch_requests.py,sha256=JjP5OOKyxzYqmVmTR2hzM4Q6wyYDCEDHINH4vNFd6ag,11597
|
|
32
|
-
kfinance/tests/test_client.py,sha256=YZT-AXpFsVHpdoZj01d2TkmUkNP-8f3cIOgeXtP_05U,3870
|
|
33
|
-
kfinance/tests/test_decimal_with_unit.py,sha256=98zZmSLojWq3FS0e5AuNxv9eluqGVEoqM3r_agkmt_Y,2188
|
|
34
|
-
kfinance/tests/test_example_notebook.py,sha256=VFS2W_T0yEtd74YiRxj3KA7eEL_fJuCpWwUAkiFqzkc,6501
|
|
35
|
-
kfinance/tests/test_fetch.py,sha256=s8fSkXDtNjDcK_jWQYUO1stx9ElX1I54qG_48WxfBAc,18558
|
|
36
|
-
kfinance/tests/test_group_objects.py,sha256=SoMEZmkG4RYdgWOAwxLHHtzIQho92KM01YbQXPUg578,1689
|
|
37
|
-
kfinance/tests/test_objects.py,sha256=cpTE22omZATe-2j9jnuchgEiZtNM-wler95ainYoh_o,42471
|
|
38
|
-
kfinance/tests/test_tools.py,sha256=jLrugYTSdK6Cw4SmJxsxdYdJ1S3X7wDcBC7kQAWe75A,31024
|
|
39
|
-
kfinance/tests/test_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
-
kfinance/tests/test_models/test_capitalization_models.py,sha256=E-5eZX0ufdFsmcWATt5agyH4Ks-q8TNO-W6cnYIMOcE,3116
|
|
41
|
-
kfinance/tests/test_models/test_price_models.py,sha256=DHBMAFJ8axat1s_C0tElqcCjw6YhmzF9WWKpKmySwv0,2378
|
|
42
|
-
kfinance/tool_calling/README.md,sha256=omJq7Us6r4U45QB7hRpLjRJ5BMalCkZkh4uXBjTbJXc,2022
|
|
43
|
-
kfinance/tool_calling/__init__.py,sha256=UmtbtG6PvQHB1fInEL-K5q0kPHL__zTY9wzaPRSp1wg,2174
|
|
44
|
-
kfinance/tool_calling/get_advisors_for_company_in_transaction_from_identifier.py,sha256=IYpImoYfeq7Ep_IrUZgsSHC0oLSmI1mwuTR_1ftTPMY,1789
|
|
45
|
-
kfinance/tool_calling/get_business_relationship_from_identifier.py,sha256=oPlVpDy4AY8nQFZnHRp9DhpL8SecIlyEY6aiklHtVDg,1551
|
|
46
|
-
kfinance/tool_calling/get_capitalization_from_identifier.py,sha256=qciQI9gSJh4gGatnjOkid-GJSlzXkvt7-2VcK2yBfrg,1558
|
|
47
|
-
kfinance/tool_calling/get_competitors_from_identifier.py,sha256=J9TVWNU_6d6ltJLIJTdCtkhbc0MqoCbqdWUxrwBkOUs,1156
|
|
48
|
-
kfinance/tool_calling/get_cusip_from_ticker.py,sha256=ebzFmjZFkcuydntQXmuxfh8mhPiXmmzUTb2ncHy00ao,667
|
|
49
|
-
kfinance/tool_calling/get_earnings.py,sha256=d7UvVsSAcrVlveWyUpua35vdloA_QgJnQ4Nmg7wT7m0,1245
|
|
50
|
-
kfinance/tool_calling/get_financial_line_item_from_identifier.py,sha256=hsKmObT2TJ4HMusVtQXU6FMDmyY7bKg2V-x-IXuU71c,2270
|
|
51
|
-
kfinance/tool_calling/get_financial_statement_from_identifier.py,sha256=ba8Z378YrQ_J0-A6KVLOtxe-hYMP68780g0xXZfAyT8,2023
|
|
52
|
-
kfinance/tool_calling/get_history_metadata_from_identifier.py,sha256=hPC-RwwcnJ9kkhxTUJLE-xvCqfIq5kJcKM4deiL8zlI,789
|
|
53
|
-
kfinance/tool_calling/get_info_from_identifier.py,sha256=2-NmGvFpYXASGV_lJaYhhdXMxQpyvi30bXY9mGWwbBw,787
|
|
54
|
-
kfinance/tool_calling/get_isin_from_ticker.py,sha256=tp79lowBUdkv7fm-8QX4vJqeDZiq5M_jkkp8XKC1KY4,661
|
|
55
|
-
kfinance/tool_calling/get_latest.py,sha256=m6nBA8Bo51Q85kGbGnP59IUz4-lm_CRo1kSuNM26iXg,857
|
|
56
|
-
kfinance/tool_calling/get_latest_earnings.py,sha256=R98ImaONP3AjVshygkRLwcAHKscvVRkVoPw117O9nuw,1197
|
|
57
|
-
kfinance/tool_calling/get_merger_info_from_transaction_id.py,sha256=gB6VUmCAKS0OBclpcdp2gQq7cdxKbWTXt5Z8aMH_-ys,3243
|
|
58
|
-
kfinance/tool_calling/get_mergers_from_identifier.py,sha256=tgpcLQM1CPvyk4_xyUhcZh01kAzwdkQCV6gq-bEsFhA,1935
|
|
59
|
-
kfinance/tool_calling/get_n_quarters_ago.py,sha256=VYUBbQIowHXmNuln1oKoDKeWDbnXLg4p6X0d1HoY_NY,784
|
|
60
|
-
kfinance/tool_calling/get_next_earnings.py,sha256=vL3sCoocPhHDRawVRu9IyQPLXVAgODrZgKSqkP3Scs8,1177
|
|
61
|
-
kfinance/tool_calling/get_prices_from_identifier.py,sha256=uXD9fiLFI0vUM_YY8DI_9ifC0oeeC3KCyaTQQ0IjuSA,1966
|
|
62
|
-
kfinance/tool_calling/get_segments_from_identifier.py,sha256=1Ux9ZWEU3xmOSuAPGedo2r8wdRa_glv8roghp08MJ-c,1980
|
|
63
|
-
kfinance/tool_calling/get_transcript.py,sha256=urZgpQXigmahy-vj6OjkGI9O6HJcPIpd-5CRU7NI3YQ,782
|
|
64
|
-
kfinance/tool_calling/prompts.py,sha256=Yw1DJIMh90cjL-8q6_RMRiSjCtFDXvJAy7QiV5_uAU8,911
|
|
65
|
-
kfinance/tool_calling/resolve_identifier.py,sha256=Rkhwi6m3hffE19qaxRkrsu6slRKyiAXjfLr8L41N2zc,647
|
|
66
|
-
kfinance/tool_calling/shared_models.py,sha256=Sx_zlwk5YLu533406Pmh499NH5oTBWrZf8Ua8zoUSRk,3746
|
|
67
|
-
kensho_kfinance-2.9.0.dist-info/METADATA,sha256=NhJXLeMBY0A1QP2PaA2BWB7-m-cUxY1wqp7TlDRqPAY,6202
|
|
68
|
-
kensho_kfinance-2.9.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
69
|
-
kensho_kfinance-2.9.0.dist-info/top_level.txt,sha256=kT_kNwVhfQoOAecY8W7uYah5xaHMoHoAdBIvXh6DaKM,9
|
|
70
|
-
kensho_kfinance-2.9.0.dist-info/RECORD,,
|