kensho-kfinance 2.6.1__tar.gz → 2.6.2__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.

Files changed (88) hide show
  1. {kensho_kfinance-2.6.1/kensho_kfinance.egg-info → kensho_kfinance-2.6.2}/PKG-INFO +38 -5
  2. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/README.md +36 -3
  3. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2/kensho_kfinance.egg-info}/PKG-INFO +38 -5
  4. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kensho_kfinance.egg-info/requires.txt +1 -1
  5. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/CHANGELOG.md +6 -0
  6. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/kfinance.py +11 -5
  7. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_merger_info_from_transaction_id.py +9 -3
  8. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/version.py +2 -2
  9. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/pyproject.toml +1 -1
  10. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/.coveragerc +0 -0
  11. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/.github/workflows/ci-lint.yml +0 -0
  12. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/.github/workflows/ci-test.yml +0 -0
  13. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/.github/workflows/python-publish.yml +0 -0
  14. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/.gitignore +0 -0
  15. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/.readthedocs.yaml +0 -0
  16. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/AUTHORS.md +0 -0
  17. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/CODE_OF_CONDUCT.md +0 -0
  18. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/CONTRIBUTING.md +0 -0
  19. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/LICENSE +0 -0
  20. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/docs/build_tool_calling_documentation.py +0 -0
  21. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/docs/conf.py +0 -0
  22. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/docs/index.rst +0 -0
  23. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/docs/kfinance.rst +0 -0
  24. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/docs/requirements.txt +0 -0
  25. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/docs/templates/apidoc/package.rst_t +0 -0
  26. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/docs/templates/apidoc/toc.rst_t +0 -0
  27. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/docs/tool_calling.rst +0 -0
  28. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/example_notebooks/basic_usage.ipynb +0 -0
  29. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/example_notebooks/tool_calling/langchain/anthropic_langchain_tool_calling.ipynb +0 -0
  30. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/example_notebooks/tool_calling/langchain/google_gemini_langchain_tool_calling.ipynb +0 -0
  31. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/example_notebooks/tool_calling/langchain/openai_langchain_tool_calling.ipynb +0 -0
  32. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/example_notebooks/tool_calling/non-langchain/anthropic_tool_calling.ipynb +0 -0
  33. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/example_notebooks/tool_calling/non-langchain/google_gemini_tool_calling.ipynb +0 -0
  34. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/example_notebooks/tool_calling/non-langchain/openai_langchain_tool_calling.ipynb +0 -0
  35. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/images/colab_logo_32px.png +0 -0
  36. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/justfile +0 -0
  37. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kensho_kfinance.egg-info/SOURCES.txt +0 -0
  38. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kensho_kfinance.egg-info/dependency_links.txt +0 -0
  39. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kensho_kfinance.egg-info/top_level.txt +0 -0
  40. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/__init__.py +0 -0
  41. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/batch_request_handling.py +0 -0
  42. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/constants.py +0 -0
  43. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/fetch.py +0 -0
  44. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/mcp.py +0 -0
  45. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/meta_classes.py +0 -0
  46. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/prompt.py +0 -0
  47. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/py.typed +0 -0
  48. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/pydantic_models.py +0 -0
  49. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/server_thread.py +0 -0
  50. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/__init__.py +0 -0
  51. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/conftest.py +0 -0
  52. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/scratch.py +0 -0
  53. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/test_batch_requests.py +0 -0
  54. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/test_client.py +0 -0
  55. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/test_example_notebook.py +0 -0
  56. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/test_fetch.py +0 -0
  57. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/test_group_objects.py +0 -0
  58. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/test_objects.py +0 -0
  59. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tests/test_tools.py +0 -0
  60. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/README.md +0 -0
  61. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/__init__.py +0 -0
  62. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_advisors_for_company_in_transaction_from_identifier.py +0 -0
  63. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_business_relationship_from_identifier.py +0 -0
  64. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_capitalization_from_identifier.py +0 -0
  65. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_competitors_from_identifier.py +0 -0
  66. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_cusip_from_ticker.py +0 -0
  67. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_earnings.py +0 -0
  68. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_financial_line_item_from_identifier.py +0 -0
  69. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_financial_statement_from_identifier.py +0 -0
  70. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_history_metadata_from_identifier.py +0 -0
  71. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_info_from_identifier.py +0 -0
  72. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_isin_from_ticker.py +0 -0
  73. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_latest.py +0 -0
  74. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_latest_earnings.py +0 -0
  75. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_mergers_from_identifier.py +0 -0
  76. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_n_quarters_ago.py +0 -0
  77. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_next_earnings.py +0 -0
  78. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_prices_from_identifier.py +0 -0
  79. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_segments_from_identifier.py +0 -0
  80. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/get_transcript.py +0 -0
  81. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/prompts.py +0 -0
  82. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/resolve_identifier.py +0 -0
  83. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/kfinance/tool_calling/shared_models.py +0 -0
  84. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/scripts/copyright_line_check.sh +0 -0
  85. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/scripts/lint.sh +0 -0
  86. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/scripts/test.sh +0 -0
  87. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/setup.cfg +0 -0
  88. {kensho_kfinance-2.6.1 → kensho_kfinance-2.6.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kensho-kfinance
3
- Version: 2.6.1
3
+ Version: 2.6.2
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
@@ -27,7 +27,7 @@ Requires-Dist: strenum>=0.4.15
27
27
  Requires-Dist: tabulate>=0.9.0
28
28
  Requires-Dist: types-requests<3,>=2.22.0
29
29
  Requires-Dist: requests<3,>=2.22.0
30
- Requires-Dist: urllib3>=1.21.1
30
+ Requires-Dist: urllib3>=2.5
31
31
  Provides-Extra: dev
32
32
  Requires-Dist: coverage<8,>=7.6.10; extra == "dev"
33
33
  Requires-Dist: ipykernel<7,>=6.29; extra == "dev"
@@ -67,11 +67,11 @@ Once access is obtained, get started using the [Authentication Guide](https://do
67
67
  To get started, we provide some notebooks:
68
68
 
69
69
  - The [LLM-ready API Basic Usage](example_notebooks%2Fbasic_usage.ipynb) notebook demonstrates how
70
- fetch data with the kFinance client.
70
+ fetch data with the kFinance client.
71
71
  - The [tool_calling notebooks](example_notebooks%2Ftool_calling) show how the kFinance library can
72
- be used for tool calling. We provide notebooks for OpenAI (GPT), Anthropic (Claude), and Google
72
+ be used for tool calling. We provide notebooks for OpenAI (GPT), Anthropic (Claude), and Google
73
73
  (Gemini). Each of these integrations comes in a langchain version, which uses langchain as a
74
- wrapper to simplify the integration, and as a lower level non-langchain version.
74
+ wrapper to simplify the integration, and as a lower level non-langchain version.
75
75
 
76
76
  We also provide an [interactive notebook](example_notebooks/basic_usage.ipynb) that demonstrates some usage examples.
77
77
 
@@ -88,15 +88,48 @@ The server's full signature is as follows:
88
88
  `kfinance.mcp [--stdio,-s]/[--sse, ] --refresh-token <refresh-token> --client-id <client-id> --private-key <private-key>`
89
89
 
90
90
  Authentication Methods (in order of precedence):
91
+
91
92
  1. Refresh Token: Uses an existing refresh token for authentication. The `--refresh-token <refresh-token>` argument must be provided.
92
93
  2. Key Pair: Uses client ID and private key for authentication. Both the `--client-id <client-id>` and `--private-key <private-key>` arguments must be provided.
93
94
  3. Browser: Falls back to browser-based authentication flow. This occurs if no auth arguments are provided.
94
95
 
95
96
  Transport Layers:
97
+
96
98
  - stdio can be set by passing either `--stdio` or `-s`
97
99
  - sse can be set by passing `--sse` or no other transport related flag
98
100
 
101
+ # Development
102
+
103
+ ## Working with Local Package Version
104
+
105
+ If you need to develop using a local version of the kFinance package in another project that uses [poetry](https://python-poetry.org/) for package and dependency management, follow these steps:
106
+
107
+ 1. In your dependent project's `pyproject.toml`, replace the kFinance package version specification:
108
+
109
+ ```toml
110
+ # Replace this:
111
+ # kensho-kfinance = "~2.0.1"
112
+ # With this:
113
+ kensho-kfinance = { path = "/absolute/path/to/kfinance", develop = true }
114
+ ```
115
+
116
+ The `develop = true` flag ensures that the package always matches your local version without requiring reinstallation after changes.
117
+
118
+ 2. Update your project's dependencies:
119
+
120
+ ```bash
121
+ poetry update # Update poetry.lock with new changes
122
+ poetry install # Install dependencies with updated configuration
123
+ ```
124
+
125
+ If you encounter the error "your pyproject.toml file has significantly changed", run:
126
+
127
+ ```bash
128
+ poetry lock # Sync the changes to poetry.lock
129
+ ```
130
+
99
131
  # Versioning
132
+
100
133
  The kFinance uses semantic versioning (major, minor, patch).
101
134
  To bump the version, add a new entry in [CHANGELOG.md](kfinance%2FCHANGELOG.md).
102
135
  This will generate a new version of the library as part of the release process.
@@ -21,11 +21,11 @@ Once access is obtained, get started using the [Authentication Guide](https://do
21
21
  To get started, we provide some notebooks:
22
22
 
23
23
  - The [LLM-ready API Basic Usage](example_notebooks%2Fbasic_usage.ipynb) notebook demonstrates how
24
- fetch data with the kFinance client.
24
+ fetch data with the kFinance client.
25
25
  - The [tool_calling notebooks](example_notebooks%2Ftool_calling) show how the kFinance library can
26
- be used for tool calling. We provide notebooks for OpenAI (GPT), Anthropic (Claude), and Google
26
+ be used for tool calling. We provide notebooks for OpenAI (GPT), Anthropic (Claude), and Google
27
27
  (Gemini). Each of these integrations comes in a langchain version, which uses langchain as a
28
- wrapper to simplify the integration, and as a lower level non-langchain version.
28
+ wrapper to simplify the integration, and as a lower level non-langchain version.
29
29
 
30
30
  We also provide an [interactive notebook](example_notebooks/basic_usage.ipynb) that demonstrates some usage examples.
31
31
 
@@ -42,15 +42,48 @@ The server's full signature is as follows:
42
42
  `kfinance.mcp [--stdio,-s]/[--sse, ] --refresh-token <refresh-token> --client-id <client-id> --private-key <private-key>`
43
43
 
44
44
  Authentication Methods (in order of precedence):
45
+
45
46
  1. Refresh Token: Uses an existing refresh token for authentication. The `--refresh-token <refresh-token>` argument must be provided.
46
47
  2. Key Pair: Uses client ID and private key for authentication. Both the `--client-id <client-id>` and `--private-key <private-key>` arguments must be provided.
47
48
  3. Browser: Falls back to browser-based authentication flow. This occurs if no auth arguments are provided.
48
49
 
49
50
  Transport Layers:
51
+
50
52
  - stdio can be set by passing either `--stdio` or `-s`
51
53
  - sse can be set by passing `--sse` or no other transport related flag
52
54
 
55
+ # Development
56
+
57
+ ## Working with Local Package Version
58
+
59
+ If you need to develop using a local version of the kFinance package in another project that uses [poetry](https://python-poetry.org/) for package and dependency management, follow these steps:
60
+
61
+ 1. In your dependent project's `pyproject.toml`, replace the kFinance package version specification:
62
+
63
+ ```toml
64
+ # Replace this:
65
+ # kensho-kfinance = "~2.0.1"
66
+ # With this:
67
+ kensho-kfinance = { path = "/absolute/path/to/kfinance", develop = true }
68
+ ```
69
+
70
+ The `develop = true` flag ensures that the package always matches your local version without requiring reinstallation after changes.
71
+
72
+ 2. Update your project's dependencies:
73
+
74
+ ```bash
75
+ poetry update # Update poetry.lock with new changes
76
+ poetry install # Install dependencies with updated configuration
77
+ ```
78
+
79
+ If you encounter the error "your pyproject.toml file has significantly changed", run:
80
+
81
+ ```bash
82
+ poetry lock # Sync the changes to poetry.lock
83
+ ```
84
+
53
85
  # Versioning
86
+
54
87
  The kFinance uses semantic versioning (major, minor, patch).
55
88
  To bump the version, add a new entry in [CHANGELOG.md](kfinance%2FCHANGELOG.md).
56
89
  This will generate a new version of the library as part of the release process.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kensho-kfinance
3
- Version: 2.6.1
3
+ Version: 2.6.2
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
@@ -27,7 +27,7 @@ Requires-Dist: strenum>=0.4.15
27
27
  Requires-Dist: tabulate>=0.9.0
28
28
  Requires-Dist: types-requests<3,>=2.22.0
29
29
  Requires-Dist: requests<3,>=2.22.0
30
- Requires-Dist: urllib3>=1.21.1
30
+ Requires-Dist: urllib3>=2.5
31
31
  Provides-Extra: dev
32
32
  Requires-Dist: coverage<8,>=7.6.10; extra == "dev"
33
33
  Requires-Dist: ipykernel<7,>=6.29; extra == "dev"
@@ -67,11 +67,11 @@ Once access is obtained, get started using the [Authentication Guide](https://do
67
67
  To get started, we provide some notebooks:
68
68
 
69
69
  - The [LLM-ready API Basic Usage](example_notebooks%2Fbasic_usage.ipynb) notebook demonstrates how
70
- fetch data with the kFinance client.
70
+ fetch data with the kFinance client.
71
71
  - The [tool_calling notebooks](example_notebooks%2Ftool_calling) show how the kFinance library can
72
- be used for tool calling. We provide notebooks for OpenAI (GPT), Anthropic (Claude), and Google
72
+ be used for tool calling. We provide notebooks for OpenAI (GPT), Anthropic (Claude), and Google
73
73
  (Gemini). Each of these integrations comes in a langchain version, which uses langchain as a
74
- wrapper to simplify the integration, and as a lower level non-langchain version.
74
+ wrapper to simplify the integration, and as a lower level non-langchain version.
75
75
 
76
76
  We also provide an [interactive notebook](example_notebooks/basic_usage.ipynb) that demonstrates some usage examples.
77
77
 
@@ -88,15 +88,48 @@ The server's full signature is as follows:
88
88
  `kfinance.mcp [--stdio,-s]/[--sse, ] --refresh-token <refresh-token> --client-id <client-id> --private-key <private-key>`
89
89
 
90
90
  Authentication Methods (in order of precedence):
91
+
91
92
  1. Refresh Token: Uses an existing refresh token for authentication. The `--refresh-token <refresh-token>` argument must be provided.
92
93
  2. Key Pair: Uses client ID and private key for authentication. Both the `--client-id <client-id>` and `--private-key <private-key>` arguments must be provided.
93
94
  3. Browser: Falls back to browser-based authentication flow. This occurs if no auth arguments are provided.
94
95
 
95
96
  Transport Layers:
97
+
96
98
  - stdio can be set by passing either `--stdio` or `-s`
97
99
  - sse can be set by passing `--sse` or no other transport related flag
98
100
 
101
+ # Development
102
+
103
+ ## Working with Local Package Version
104
+
105
+ If you need to develop using a local version of the kFinance package in another project that uses [poetry](https://python-poetry.org/) for package and dependency management, follow these steps:
106
+
107
+ 1. In your dependent project's `pyproject.toml`, replace the kFinance package version specification:
108
+
109
+ ```toml
110
+ # Replace this:
111
+ # kensho-kfinance = "~2.0.1"
112
+ # With this:
113
+ kensho-kfinance = { path = "/absolute/path/to/kfinance", develop = true }
114
+ ```
115
+
116
+ The `develop = true` flag ensures that the package always matches your local version without requiring reinstallation after changes.
117
+
118
+ 2. Update your project's dependencies:
119
+
120
+ ```bash
121
+ poetry update # Update poetry.lock with new changes
122
+ poetry install # Install dependencies with updated configuration
123
+ ```
124
+
125
+ If you encounter the error "your pyproject.toml file has significantly changed", run:
126
+
127
+ ```bash
128
+ poetry lock # Sync the changes to poetry.lock
129
+ ```
130
+
99
131
  # Versioning
132
+
100
133
  The kFinance uses semantic versioning (major, minor, patch).
101
134
  To bump the version, add a new entry in [CHANGELOG.md](kfinance%2FCHANGELOG.md).
102
135
  This will generate a new version of the library as part of the release process.
@@ -13,7 +13,7 @@ strenum>=0.4.15
13
13
  tabulate>=0.9.0
14
14
  types-requests<3,>=2.22.0
15
15
  requests<3,>=2.22.0
16
- urllib3>=1.21.1
16
+ urllib3>=2.5
17
17
 
18
18
  [dev]
19
19
  coverage<8,>=7.6.10
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ # v2.6.3
4
+ - Bump urllib3 to 2.5 to address CVEs
5
+
6
+ ## v2.6.2
7
+ - Safely check for incomplete merger information
8
+
3
9
  ## v2.6.1
4
10
  - Remove get_earnings_call_datetimes_from_identifier tool
5
11
 
@@ -1279,11 +1279,17 @@ class MergerOrAcquisition:
1279
1279
  """Property for the combined information in the merger."""
1280
1280
  if not self._merger_info:
1281
1281
  self._merger_info = self.kfinance_api_client.fetch_merger_info(self.transaction_id)
1282
- timeline = pd.DataFrame(self.merger_info["timeline"])
1283
- timeline["date"] = pd.to_datetime(timeline["date"])
1284
- self._merger_info["timeline"] = timeline
1285
- details = pd.DataFrame(self.merger_info["consideration"]["details"])
1286
- self._merger_info["consideration"]["details"] = details
1282
+ if "timeline" in self._merger_info and self._merger_info["timeline"]:
1283
+ timeline = pd.DataFrame(self._merger_info["timeline"])
1284
+ timeline["date"] = pd.to_datetime(timeline["date"])
1285
+ self._merger_info["timeline"] = timeline
1286
+ if (
1287
+ "consideration" in self._merger_info
1288
+ and self._merger_info["consideration"]
1289
+ and "details" in self._merger_info["consideration"]
1290
+ ):
1291
+ details = pd.DataFrame(self._merger_info["consideration"]["details"])
1292
+ self._merger_info["consideration"]["details"] = details
1287
1293
  return self._merger_info
1288
1294
 
1289
1295
  @property
@@ -31,7 +31,9 @@ class GetMergerInfoFromTransactionId(KfinanceTool):
31
31
  "timeline": [
32
32
  {"status": timeline["status"], "date": timeline["date"].strftime("%Y-%m-%d")}
33
33
  for timeline in merger_timeline.to_dict(orient="records")
34
- ],
34
+ ]
35
+ if merger_timeline is not None
36
+ else None,
35
37
  "participants": {
36
38
  "target": {
37
39
  "company_id": merger_participants["target"].company_id,
@@ -45,7 +47,9 @@ class GetMergerInfoFromTransactionId(KfinanceTool):
45
47
  {"company_id": seller.company_id, "company_name": seller.name}
46
48
  for seller in merger_participants["sellers"]
47
49
  ],
48
- },
50
+ }
51
+ if merger_participants is not None
52
+ else None,
49
53
  "consideration": {
50
54
  "currency_name": merger_consideration["currency_name"],
51
55
  "current_calculated_gross_total_transaction_value": merger_consideration[
@@ -58,5 +62,7 @@ class GetMergerInfoFromTransactionId(KfinanceTool):
58
62
  "current_calculated_implied_enterprise_value"
59
63
  ],
60
64
  "details": merger_consideration["details"].to_dict(orient="records"),
61
- },
65
+ }
66
+ if merger_consideration is not None
67
+ else None,
62
68
  }
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.6.1'
21
- __version_tuple__ = version_tuple = (2, 6, 1)
20
+ __version__ = version = '2.6.2'
21
+ __version_tuple__ = version_tuple = (2, 6, 2)
@@ -33,7 +33,7 @@ dependencies = [
33
33
  "tabulate>=0.9.0", # required for turning dataframes into markdown
34
34
  "types-requests>=2.22.0,<3",
35
35
  "requests>=2.22.0,<3",
36
- "urllib3>=1.21.1",
36
+ "urllib3>=2.5",
37
37
  ]
38
38
 
39
39
  [project.optional-dependencies]
File without changes