From a0868d6e4c330fdd079088bea58e734e1a2a8215 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 11 Dec 2023 21:37:03 +0000 Subject: [PATCH 01/12] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/isort: 5.12.0 → 5.13.1](https://github.com/PyCQA/isort/compare/5.12.0...5.13.1) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 92edc06..33fa33e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,7 @@ repos: hooks: - id: seed-isort-config - repo: https://github.com/PyCQA/isort - rev: 5.12.0 + rev: 5.13.1 hooks: - id: isort # flake8 From 4ad2493b7045844a3e4b8f84927f25d47cdb95b6 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 21:46:31 +0000 Subject: [PATCH 02/12] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/isort: 5.13.1 → 5.13.2](https://github.com/PyCQA/isort/compare/5.13.1...5.13.2) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 33fa33e..868a203 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,7 @@ repos: hooks: - id: seed-isort-config - repo: https://github.com/PyCQA/isort - rev: 5.13.1 + rev: 5.13.2 hooks: - id: isort # flake8 From 058244ca28a446cd0ed6eef18d895a7800deed43 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 21:27:12 +0000 Subject: [PATCH 03/12] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/pycqa/flake8: 6.1.0 → 7.0.0](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 868a203..e13e6b6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,7 +18,7 @@ repos: - id: isort # flake8 - repo: https://github.com/pycqa/flake8 - rev: 6.1.0 + rev: 7.0.0 hooks: - id: flake8 args: # arguments to configure flake8 From 04fc7bfc915263792b6a6154df236173aa996615 Mon Sep 17 00:00:00 2001 From: Sarvjeet Singh Date: Tue, 13 Feb 2024 16:45:02 -0800 Subject: [PATCH 04/12] Update all packages to latest versions --- requirements.txt | 54 ++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/requirements.txt b/requirements.txt index 9f25c8b..8212e85 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ appdirs==1.4.4 -backports.entry-points-selectable==1.2.0 -beautifulsoup4==4.12.2 +backports.entry-points-selectable==1.3.0 +beautifulsoup4==4.12.3 bleach==6.1.0 -certifi==2023.11.17 +certifi==2024.2.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 @@ -10,39 +10,39 @@ charset-normalizer==3.3.2 click==8.1.7 colorama==0.4.6 commonmark==0.9.1 -cryptography==41.0.5 -distlib==0.3.7 +cryptography==42.0.2 +distlib==0.3.8 docutils==0.20.1 filelock==3.13.1 -frozendict==2.3.8 +frozendict==2.4.0 html5lib==1.1 ibonds==1.0.3 -identify==2.5.32 -idna==3.4 -importlib-metadata==6.8.0 -jaraco.classes==3.3.0 +identify==2.5.34 +idna==3.6 +importlib-metadata==7.0.1 +jaraco.classes==3.3.1 jeepney==0.8.0 keyring==24.3.0 -lxml==4.9.3 +lxml==5.1.0 markdown-it-py==3.0.0 mdurl==0.1.2 -more-itertools==10.1.0 +more-itertools==10.2.0 multitasking==0.0.11 -nh3==0.2.14 +nh3==0.2.15 nodeenv==1.8.0 -numpy==1.26.2 +numpy==1.26.4 packaging==23.2 -pandas==2.1.3 -peewee==3.17.0 +pandas==2.2.0 +peewee==3.17.1 pkginfo==1.9.6 -platformdirs==3.11.0 -pre-commit==3.5.0 +platformdirs==4.2.0 +pre-commit==3.6.1 pycparser==2.21 -Pygments==2.17.0 +Pygments==2.17.2 pyparsing==3.1.1 python-dateutil==2.8.2 -pytz==2023.3.post1 -pyxirr==0.9.3 +pytz==2024.1 +pyxirr==0.10.3 PyYAML==6.0.1 readme-renderer==42.0 requests==2.31.0 @@ -54,11 +54,11 @@ six==1.16.0 soupsieve==2.5 tabulate==0.9.0 toml==0.10.2 -tqdm==4.66.1 -twine==4.0.2 -tzdata==2023.3 -urllib3==2.1.0 -virtualenv==20.24.6 +tqdm==4.66.2 +twine==5.0.0 +tzdata==2024.1 +urllib3==2.2.0 +virtualenv==20.25.0 webencodings==0.5.1 -yfinance==0.2.32 +yfinance==0.2.36 zipp==3.17.0 From 7e96ca669c317ad158f63c9d82e175507e2c9f07 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 23:27:46 +0000 Subject: [PATCH 05/12] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/pre-commit/pre-commit-hooks: v4.5.0 → v4.6.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.5.0...v4.6.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e13e6b6..28ab43d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ default_language_version: python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v4.6.0 hooks: - id: check-yaml - id: end-of-file-fixer From 4a4e2e54e46c1d81a127b77f83b4c93747241a71 Mon Sep 17 00:00:00 2001 From: Sarvjeet Singh Date: Thu, 2 May 2024 20:49:33 -0700 Subject: [PATCH 06/12] Add wheel to list of requirements --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index 8212e85..ace13f7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -50,6 +50,7 @@ requests-toolbelt==1.0.0 rfc3986==2.0.0 rich==13.7.0 SecretStorage==3.3.3 +setuptools==69.5.1 six==1.16.0 soupsieve==2.5 tabulate==0.9.0 @@ -60,5 +61,6 @@ tzdata==2024.1 urllib3==2.2.0 virtualenv==20.25.0 webencodings==0.5.1 +wheel==0.43.0 yfinance==0.2.36 zipp==3.17.0 From d7dd01a451b7867b2ecf189ed95f2e3a28514f0e Mon Sep 17 00:00:00 2001 From: Sarvjeet Singh Date: Thu, 2 May 2024 20:38:08 -0700 Subject: [PATCH 07/12] Fix failing test by mocking interest rates --- tests/test_data.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/test_data.py b/tests/test_data.py index a4bba9b..d8afee4 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -1,7 +1,9 @@ """Tests for lakshmi/data directory. Simply checks if the files parses.""" import unittest from pathlib import Path +from unittest.mock import patch +import ibonds import yaml import lakshmi @@ -26,7 +28,17 @@ def test_ee_bonds(self): self.assertIsNotNone(self.parse_dict('lakshmi/data/EEBonds.yaml', lakshmi.assets.EEBonds.from_dict)) - def test_i_bonds(self): + @patch('lakshmi.assets.IBonds._InterestRates.get') + def test_i_bonds(self, mock_get): + INTEREST_RATE_DATA = """ + 2020-11-01: + - 0.00 + - 0.84 + 2021-05-01: + - 0.00 + - 1.77 + """ + mock_get.return_value = ibonds.InterestRates(INTEREST_RATE_DATA) self.assertIsNotNone(self.parse_dict('lakshmi/data/IBonds.yaml', lakshmi.assets.IBonds.from_dict)) From 92ff394866c3f09ff351192d317f38d8e0a9f67a Mon Sep 17 00:00:00 2001 From: Sarvjeet Singh Date: Thu, 2 May 2024 21:03:28 -0700 Subject: [PATCH 08/12] Fix bug: store interest object instead of string --- lakshmi/assets.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lakshmi/assets.py b/lakshmi/assets.py index bc06ea1..ac38a87 100644 --- a/lakshmi/assets.py +++ b/lakshmi/assets.py @@ -881,7 +881,8 @@ def get(self): if self._interest_rates.is_current(): return self._interest_rates else: - self._interest_rates = self.get_interest_rates() + self._interest_rates = ibonds.InterestRates( + self.get_interest_rates()) return self._interest_rates def cache_key(self): From 036940d9cbdcd96c630203b0613e2c0d6cccca41 Mon Sep 17 00:00:00 2001 From: Sarvjeet Singh Date: Thu, 2 May 2024 21:07:08 -0700 Subject: [PATCH 09/12] Update changelog with fix --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 820491c..bf88c8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to ## [Unreleased] +### Fixed +- Error when ibond interest rates were fetched. ## [v2.12.0] - 2023-11-18 ### Fixed From dbd3059b05173b5b87125d1dae63edac94e7a614 Mon Sep 17 00:00:00 2001 From: Sarvjeet Singh Date: Thu, 2 May 2024 21:14:57 -0700 Subject: [PATCH 10/12] Update all packages to latest versions Also, just to be safe, depend on the latest version of yfinance. The previous version was throwing deprecation warnings. --- requirements.txt | 58 +++++++++++++++++++++++++----------------------- setup.py | 2 +- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/requirements.txt b/requirements.txt index ace13f7..7d74694 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,57 +10,59 @@ charset-normalizer==3.3.2 click==8.1.7 colorama==0.4.6 commonmark==0.9.1 -cryptography==42.0.2 +cryptography==42.0.5 distlib==0.3.8 -docutils==0.20.1 -filelock==3.13.1 -frozendict==2.4.0 +docutils==0.21.2 +filelock==3.14.0 +frozendict==2.4.2 html5lib==1.1 -ibonds==1.0.3 -identify==2.5.34 -idna==3.6 -importlib-metadata==7.0.1 -jaraco.classes==3.3.1 +ibonds==1.0.4 +identify==2.5.36 +idna==3.7 +importlib_metadata==7.1.0 +jaraco.classes==3.4.0 +jaraco.context==5.3.0 +jaraco.functools==4.0.1 jeepney==0.8.0 -keyring==24.3.0 -lxml==5.1.0 +keyring==25.2.0 +lxml==5.2.1 markdown-it-py==3.0.0 mdurl==0.1.2 more-itertools==10.2.0 multitasking==0.0.11 -nh3==0.2.15 +nh3==0.2.17 nodeenv==1.8.0 numpy==1.26.4 -packaging==23.2 -pandas==2.2.0 -peewee==3.17.1 -pkginfo==1.9.6 -platformdirs==4.2.0 -pre-commit==3.6.1 -pycparser==2.21 +packaging==24.0 +pandas==2.2.2 +peewee==3.17.3 +pkginfo==1.10.0 +platformdirs==4.2.1 +pre-commit==3.7.0 +pycparser==2.22 Pygments==2.17.2 -pyparsing==3.1.1 -python-dateutil==2.8.2 +pyparsing==3.1.2 +python-dateutil==2.9.0.post0 pytz==2024.1 pyxirr==0.10.3 PyYAML==6.0.1 -readme-renderer==42.0 +readme_renderer==43.0 requests==2.31.0 requests-toolbelt==1.0.0 rfc3986==2.0.0 -rich==13.7.0 +rich==13.7.1 SecretStorage==3.3.3 setuptools==69.5.1 six==1.16.0 soupsieve==2.5 tabulate==0.9.0 toml==0.10.2 -tqdm==4.66.2 +tqdm==4.66.4 twine==5.0.0 tzdata==2024.1 -urllib3==2.2.0 -virtualenv==20.25.0 +urllib3==2.2.1 +virtualenv==20.26.1 webencodings==0.5.1 wheel==0.43.0 -yfinance==0.2.36 -zipp==3.17.0 +yfinance==0.2.38 +zipp==3.18.1 diff --git a/setup.py b/setup.py index 66fc109..aaf2995 100644 --- a/setup.py +++ b/setup.py @@ -38,7 +38,7 @@ 'PyYAML>=5.4,<7.0', 'requests~=2.25', 'tabulate~=0.8', - 'yfinance>=0.2.32,<0.3', + 'yfinance>=0.2.38,<0.3', ], entry_points={ 'console_scripts': [ From dd68fd843c51e1a378efd0a357f4cc1f21482ddd Mon Sep 17 00:00:00 2001 From: Sarvjeet Singh Date: Thu, 2 May 2024 21:21:45 -0700 Subject: [PATCH 11/12] Fix new flake8 error --- lakshmi/table.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lakshmi/table.py b/lakshmi/table.py index 745b8db..46de97f 100644 --- a/lakshmi/table.py +++ b/lakshmi/table.py @@ -20,8 +20,8 @@ class Table(): 'str': lambda x: x, 'dollars': lambda x: utils.format_money(x), 'delta_dollars': lambda x: utils.format_money_delta(x), - 'percentage': lambda x: f'{round(100*x)}%', - 'percentage_1': lambda x: f'{round(100*x,1)}%', + 'percentage': lambda x: f'{round(100 * x)}%', + 'percentage_1': lambda x: f'{round(100 * x, 1)}%', 'float': lambda x: str(float(x)), } From 76ff36a2a14b8acbb826f2d2494195947014618c Mon Sep 17 00:00:00 2001 From: Sarvjeet Singh Date: Thu, 2 May 2024 21:28:55 -0700 Subject: [PATCH 12/12] Bumped version to 2.12.1 --- CHANGELOG.md | 6 +++++- lakshmi/constants.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf88c8e..9178a02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,12 @@ and this project adheres to ## [Unreleased] + +## [v2.12.1] - 2024-05-02 ### Fixed -- Error when ibond interest rates were fetched. +- AttributeError when ibond interest rates are fetched. +- Add dependency to latest version of yfinance (removes some warnings that +older version is throwing). ## [v2.12.0] - 2023-11-18 ### Fixed diff --git a/lakshmi/constants.py b/lakshmi/constants.py index 55b1308..af24487 100644 --- a/lakshmi/constants.py +++ b/lakshmi/constants.py @@ -1,4 +1,4 @@ """Lakshmi constants.""" NAME = 'lakshmi' -VERSION = '2.12.0' +VERSION = '2.12.1'