From b08a6cab601374900c7c23c39e5adf416653075d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 25 May 2024 23:37:36 -0400 Subject: [PATCH 01/49] Update tiingo from 0.14.0 to 0.15.6 --- binder/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/binder/requirements.txt b/binder/requirements.txt index 05f56ee..32a210d 100644 --- a/binder/requirements.txt +++ b/binder/requirements.txt @@ -1,5 +1,5 @@ # This file is used by mybinder.org to power the runnable examples. -tiingo==0.14.0 +tiingo==0.15.6 # You technically don't have to use tiingo with pandas, but # we included it since most data analysts will have it installed already. From fb5b6f1d3c6e3122fdc90dfbe92772e95582a046 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 25 May 2024 23:37:37 -0400 Subject: [PATCH 02/49] Update tiingo from 0.14.0 to 0.15.6 --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index da65496..d7086ba 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1 +1 @@ -tiingo==0.14.0 +tiingo==0.15.6 From 7dac3b410c093c9d02aa7efe156b83cbee12abea Mon Sep 17 00:00:00 2001 From: Cameron Yick Date: Sun, 26 May 2024 01:21:34 -0400 Subject: [PATCH 03/49] build: initialize readthedocs config file to fix docs site --- .readthedocs.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .readthedocs.yaml diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..5399958 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,27 @@ +# Read the Docs configuration file for Sphinx projects +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the OS, Python version and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.12" + +# Build documentation in the "docs/" directory with Sphinx +sphinx: + configuration: docs/conf.py + # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs + # builder: "dirhtml" + # Fail on all warnings to avoid broken references + # fail_on_warning: true + + +# Optional but recommended, declare the Python requirements required +# to build your documentation +# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html +python: + install: + - requirements: docs/requirements.txt From b5ab3c0dd5aa340b4d6ca791030a7b6e473bbb35 Mon Sep 17 00:00:00 2001 From: Cameron Yick Date: Sun, 26 May 2024 01:22:17 -0400 Subject: [PATCH 04/49] docs: add readthedocs entry to changelog --- HISTORY.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/HISTORY.rst b/HISTORY.rst index 10e1e87..3f010f5 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -4,6 +4,8 @@ History 0.16.0 (2024-XX - Unreleased) -------------------------------- +* Dev: New config for readthedocs + 0.15.6 (2024-05-25) -------------------------------- From 5d5a30d596a62a6baffd030d9e8f4b6b874185fa Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 5 Jun 2024 01:36:23 +0200 Subject: [PATCH 05/49] Update cryptography from 42.0.7 to 42.0.8 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 350b526..828fd59 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -5,7 +5,7 @@ watchdog==4.0.1 flake8==7.0.0 tox==4.15.0 coverage==7.5.1 -cryptography==42.0.7 +cryptography==42.0.8 Sphinx==7.3.7 PyYAML==6.0.1 pytest==8.2.1 From c3672575781fd7e185223a444d80fe3cf3e7d7b5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 16 Jun 2024 04:45:45 -0400 Subject: [PATCH 06/49] Update flake8 from 7.0.0 to 7.1.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 828fd59..a4a3ca9 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -2,7 +2,7 @@ pip==24.0 bumpversion==0.6.0 wheel==0.43.0 watchdog==4.0.1 -flake8==7.0.0 +flake8==7.1.0 tox==4.15.0 coverage==7.5.1 cryptography==42.0.8 From e3785ab47cb1b380b3b0b48b4bb89d0fbe0f95d5 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 26 Jun 2024 15:00:07 -0400 Subject: [PATCH 07/49] Update twine from 5.1.0 to 5.1.1 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 828fd59..93ea2e6 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -10,5 +10,5 @@ Sphinx==7.3.7 PyYAML==6.0.1 pytest==8.2.1 vcrpy==2.1.1 -twine==5.1.0 +twine==5.1.1 black==24.4.0 From db08acbc5f4b80870ca0f121ef490572e55f5d6d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 3 Jul 2024 03:16:25 -0400 Subject: [PATCH 08/49] Update tox from 4.15.0 to 4.16.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 828fd59..cd3c101 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -3,7 +3,7 @@ bumpversion==0.6.0 wheel==0.43.0 watchdog==4.0.1 flake8==7.0.0 -tox==4.15.0 +tox==4.16.0 coverage==7.5.1 cryptography==42.0.8 Sphinx==7.3.7 From c2f42378a85b72401da970eb1e75a375c20646b9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 11 Jul 2024 22:13:59 -0400 Subject: [PATCH 09/49] Update coverage from 7.5.1 to 7.6.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 828fd59..467ad08 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -4,7 +4,7 @@ wheel==0.43.0 watchdog==4.0.1 flake8==7.0.0 tox==4.15.0 -coverage==7.5.1 +coverage==7.6.0 cryptography==42.0.8 Sphinx==7.3.7 PyYAML==6.0.1 From 547dc564e5fc38ff902d7f05f199add0947e6755 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 25 Jul 2024 16:31:32 -0400 Subject: [PATCH 10/49] Update pytest from 8.2.1 to 8.3.2 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 828fd59..49ab5d2 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -8,7 +8,7 @@ coverage==7.5.1 cryptography==42.0.8 Sphinx==7.3.7 PyYAML==6.0.1 -pytest==8.2.1 +pytest==8.3.2 vcrpy==2.1.1 twine==5.1.0 black==24.4.0 From 7a27136e816beb57aba6ac0ac811db64be2a70c3 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 2 Aug 2024 17:12:41 -0400 Subject: [PATCH 11/49] Update black from 24.4.0 to 24.8.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 6e0a5da..1274070 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -11,4 +11,4 @@ PyYAML==6.0.1 pytest==8.3.2 vcrpy==2.1.1 twine==5.1.1 -black==24.4.0 +black==24.8.0 From 27fcae35ca5594a9ead91fc83b5b97662dda5a49 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 4 Aug 2024 15:52:27 -0400 Subject: [PATCH 12/49] Update wheel from 0.43.0 to 0.44.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 1274070..e6def9c 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,6 +1,6 @@ pip==24.0 bumpversion==0.6.0 -wheel==0.43.0 +wheel==0.44.0 watchdog==4.0.1 flake8==7.0.0 tox==4.16.0 From 02ac0f06113632f4353258a27e584ee4c4756e9f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 6 Aug 2024 20:54:08 -0400 Subject: [PATCH 13/49] Update pyyaml from 6.0.1 to 6.0.2 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 1274070..125555b 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -7,7 +7,7 @@ tox==4.16.0 coverage==7.6.0 cryptography==42.0.8 Sphinx==7.3.7 -PyYAML==6.0.1 +PyYAML==6.0.2 pytest==8.3.2 vcrpy==2.1.1 twine==5.1.1 From 249190411614d6a7a96e541cc9462219fb6ab3cb Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 4 Sep 2024 02:50:41 -0400 Subject: [PATCH 14/49] Update watchdog from 4.0.1 to 5.0.2 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 1274070..b4a67c4 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,7 +1,7 @@ pip==24.0 bumpversion==0.6.0 wheel==0.43.0 -watchdog==4.0.1 +watchdog==5.0.2 flake8==7.0.0 tox==4.16.0 coverage==7.6.0 From 041ac235f4d4a2890ab7a06e68b533ad6c2be303 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 4 Sep 2024 02:50:47 -0400 Subject: [PATCH 15/49] Update cryptography from 42.0.8 to 43.0.1 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 1274070..c383228 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -5,7 +5,7 @@ watchdog==4.0.1 flake8==7.0.0 tox==4.16.0 coverage==7.6.0 -cryptography==42.0.8 +cryptography==43.0.1 Sphinx==7.3.7 PyYAML==6.0.1 pytest==8.3.2 From 534f06bc60a565fcf083574fce007c3acf16b1a9 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 8 Sep 2024 17:18:00 -0400 Subject: [PATCH 16/49] Update flake8 from 7.1.0 to 7.1.1 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 09cffbe..70808d9 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -2,7 +2,7 @@ pip==24.0 bumpversion==0.6.0 wheel==0.43.0 watchdog==4.0.1 -flake8==7.1.0 +flake8==7.1.1 tox==4.16.0 coverage==7.6.0 cryptography==43.0.1 From 77b9b9364a01c7150186596db01c290c85d6f4fa Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Tue, 10 Sep 2024 16:26:30 -0400 Subject: [PATCH 17/49] Update pytest from 8.3.2 to 8.3.3 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 882416b..703d157 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -8,7 +8,7 @@ coverage==7.6.0 cryptography==43.0.1 Sphinx==7.3.7 PyYAML==6.0.1 -pytest==8.3.2 +pytest==8.3.3 vcrpy==2.1.1 twine==5.1.1 black==24.8.0 From 11b7532e2ae9c1800d7fea37862dbd50ab08d865 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 19 Sep 2024 06:21:24 -0400 Subject: [PATCH 18/49] Update tox from 4.16.0 to 4.20.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 882416b..78ed10c 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -3,7 +3,7 @@ bumpversion==0.6.0 wheel==0.43.0 watchdog==5.0.2 flake8==7.1.0 -tox==4.16.0 +tox==4.20.0 coverage==7.6.0 cryptography==43.0.1 Sphinx==7.3.7 From 715ed7e71b23e1ec772f43a9b4dc84fb68269d90 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 27 Sep 2024 17:11:36 -0400 Subject: [PATCH 19/49] Update watchdog from 5.0.2 to 5.0.3 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 7f3b93c..434c4c4 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,7 +1,7 @@ pip==24.0 bumpversion==0.6.0 wheel==0.44.0 -watchdog==5.0.2 +watchdog==5.0.3 flake8==7.1.0 tox==4.20.0 coverage==7.6.0 From 4498a82358bcc278985b89c22163320945d90c61 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 7 Oct 2024 17:13:08 -0400 Subject: [PATCH 20/49] Update black from 24.8.0 to 24.10.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 30ea5ba..a250381 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -11,4 +11,4 @@ PyYAML==6.0.2 pytest==8.3.3 vcrpy==2.1.1 twine==5.1.1 -black==24.8.0 +black==24.10.0 From ed0eeca04bf1eeba3da94ca1ae1ff5d532deb8eb Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 13 Oct 2024 23:08:05 -0400 Subject: [PATCH 21/49] Update coverage from 7.6.0 to 7.6.3 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 30ea5ba..b7ea033 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -4,7 +4,7 @@ wheel==0.44.0 watchdog==5.0.3 flake8==7.1.1 tox==4.20.0 -coverage==7.6.0 +coverage==7.6.3 cryptography==43.0.1 Sphinx==7.3.7 PyYAML==6.0.2 From 574c3714d31935d8f3742524433c24c3e9da2ac8 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 13 Oct 2024 23:08:09 -0400 Subject: [PATCH 22/49] Update sphinx from 7.3.7 to 8.1.3 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 30ea5ba..26a5c38 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -6,7 +6,7 @@ flake8==7.1.1 tox==4.20.0 coverage==7.6.0 cryptography==43.0.1 -Sphinx==7.3.7 +Sphinx==8.1.3 PyYAML==6.0.2 pytest==8.3.3 vcrpy==2.1.1 From 18cd0544078394edc0832128f1ec11a9eeaa2e4d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Thu, 17 Oct 2024 06:14:54 -0400 Subject: [PATCH 23/49] Update tox from 4.20.0 to 4.23.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 30ea5ba..80e0305 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -3,7 +3,7 @@ bumpversion==0.6.0 wheel==0.44.0 watchdog==5.0.3 flake8==7.1.1 -tox==4.20.0 +tox==4.23.0 coverage==7.6.0 cryptography==43.0.1 Sphinx==7.3.7 From 38ed5e73865f1f339329f1c674015ec4295e4766 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 18 Oct 2024 15:28:25 -0400 Subject: [PATCH 24/49] Update cryptography from 43.0.1 to 43.0.3 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 30ea5ba..0ee4ccf 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -5,7 +5,7 @@ watchdog==5.0.3 flake8==7.1.1 tox==4.20.0 coverage==7.6.0 -cryptography==43.0.1 +cryptography==43.0.3 Sphinx==7.3.7 PyYAML==6.0.2 pytest==8.3.3 From d0d449c7a6eb1f8333051e1078c5768d6ee66edf Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Mon, 21 Oct 2024 04:04:31 -0400 Subject: [PATCH 25/49] Update coverage from 7.6.3 to 7.6.4 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 4ad26e3..4e25e8e 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -4,7 +4,7 @@ wheel==0.44.0 watchdog==5.0.3 flake8==7.1.1 tox==4.23.0 -coverage==7.6.3 +coverage==7.6.4 cryptography==43.0.3 Sphinx==8.1.3 PyYAML==6.0.2 From d3ce9e6f3974a11cf1f56648bc1c495010493e1d Mon Sep 17 00:00:00 2001 From: BloodyHell Date: Tue, 22 Oct 2024 20:02:27 +0200 Subject: [PATCH 26/49] Add columns as parameter to get_dataframe Allow the user to specify which columns to retrieve --- tiingo/api.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tiingo/api.py b/tiingo/api.py index 11f647c..5ca3862 100644 --- a/tiingo/api.py +++ b/tiingo/api.py @@ -262,6 +262,7 @@ def get_dataframe( startDate=None, endDate=None, metric_name=None, + columns=None, frequency="daily", fmt="json", ): @@ -278,6 +279,7 @@ def get_dataframe( tickers (string/list): One or more unique identifiers for a stock ticker. startDate (string): Start of ticker range in YYYY-MM-DD format. endDate (string): End of ticker range in YYYY-MM-DD format. + columns (string): Comma seperated parameter specifying which columns to retrieve (to include volume) metric_name (string): Optional parameter specifying metric to be returned for each ticker. In the event of a single ticker, this is optional and if not specified all of the available data will be returned. In the event of a list of tickers, @@ -315,6 +317,8 @@ def get_dataframe( params["startDate"] = startDate if endDate: params["endDate"] = endDate + if columns: + params["columns"] = columns if pandas_is_installed: if type(tickers) is str: From 80b40c5be55819f096ee46b72e196ef5bb7b23c5 Mon Sep 17 00:00:00 2001 From: BloodyHell Date: Tue, 22 Oct 2024 20:06:41 +0200 Subject: [PATCH 27/49] Update HISTORY.rst --- HISTORY.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/HISTORY.rst b/HISTORY.rst index 3f010f5..a8fc461 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -5,6 +5,7 @@ History -------------------------------- * Dev: New config for readthedocs +* Feature: Add 'columns' parameter to 'get_dataframe' func (#1057) 0.15.6 (2024-05-25) -------------------------------- From 6b53725dcac65a26c5c1ca2b9c15a2d395ee896b Mon Sep 17 00:00:00 2001 From: Koen werklaptop Date: Wed, 23 Oct 2024 21:27:02 +0200 Subject: [PATCH 28/49] Add columns param to get_ticker_price, including tests --- .../ticker_price_with_multiple_columns.yaml | 27 +++++++++++++++ .../ticker_price_with_volume_column.yaml | 27 +++++++++++++++ tests/test_tiingo.py | 34 +++++++++++++++++-- tests/test_tiingo_pandas.py | 18 ++++++++++ tiingo/api.py | 7 ++-- 5 files changed, 109 insertions(+), 4 deletions(-) create mode 100644 tests/fixtures/ticker_price_with_multiple_columns.yaml create mode 100644 tests/fixtures/ticker_price_with_volume_column.yaml diff --git a/tests/fixtures/ticker_price_with_multiple_columns.yaml b/tests/fixtures/ticker_price_with_multiple_columns.yaml new file mode 100644 index 0000000..352cc78 --- /dev/null +++ b/tests/fixtures/ticker_price_with_multiple_columns.yaml @@ -0,0 +1,27 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Token 0000000000000000000000000000000000000000] + Connection: [keep-alive] + Content-Type: [application/json] + User-Agent: [tiingo-python-client 0.5.0] + method: GET + uri: https://api.tiingo.com/tiingo/daily/GOOGL/prices?format=json&resampleFreq=daily&columns=open,high,low,close,volume + response: + body: {string: '[{"close":165.14,"date":"2024-10-22T00:00:00+00:00","high":165.77,"low":162.98,"open":162.98,"volume":16568121}]'} + headers: + Allow: ['GET, HEAD, OPTIONS'] + Content-Length: ['1982'] + Content-Type: [application/json] + Date: ['Wed, 23 Oct 2024 02:42:06 GMT'] + Server: [nginx/1.10.1] + Vary: ['Accept, Cookie'] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +version: 1 + + + diff --git a/tests/fixtures/ticker_price_with_volume_column.yaml b/tests/fixtures/ticker_price_with_volume_column.yaml new file mode 100644 index 0000000..fe8f1a7 --- /dev/null +++ b/tests/fixtures/ticker_price_with_volume_column.yaml @@ -0,0 +1,27 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Token 0000000000000000000000000000000000000000] + Connection: [keep-alive] + Content-Type: [application/json] + User-Agent: [tiingo-python-client 0.5.0] + method: GET + uri: https://api.tiingo.com/tiingo/daily/GOOGL/prices?format=json&resampleFreq=daily&columns=volume + response: + body: {string: '[{"date":"2024-10-22T00:00:00+00:00","volume":16568121}]'} + headers: + Allow: ['GET, HEAD, OPTIONS'] + Content-Length: ['1001'] + Content-Type: [application/json] + Date: ['Wed, 23 Oct 2024 02:42:06 GMT'] + Server: [nginx/1.10.1] + Vary: ['Accept, Cookie'] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +version: 1 + + + diff --git a/tests/test_tiingo.py b/tests/test_tiingo.py index 5500141..2cf4c65 100644 --- a/tests/test_tiingo.py +++ b/tests/test_tiingo.py @@ -55,7 +55,7 @@ def test_ticker_metadata(self): def test_ticker_metadata_as_object(self): metadata = self._client.get_ticker_metadata("GOOGL", fmt="object") assert metadata.ticker == "GOOGL" # Access property via ATTRIBUTE - assert metadata.name # (contrast with key access above + assert metadata.name # (contrast with key access above @vcr.use_cassette('tests/fixtures/ticker_price.yaml') def test_ticker_price(self): @@ -68,7 +68,7 @@ def test_ticker_price(self): def test_ticker_price(self): """Test that weekly frequency works""" prices = self._client.get_ticker_price("GOOGL", startDate='2018-01-05', - endDate='2018-01-19', frequency='weekly') + endDate='2018-01-19', frequency='weekly') assert len(prices) == 3 assert prices[0].get('adjClose') @@ -98,6 +98,34 @@ def test_ticker_price_with_csv(self): rows = list(reader) assert len(rows) > 2 # more than 1 day of data + @vcr.use_cassette('tests/fixtures/ticker_price_with_volume_column.yaml') + def test_ticker_price_with_volume_column(self): + """Confirm that CSV endpoint works""" + prices = self._client.get_ticker_price("GOOGL", + columns="volume", + fmt='json') + assert len(prices) == 1 + assert prices[0].get('date') + assert not prices[0].get('high') + assert not prices[0].get('low') + assert not prices[0].get('open') + assert not prices[0].get('close') + assert prices[0].get('volume') + + @vcr.use_cassette('tests/fixtures/ticker_price_with_multiple_columns.yaml') + def test_ticker_price_with_multiple_columns(self): + """Confirm that CSV endpoint works""" + prices = self._client.get_ticker_price("GOOGL", + columns="open,high,low,close,volume", + fmt='json') + assert len(prices) == 1 + assert prices[0].get('date') + assert prices[0].get('high') + assert prices[0].get('low') + assert prices[0].get('open') + assert prices[0].get('close') + assert prices[0].get('volume') + @vcr.use_cassette('tests/fixtures/intraday_price.yaml') def test_intraday_ticker_price(self): """Test the EOD Prices Endpoint with data param""" @@ -149,6 +177,7 @@ def test_invalid_frequency_error(self): endDate="2018-01-02", frequency="1.5mins") + # tiingo/news class TestNews(TestCase): @@ -227,6 +256,7 @@ def test_news_bulk_as_objects(self): with self.assertRaises(RestClientError): assert self._client.get_bulk_news(file_id="1", fmt="object") + # FUNDAMENTALS ENDPOINTS class TestFundamentals(TestCase): diff --git a/tests/test_tiingo_pandas.py b/tests/test_tiingo_pandas.py index add9731..da7b9d4 100644 --- a/tests/test_tiingo_pandas.py +++ b/tests/test_tiingo_pandas.py @@ -114,6 +114,24 @@ def test_intraday_ticker_price(self): frequency="30Min") self.assertGreater(len(prices), 1) + @vcr.use_cassette('tests/fixtures/ticker_price_with_volume_column.yaml') + def test_get_dataframe_with_volume_column(self): + """Confirm that CSV endpoint works""" + prices = self._client.get_dataframe("GOOGL", + columns="volume", + fmt='json') + assert len(prices) == 1 + assert len(prices.columns) == 2 + + @vcr.use_cassette('tests/fixtures/ticker_price_with_multiple_columns.yaml') + def test_get_dataframe_with_multiple_columns(self): + """Confirm that CSV endpoint works""" + prices = self._client.get_dataframe("GOOGL", + columns="open,high,low,close,volume", + fmt='json') + assert len(prices) == 1 + assert len(prices.columns) == 6 + def test_metric_name_column_error(self): with self.assertRaises(APIColumnNameError): self._client.get_dataframe(['GOOGL', 'AAPL'], startDate='2018-01-05', diff --git a/tiingo/api.py b/tiingo/api.py index 5ca3862..8c157fa 100644 --- a/tiingo/api.py +++ b/tiingo/api.py @@ -219,7 +219,7 @@ def _request_pandas(self, ticker, metric_name, params): return prices def get_ticker_price( - self, ticker, startDate=None, endDate=None, fmt="json", frequency="daily" + self, ticker, startDate=None, endDate=None, columns=None, fmt="json", frequency="daily" ): """By default, return latest EOD Composite Price for a stock ticker. On average, each feed contains 3 data sources. @@ -231,6 +231,7 @@ def get_ticker_price( ticker (string): Unique identifier for stock ticker startDate (string): Start of ticker range in YYYY-MM-DD format endDate (string): End of ticker range in YYYY-MM-DD format + columns (string): Comma separated parameter specifying which columns to retrieve (to include volume) fmt (string): 'csv' or 'json' frequency (string): Resample frequency """ @@ -244,6 +245,8 @@ def get_ticker_price( params["startDate"] = startDate if endDate: params["endDate"] = endDate + if columns: + params["columns"] = columns # TODO: evaluate whether to stream CSV to cache on disk, or # load as array in memory, or just pass plain text @@ -279,7 +282,7 @@ def get_dataframe( tickers (string/list): One or more unique identifiers for a stock ticker. startDate (string): Start of ticker range in YYYY-MM-DD format. endDate (string): End of ticker range in YYYY-MM-DD format. - columns (string): Comma seperated parameter specifying which columns to retrieve (to include volume) + columns (string): Comma separated parameter specifying which columns to retrieve (to include volume) metric_name (string): Optional parameter specifying metric to be returned for each ticker. In the event of a single ticker, this is optional and if not specified all of the available data will be returned. In the event of a list of tickers, From 013ee37c90ca620362ab2f92a9308f0e5cfda1bb Mon Sep 17 00:00:00 2001 From: Koen werklaptop Date: Wed, 23 Oct 2024 21:38:05 +0200 Subject: [PATCH 29/49] Update docstring --- tiingo/api.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tiingo/api.py b/tiingo/api.py index 8c157fa..0dcc51a 100644 --- a/tiingo/api.py +++ b/tiingo/api.py @@ -231,7 +231,8 @@ def get_ticker_price( ticker (string): Unique identifier for stock ticker startDate (string): Start of ticker range in YYYY-MM-DD format endDate (string): End of ticker range in YYYY-MM-DD format - columns (string): Comma separated parameter specifying which columns to retrieve (to include volume) + columns (string): Optional comma separated parameter specifying which columns to retrieve. + By default, 'date', 'open', 'close', 'high' and 'low' are retrieved. 'volume' is an extra option. fmt (string): 'csv' or 'json' frequency (string): Resample frequency """ @@ -282,7 +283,8 @@ def get_dataframe( tickers (string/list): One or more unique identifiers for a stock ticker. startDate (string): Start of ticker range in YYYY-MM-DD format. endDate (string): End of ticker range in YYYY-MM-DD format. - columns (string): Comma separated parameter specifying which columns to retrieve (to include volume) + columns (string): Optional comma separated parameter specifying which columns to retrieve. + By default, 'date', 'open', 'close', 'high' and 'low' are retrieved. 'volume' is an extra option. metric_name (string): Optional parameter specifying metric to be returned for each ticker. In the event of a single ticker, this is optional and if not specified all of the available data will be returned. In the event of a list of tickers, From 73cded3c44cd893458fe1235792dccf40a88c134 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 27 Oct 2024 19:08:10 -0400 Subject: [PATCH 30/49] Update pip from 24.0 to 24.3.1 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 4ad26e3..5b9c619 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,4 +1,4 @@ -pip==24.0 +pip==24.3.1 bumpversion==0.6.0 wheel==0.44.0 watchdog==5.0.3 From 9277e3363bc94046d69957065ca4072575f37e4f Mon Sep 17 00:00:00 2001 From: Koen werklaptop Date: Mon, 28 Oct 2024 20:54:33 +0100 Subject: [PATCH 31/49] Expand HISTORY.rst entry for 'columns' param --- HISTORY.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HISTORY.rst b/HISTORY.rst index a8fc461..d05389e 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -5,7 +5,7 @@ History -------------------------------- * Dev: New config for readthedocs -* Feature: Add 'columns' parameter to 'get_dataframe' func (#1057) +* Feature: Add 'columns' parameter to 'get_dataframe' and 'get_ticker_price' func (#1057) 0.15.6 (2024-05-25) -------------------------------- From 355c2812ffe8db9ee8a608be140fd96c90c2bb84 Mon Sep 17 00:00:00 2001 From: Koen werklaptop Date: Mon, 28 Oct 2024 20:54:53 +0100 Subject: [PATCH 32/49] Update test descriptions and simplify some assertions --- tests/test_tiingo.py | 4 ++-- tests/test_tiingo_pandas.py | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/test_tiingo.py b/tests/test_tiingo.py index 2cf4c65..6a6f5cc 100644 --- a/tests/test_tiingo.py +++ b/tests/test_tiingo.py @@ -100,7 +100,7 @@ def test_ticker_price_with_csv(self): @vcr.use_cassette('tests/fixtures/ticker_price_with_volume_column.yaml') def test_ticker_price_with_volume_column(self): - """Confirm that CSV endpoint works""" + """Confirm that requesting a single column works""" prices = self._client.get_ticker_price("GOOGL", columns="volume", fmt='json') @@ -114,7 +114,7 @@ def test_ticker_price_with_volume_column(self): @vcr.use_cassette('tests/fixtures/ticker_price_with_multiple_columns.yaml') def test_ticker_price_with_multiple_columns(self): - """Confirm that CSV endpoint works""" + """Confirm that requesting specific columns works""" prices = self._client.get_ticker_price("GOOGL", columns="open,high,low,close,volume", fmt='json') diff --git a/tests/test_tiingo_pandas.py b/tests/test_tiingo_pandas.py index da7b9d4..8c24ce7 100644 --- a/tests/test_tiingo_pandas.py +++ b/tests/test_tiingo_pandas.py @@ -116,21 +116,23 @@ def test_intraday_ticker_price(self): @vcr.use_cassette('tests/fixtures/ticker_price_with_volume_column.yaml') def test_get_dataframe_with_volume_column(self): - """Confirm that CSV endpoint works""" + """Confirm that requesting a single column works""" + requested_column = "volume" prices = self._client.get_dataframe("GOOGL", - columns="volume", + columns=requested_column, fmt='json') assert len(prices) == 1 - assert len(prices.columns) == 2 + assert len(prices.columns) == len(requested_column) + 1 @vcr.use_cassette('tests/fixtures/ticker_price_with_multiple_columns.yaml') def test_get_dataframe_with_multiple_columns(self): - """Confirm that CSV endpoint works""" + """Confirm that requesting specific columns works""" + requested_columns = "open,high,low,close,volume" prices = self._client.get_dataframe("GOOGL", - columns="open,high,low,close,volume", + columns=requested_columns, fmt='json') assert len(prices) == 1 - assert len(prices.columns) == 6 + assert len(prices.columns) == len(requested_columns.split(",")) + 1 def test_metric_name_column_error(self): with self.assertRaises(APIColumnNameError): From b9c12567c7ac543fe8e9dd607f80c33498e1f9ca Mon Sep 17 00:00:00 2001 From: Koen werklaptop Date: Mon, 28 Oct 2024 21:05:14 +0100 Subject: [PATCH 33/49] Add readme information --- README.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.rst b/README.rst index 66c5cba..ff1ed21 100644 --- a/README.rst +++ b/README.rst @@ -90,6 +90,9 @@ for each function for details.). # Get latest prices, based on 3+ sources as JSON, sampled weekly ticker_price = client.get_ticker_price("GOOGL", frequency="weekly") + # Get 1 min prices, including the "open", "close" and "volume" columns + ticker_price = client.get_ticker_price("GOOGL", frequency="1min", columns="open,close,volume") + # Get historical GOOGL prices from August 2017 as JSON, sampled daily historical_prices = client.get_ticker_price("GOOGL", fmt='json', @@ -154,11 +157,21 @@ To receive results in ``pandas`` format, use the ``get_dataframe()`` method: endDate='2018-05-31') + #Get a pd.DataFrame for a list of symbols for "close" and "volume" columns: + ticker_history = client.get_dataframe(['GOOGL', 'AAPL'], + frequency='weekly', + columns="close,volume" + startDate='2017-01-01', + endDate='2018-05-31') + + You can specify any of the end of day frequencies (daily, weekly, monthly, and annually) or any intraday frequency for both the ``get_ticker_price`` and ``get_dataframe`` methods. Weekly frequencies resample to the end of day on Friday, monthly frequencies resample to the last day of the month, and annually frequencies resample to the end of day on 12-31 of each year. The intraday frequencies are specified using an integer followed by "Min" or "Hour", for example "30Min" or "1Hour". +It's also possible to specify which columns you're interested in, for example: "open", "close", "low", "high" and "volume" (see https://www.tiingo.com/documentation/iex for future columns). + Cryptocurrency ----------------- From 1334fe7c60130540004b0ee40bbecc88f2115b6b Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Fri, 1 Nov 2024 14:29:50 -0400 Subject: [PATCH 34/49] Update watchdog from 5.0.3 to 6.0.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index 4ad26e3..a2fd64a 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,7 +1,7 @@ pip==24.0 bumpversion==0.6.0 wheel==0.44.0 -watchdog==5.0.3 +watchdog==6.0.0 flake8==7.1.1 tox==4.23.0 coverage==7.6.3 From 90c35381abcff7b91d37b2c65903396031c53948 Mon Sep 17 00:00:00 2001 From: Cameron Yick Date: Sat, 2 Nov 2024 16:58:55 -0400 Subject: [PATCH 35/49] docs: use end of day rather than IEX link for supported columns --- README.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index ff1ed21..bb15735 100644 --- a/README.rst +++ b/README.rst @@ -170,7 +170,8 @@ You can specify any of the end of day frequencies (daily, weekly, monthly, and a methods. Weekly frequencies resample to the end of day on Friday, monthly frequencies resample to the last day of the month, and annually frequencies resample to the end of day on 12-31 of each year. The intraday frequencies are specified using an integer followed by "Min" or "Hour", for example "30Min" or "1Hour". -It's also possible to specify which columns you're interested in, for example: "open", "close", "low", "high" and "volume" (see https://www.tiingo.com/documentation/iex for future columns). +It's also possible to specify which columns you're interested in, for example: "open", "close", "low", "high" and "volume" (see `End of Day response docs `_ for future columns). + Cryptocurrency ----------------- From f3b9e34f26b1cad45a8cb953687b3814d0df466b Mon Sep 17 00:00:00 2001 From: Cameron Yick Date: Sat, 2 Nov 2024 17:01:26 -0400 Subject: [PATCH 36/49] fix: apply black formatting --- tiingo/api.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tiingo/api.py b/tiingo/api.py index 0dcc51a..dca1a22 100644 --- a/tiingo/api.py +++ b/tiingo/api.py @@ -219,7 +219,13 @@ def _request_pandas(self, ticker, metric_name, params): return prices def get_ticker_price( - self, ticker, startDate=None, endDate=None, columns=None, fmt="json", frequency="daily" + self, + ticker, + startDate=None, + endDate=None, + columns=None, + fmt="json", + frequency="daily", ): """By default, return latest EOD Composite Price for a stock ticker. On average, each feed contains 3 data sources. From 027bd0d1c6f50ed07fa697a53d2646787a65bbf2 Mon Sep 17 00:00:00 2001 From: Koen werklaptop Date: Sun, 3 Nov 2024 19:32:33 +0100 Subject: [PATCH 37/49] Fix link to docs --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index ff1ed21..df64a84 100644 --- a/README.rst +++ b/README.rst @@ -170,7 +170,7 @@ You can specify any of the end of day frequencies (daily, weekly, monthly, and a methods. Weekly frequencies resample to the end of day on Friday, monthly frequencies resample to the last day of the month, and annually frequencies resample to the end of day on 12-31 of each year. The intraday frequencies are specified using an integer followed by "Min" or "Hour", for example "30Min" or "1Hour". -It's also possible to specify which columns you're interested in, for example: "open", "close", "low", "high" and "volume" (see https://www.tiingo.com/documentation/iex for future columns). +It's also possible to specify which columns you're interested in, for example: "open", "close", "low", "high" and "volume" (see https://www.tiingo.com/documentation/end-of-day for future columns). Cryptocurrency ----------------- From 27e634d807e3eca1e842f929e801c544377542e1 Mon Sep 17 00:00:00 2001 From: Koen werklaptop Date: Sun, 3 Nov 2024 20:01:54 +0100 Subject: [PATCH 38/49] Fix tests --- tests/test_tiingo.py | 4 +++- tests/test_tiingo_pandas.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/test_tiingo.py b/tests/test_tiingo.py index 6a6f5cc..4d56b5f 100644 --- a/tests/test_tiingo.py +++ b/tests/test_tiingo.py @@ -115,10 +115,12 @@ def test_ticker_price_with_volume_column(self): @vcr.use_cassette('tests/fixtures/ticker_price_with_multiple_columns.yaml') def test_ticker_price_with_multiple_columns(self): """Confirm that requesting specific columns works""" + requested_columns = "open,high,low,close,volume" prices = self._client.get_ticker_price("GOOGL", - columns="open,high,low,close,volume", + columns=requested_columns, fmt='json') assert len(prices) == 1 + assert len(prices[0]) == len(requested_columns.split(',')) + 1 assert prices[0].get('date') assert prices[0].get('high') assert prices[0].get('low') diff --git a/tests/test_tiingo_pandas.py b/tests/test_tiingo_pandas.py index 8c24ce7..7e69d73 100644 --- a/tests/test_tiingo_pandas.py +++ b/tests/test_tiingo_pandas.py @@ -132,7 +132,7 @@ def test_get_dataframe_with_multiple_columns(self): columns=requested_columns, fmt='json') assert len(prices) == 1 - assert len(prices.columns) == len(requested_columns.split(",")) + 1 + assert len(prices.columns) == len(requested_columns.split(',')) def test_metric_name_column_error(self): with self.assertRaises(APIColumnNameError): From 803b2a9c5e27fdb5205fc2835fb29ed904e4b783 Mon Sep 17 00:00:00 2001 From: Koen werklaptop Date: Mon, 11 Nov 2024 20:23:29 +0100 Subject: [PATCH 39/49] Fix test_get_dataframe_with_volume_column, don't take the length of the string --- tests/test_tiingo_pandas.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_tiingo_pandas.py b/tests/test_tiingo_pandas.py index 7e69d73..d2d2eae 100644 --- a/tests/test_tiingo_pandas.py +++ b/tests/test_tiingo_pandas.py @@ -122,7 +122,7 @@ def test_get_dataframe_with_volume_column(self): columns=requested_column, fmt='json') assert len(prices) == 1 - assert len(prices.columns) == len(requested_column) + 1 + assert len(prices.columns) == 1 @vcr.use_cassette('tests/fixtures/ticker_price_with_multiple_columns.yaml') def test_get_dataframe_with_multiple_columns(self): From 1a6a47bcf14a86d04d622b64bec60ca2f9283d52 Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sat, 23 Nov 2024 01:04:47 -0500 Subject: [PATCH 40/49] Update wheel from 0.44.0 to 0.45.1 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index c36d894..7d5a859 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,6 +1,6 @@ pip==24.3.1 bumpversion==0.6.0 -wheel==0.44.0 +wheel==0.45.1 watchdog==6.0.0 flake8==7.1.1 tox==4.23.0 From 67892fa3cbd4ae6ff310739a9c1606f6185e1e9f Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 24 Nov 2024 05:09:26 -0500 Subject: [PATCH 41/49] Update coverage from 7.6.4 to 7.6.8 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index c36d894..a5a0abb 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -4,7 +4,7 @@ wheel==0.44.0 watchdog==6.0.0 flake8==7.1.1 tox==4.23.0 -coverage==7.6.4 +coverage==7.6.8 cryptography==43.0.3 Sphinx==8.1.3 PyYAML==6.0.2 From 27494c01e0bd1a0d68a81c154e18ef3003b7de3d Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Wed, 27 Nov 2024 16:33:30 -0500 Subject: [PATCH 42/49] Update cryptography from 43.0.3 to 44.0.0 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index dbf7db9..e861cc4 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -5,7 +5,7 @@ watchdog==6.0.0 flake8==7.1.1 tox==4.23.0 coverage==7.6.8 -cryptography==43.0.3 +cryptography==44.0.0 Sphinx==8.1.3 PyYAML==6.0.2 pytest==8.3.3 From 0d24c60a3e5bbc1b61c1e37300b47b554039346c Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 1 Dec 2024 00:00:37 -0500 Subject: [PATCH 43/49] Update twine from 5.1.1 to 6.0.1 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index dbf7db9..d003e6b 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -10,5 +10,5 @@ Sphinx==8.1.3 PyYAML==6.0.2 pytest==8.3.3 vcrpy==2.1.1 -twine==5.1.1 +twine==6.0.1 black==24.10.0 From c2725504c77d28cdd38dac2688ffbc36aa4c04ed Mon Sep 17 00:00:00 2001 From: pyup-bot Date: Sun, 1 Dec 2024 17:32:27 -0500 Subject: [PATCH 44/49] Update pytest from 8.3.3 to 8.3.4 --- requirements_dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_dev.txt b/requirements_dev.txt index dbf7db9..d060a84 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -8,7 +8,7 @@ coverage==7.6.8 cryptography==43.0.3 Sphinx==8.1.3 PyYAML==6.0.2 -pytest==8.3.3 +pytest==8.3.4 vcrpy==2.1.1 twine==5.1.1 black==24.10.0 From a30ec5b94cfbfa775dfaa015e3c1de364af89d7f Mon Sep 17 00:00:00 2001 From: Furechan Date: Tue, 24 Dec 2024 23:19:52 -0500 Subject: [PATCH 45/49] Removed pkg_resources import from tiingo.api, VERSION comes from __version__ --- tiingo/api.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tiingo/api.py b/tiingo/api.py index dca1a22..20a4f18 100644 --- a/tiingo/api.py +++ b/tiingo/api.py @@ -26,8 +26,7 @@ except ImportError: pandas_is_installed = False -VERSION = pkg_resources.get_distribution("tiingo").version - +from .__version__ import __version__ as VERSION # These methods enable python 2 + 3 compatibility. def get_zipfile_from_response(response): From b0eec6d2d1d1b7c3bec7da3dc4b7d44c64091fd7 Mon Sep 17 00:00:00 2001 From: Furechan Date: Tue, 24 Dec 2024 23:24:56 -0500 Subject: [PATCH 46/49] Removed pkg_resources import from tiingo.api, VERSION comes from __version__ --- tiingo/api.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tiingo/api.py b/tiingo/api.py index 20a4f18..69f2839 100644 --- a/tiingo/api.py +++ b/tiingo/api.py @@ -6,7 +6,6 @@ import os import re import sys -import pkg_resources from zipfile import ZipFile import requests From 9661fb25615efd20a2e61e7ba55080dcfc11844a Mon Sep 17 00:00:00 2001 From: Furechan Date: Tue, 24 Dec 2024 23:36:14 -0500 Subject: [PATCH 47/49] Removed pkg_resources import from tiingo.api, VERSION comes from __version__ --- tiingo/api.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tiingo/api.py b/tiingo/api.py index 69f2839..72e0dae 100644 --- a/tiingo/api.py +++ b/tiingo/api.py @@ -18,6 +18,8 @@ MissingRequiredArgumentError, ) +from tiingo.__version__ import __version__ as VERSION + try: import pandas as pd @@ -25,7 +27,6 @@ except ImportError: pandas_is_installed = False -from .__version__ import __version__ as VERSION # These methods enable python 2 + 3 compatibility. def get_zipfile_from_response(response): From f42209e632c3c4e5fe7b7c2ac3e5f659944d9143 Mon Sep 17 00:00:00 2001 From: Cameron Yick Date: Sat, 5 Apr 2025 10:10:51 -0400 Subject: [PATCH 48/49] chore: cut 0.16.0 release --- HISTORY.rst | 8 +++++++- tiingo/__version__.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index d05389e..946a5be 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,7 +1,13 @@ ======= History ======= -0.16.0 (2024-XX - Unreleased) +0.17.0 (2025-XX - Unreleased) +-------------------------------- + +* WIP + + +0.16.0 (2025-04-05) -------------------------------- * Dev: New config for readthedocs diff --git a/tiingo/__version__.py b/tiingo/__version__.py index 68f4981..89544a8 100644 --- a/tiingo/__version__.py +++ b/tiingo/__version__.py @@ -1,2 +1,2 @@ # -*- coding: utf-8 -*- -__version__ = "0.15.6" +__version__ = "0.16.0" From 6ccdbc4513192f1e97221a57d1f3db8a4a05d9f5 Mon Sep 17 00:00:00 2001 From: Cameron Yick Date: Sat, 5 Apr 2025 10:15:40 -0400 Subject: [PATCH 49/49] fix: upgrade black formatter --- tiingo/restclient.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tiingo/restclient.py b/tiingo/restclient.py index 869baad..4a03ee1 100644 --- a/tiingo/restclient.py +++ b/tiingo/restclient.py @@ -8,6 +8,7 @@ # TODO: Possibly print HTTP json response if available? class RestClientError(Exception): "Wrapper around HTTP Errors" + pass