kensho-kfinance 3.2.14__tar.gz → 3.2.16__tar.gz
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-3.2.14/kensho_kfinance.egg-info → kensho_kfinance-3.2.16}/PKG-INFO +1 -1
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16/kensho_kfinance.egg-info}/PKG-INFO +1 -1
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/CHANGELOG.md +7 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/models/decimal_with_unit.py +14 -2
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/models/tests/test_decimal_with_unit.py +9 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/competitors/competitor_tools.py +3 -1
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/line_items/line_item_models.py +329 -12
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/line_items/line_item_tools.py +83 -1
- kensho_kfinance-3.2.16/kfinance/domains/line_items/tests/test_line_item_tools.py +271 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/version.py +3 -3
- kensho_kfinance-3.2.14/kfinance/domains/line_items/tests/test_line_item_tools.py +0 -133
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/.coveragerc +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/.github/workflows/ci-lint.yml +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/.github/workflows/ci-test.yml +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/.github/workflows/python-publish.yml +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/.gitignore +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/.readthedocs.yaml +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/AUTHORS.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/CODE_OF_CONDUCT.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/CONTRIBUTING.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/LICENSE +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/README.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/docs/build_tool_calling_documentation.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/docs/conf.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/docs/index.rst +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/docs/kfinance.rst +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/docs/requirements.txt +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/docs/templates/apidoc/package.rst_t +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/docs/templates/apidoc/toc.rst_t +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/docs/tool_calling.rst +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/example_notebooks/basic_usage.ipynb +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/example_notebooks/tool_calling/langchain/anthropic_langchain_tool_calling.ipynb +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/example_notebooks/tool_calling/langchain/google_gemini_langchain_tool_calling.ipynb +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/example_notebooks/tool_calling/langchain/openai_langchain_tool_calling.ipynb +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/example_notebooks/tool_calling/non-langchain/anthropic_tool_calling.ipynb +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/example_notebooks/tool_calling/non-langchain/google_gemini_tool_calling.ipynb +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/example_notebooks/tool_calling/non-langchain/openai_langchain_tool_calling.ipynb +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/images/colab_logo_32px.png +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/justfile +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kensho_kfinance.egg-info/SOURCES.txt +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kensho_kfinance.egg-info/dependency_links.txt +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kensho_kfinance.egg-info/requires.txt +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kensho_kfinance.egg-info/top_level.txt +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/README.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/batch_request_handling.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/fetch.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/industry_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/kfinance.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/meta_classes.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/models/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/models/currency_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/models/date_and_period_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/models/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/permission_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/server_thread.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/tests/test_batch_requests.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/tests/test_client.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/tests/test_fetch.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/tests/test_group_objects.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/tests/test_objects.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/conftest.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/README.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/business_relationships/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/business_relationships/business_relationship_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/business_relationships/business_relationship_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/business_relationships/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/business_relationships/tests/test_business_relationship_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/capitalizations/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/capitalizations/capitalization_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/capitalizations/capitalization_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/capitalizations/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/capitalizations/tests/test_capitalization_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/capitalizations/tests/test_capitalization_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/companies/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/companies/company_identifiers.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/companies/company_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/companies/company_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/companies/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/companies/tests/test_company_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/competitors/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/competitors/competitor_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/competitors/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/competitors/tests/test_competitor_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/cusip_and_isin/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/cusip_and_isin/cusip_and_isin_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/cusip_and_isin/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/cusip_and_isin/tests/test_cusip_and_isin_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/earnings/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/earnings/earning_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/earnings/earning_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/earnings/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/earnings/tests/test_earnings_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/line_items/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/line_items/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/mergers_and_acquisitions/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/mergers_and_acquisitions/merger_and_acquisition_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/mergers_and_acquisitions/merger_and_acquisition_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/mergers_and_acquisitions/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/mergers_and_acquisitions/tests/test_merger_and_acquisition_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/prices/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/prices/price_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/prices/price_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/prices/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/prices/tests/test_price_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/prices/tests/test_price_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/segments/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/segments/segment_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/segments/segment_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/segments/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/segments/tests/test_segment_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/statements/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/statements/statement_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/statements/statement_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/statements/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/statements/tests/test_statement_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/README.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/local_mcp/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/local_mcp/kfinance_mcp.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/local_mcp/local_mcp.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tests/test_example_notebook.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/README.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/all_tools.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/prompts.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/static_tools/README.md +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/static_tools/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/static_tools/get_latest.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/static_tools/get_n_quarters_ago.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/static_tools/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/static_tools/tests/test_get_lastest.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/static_tools/tests/test_get_n_quarters_ago.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/tests/__init__.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/tests/test_tool_calling_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/integrations/tool_calling/tool_calling_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/mcp.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/models/permission_models.py +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/py.typed +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/pyproject.toml +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/scripts/copyright_line_check.sh +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/scripts/lint.sh +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/scripts/test.sh +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/setup.cfg +0 -0
- {kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kensho-kfinance
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.16
|
|
4
4
|
Summary: Python CLI for kFinance
|
|
5
5
|
Author-email: Luke Brown <luke.brown@kensho.com>, Michelle Keoy <michelle.keoy@kensho.com>, Keith Page <keith.page@kensho.com>, Matthew Rosen <matthew.rosen@kensho.com>, Nick Roshdieh <nick.roshdieh@kensho.com>
|
|
6
6
|
Project-URL: source, https://github.com/kensho-technologies/kfinance
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kensho-kfinance
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.16
|
|
4
4
|
Summary: Python CLI for kFinance
|
|
5
5
|
Author-email: Luke Brown <luke.brown@kensho.com>, Michelle Keoy <michelle.keoy@kensho.com>, Keith Page <keith.page@kensho.com>, Matthew Rosen <matthew.rosen@kensho.com>, Nick Roshdieh <nick.roshdieh@kensho.com>
|
|
6
6
|
Project-URL: source, https://github.com/kensho-technologies/kfinance
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
+
|
|
3
|
+
## v3.2.16
|
|
4
|
+
- Allow None and "NaN" for DecimalWithValue
|
|
5
|
+
|
|
6
|
+
## v3.2.15
|
|
7
|
+
- Add smart line item validation with intelligent suggestions and descriptions to reduce token consumption by 75%
|
|
8
|
+
|
|
2
9
|
# 3.2.14
|
|
3
10
|
- Fix Capitalizations validator to handle nulls
|
|
4
11
|
|
{kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/client/models/decimal_with_unit.py
RENAMED
|
@@ -2,7 +2,7 @@ from copy import deepcopy
|
|
|
2
2
|
from decimal import Decimal
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
-
from pydantic import BaseModel, Field, model_validator
|
|
5
|
+
from pydantic import BaseModel, Field, field_validator, model_validator
|
|
6
6
|
from typing_extensions import Self
|
|
7
7
|
|
|
8
8
|
from kfinance.client.models.currency_models import ISO_CODE_TO_CURRENCY
|
|
@@ -20,11 +20,23 @@ class DecimalWithUnit(BaseModel):
|
|
|
20
20
|
existing subclass like `Money` or `Shares` or create a new one.
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
|
-
value: Decimal
|
|
23
|
+
value: Decimal = Field(allow_inf_nan=True)
|
|
24
24
|
unit: str
|
|
25
25
|
# exclude conventional_decimals from serialization
|
|
26
26
|
conventional_decimals: int = Field(exclude=True)
|
|
27
27
|
|
|
28
|
+
@field_validator("value", mode="before")
|
|
29
|
+
@classmethod
|
|
30
|
+
def convert_none_to_nan(cls, v: Any) -> Any:
|
|
31
|
+
"""Convert None values to NaN.
|
|
32
|
+
|
|
33
|
+
Price data can include None for open prices.
|
|
34
|
+
https://kfinance.kensho.com/api/v1/pricing/37284793/2003-01-01/2024-12-31/month/adjusted
|
|
35
|
+
"""
|
|
36
|
+
if v is None:
|
|
37
|
+
return Decimal("NaN")
|
|
38
|
+
return v
|
|
39
|
+
|
|
28
40
|
@model_validator(mode="after")
|
|
29
41
|
def quantize_value(self) -> Self:
|
|
30
42
|
"""Quantize the value at the end of the deserialization.
|
|
@@ -32,6 +32,15 @@ class TestDecimalWithUnit:
|
|
|
32
32
|
)
|
|
33
33
|
assert dwu.value == expected_value
|
|
34
34
|
|
|
35
|
+
@pytest.mark.parametrize("value", [None, "NaN"])
|
|
36
|
+
def test_null_nan_allowed(self, value: str | None):
|
|
37
|
+
"""
|
|
38
|
+
WHEN a DecimalWithUnit gets deserialized with None or "NaN"
|
|
39
|
+
THEN the deserialized value is Decimal("NaN")
|
|
40
|
+
"""
|
|
41
|
+
dwu = DecimalWithUnit.model_validate(dict(value=value, conventional_decimals=1, unit="foo"))
|
|
42
|
+
assert dwu.value.is_nan()
|
|
43
|
+
|
|
35
44
|
|
|
36
45
|
class TestMoney:
|
|
37
46
|
@pytest.mark.parametrize("currency, expected_conventional_decimals", [("USD", 2), ("BIF", 0)])
|
{kensho_kfinance-3.2.14 → kensho_kfinance-3.2.16}/kfinance/domains/competitors/competitor_tools.py
RENAMED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from typing import Type
|
|
2
|
+
|
|
1
3
|
from kfinance.client.batch_request_handling import Task, process_tasks_in_thread_pool_executor
|
|
2
4
|
from kfinance.client.permission_models import Permission
|
|
3
5
|
from kfinance.domains.competitors.competitor_models import CompetitorResponse, CompetitorSource
|
|
@@ -20,7 +22,7 @@ class GetCompetitorsFromIdentifiersResp(ToolRespWithErrors):
|
|
|
20
22
|
class GetCompetitorsFromIdentifiers(KfinanceTool):
|
|
21
23
|
name: str = "get_competitors_from_identifiers"
|
|
22
24
|
description: str = "Retrieves a list of company_id and company_name that are competitors for a list of companies, optionally filtered by the source of the competitor information."
|
|
23
|
-
args_schema = GetCompetitorsFromIdentifiersArgs
|
|
25
|
+
args_schema: Type[GetCompetitorsFromIdentifiersArgs] = GetCompetitorsFromIdentifiersArgs
|
|
24
26
|
accepted_permissions: set[Permission] | None = {Permission.CompetitorsPermission}
|
|
25
27
|
|
|
26
28
|
def _run(
|