From 9a95011b57f188858d3ea1f37317f17aa9595a31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Aug 2023 05:28:56 +0000 Subject: [PATCH 1/3] Bump ruff from 0.0.282 to 0.0.284 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.282 to 0.0.284. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md) - [Commits](https://github.com/astral-sh/ruff/compare/v0.0.282...v0.0.284) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index f2be35f91..f00a84b55 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -7,7 +7,7 @@ -r docs/requirements-docs.txt coveralls==3.3.1 -ruff==0.0.282 +ruff==0.0.284 mypy==1.5.0 pre-commit==3.3.3 pytest==7.4.0 From 9b6654e81aa16fe431b1f25ac16609431d35e100 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 14 Aug 2023 09:11:19 +0200 Subject: [PATCH 2/3] Fix ruff E721 (type comparison) --- freqtrade/freqai/data_drawer.py | 2 +- tests/strategy/test_default_strategy.py | 12 ++++++------ tests/utils/test_datetime_helpers.py | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/freqtrade/freqai/data_drawer.py b/freqtrade/freqai/data_drawer.py index b9854919d..b6ded83b1 100644 --- a/freqtrade/freqai/data_drawer.py +++ b/freqtrade/freqai/data_drawer.py @@ -375,7 +375,7 @@ class FreqaiDataDrawer: num_keep = self.freqai_info["purge_old_models"] if not num_keep: return - elif type(num_keep) == bool: + elif isinstance(num_keep, bool): num_keep = 2 model_folders = [x for x in self.full_path.iterdir() if x.is_dir()] diff --git a/tests/strategy/test_default_strategy.py b/tests/strategy/test_default_strategy.py index 5f41177eb..b5b07e0cd 100644 --- a/tests/strategy/test_default_strategy.py +++ b/tests/strategy/test_default_strategy.py @@ -25,13 +25,13 @@ def test_strategy_test_v3(dataframe_1m, fee, is_short, side): strategy = StrategyTestV3({}) metadata = {'pair': 'ETH/BTC'} - assert type(strategy.minimal_roi) is dict - assert type(strategy.stoploss) is float - assert type(strategy.timeframe) is str + assert isinstance(strategy.minimal_roi, dict) + assert isinstance(strategy.stoploss, float) + assert isinstance(strategy.timeframe, str) indicators = strategy.populate_indicators(dataframe_1m, metadata) - assert type(indicators) is DataFrame - assert type(strategy.populate_buy_trend(indicators, metadata)) is DataFrame - assert type(strategy.populate_sell_trend(indicators, metadata)) is DataFrame + assert isinstance(indicators, DataFrame) + assert isinstance(strategy.populate_buy_trend(indicators, metadata), DataFrame) + assert isinstance(strategy.populate_sell_trend(indicators, metadata), DataFrame) trade = Trade( open_rate=19_000, diff --git a/tests/utils/test_datetime_helpers.py b/tests/utils/test_datetime_helpers.py index 222410027..6ce975732 100644 --- a/tests/utils/test_datetime_helpers.py +++ b/tests/utils/test_datetime_helpers.py @@ -63,7 +63,7 @@ def test_format_ms_time() -> None: # Date 2018-04-10 18:02:01 date_in_epoch_ms = 1523383321000 date = format_ms_time(date_in_epoch_ms) - assert type(date) is str + assert isinstance(date, str) res = datetime(2018, 4, 10, 18, 2, 1, tzinfo=timezone.utc) assert date == res.astimezone(None).strftime('%Y-%m-%dT%H:%M:%S') res = datetime(2017, 12, 13, 8, 2, 1, tzinfo=timezone.utc) From 21cf5fc6798a54dff38f22bbab48d027e09715f1 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 14 Aug 2023 09:11:50 +0200 Subject: [PATCH 3/3] Fix use of string.format() --- tests/exchange/test_binance.py | 2 +- tests/exchange/test_exchange.py | 12 ++++++------ tests/exchange/test_huobi.py | 2 +- tests/exchange/test_kraken.py | 6 +++--- tests/exchange/test_kucoin.py | 4 ++-- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/exchange/test_binance.py b/tests/exchange/test_binance.py index 9018d2db9..c4e657ad9 100644 --- a/tests/exchange/test_binance.py +++ b/tests/exchange/test_binance.py @@ -35,7 +35,7 @@ def test__get_params_binance(default_conf, mocker, side, type, time_in_force, ex ]) def test_create_stoploss_order_binance(default_conf, mocker, limitratio, expected, side, trademode): api_mock = MagicMock() - order_id = 'test_prod_buy_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_buy_{randint(0, 10 ** 6)}' order_type = 'stop_loss_limit' if trademode == TradingMode.SPOT else 'stop' api_mock.create_order = MagicMock(return_value={ diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index 236576747..84b525cff 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -1337,7 +1337,7 @@ def test_create_dry_run_order_market_fill(default_conf, mocker, side, rate, amou @pytest.mark.parametrize("exchange_name", EXCHANGES) def test_create_order(default_conf, mocker, side, ordertype, rate, marketprice, exchange_name): api_mock = MagicMock() - order_id = 'test_prod_{}_{}'.format(side, randint(0, 10 ** 6)) + order_id = f'test_prod_{side}_{randint(0, 10 ** 6)}' api_mock.options = {} if not marketprice else {"createMarketBuyOrderRequiresPrice": True} api_mock.create_order = MagicMock(return_value={ 'id': order_id, @@ -1417,7 +1417,7 @@ def test_buy_dry_run(default_conf, mocker, exchange_name): @pytest.mark.parametrize("exchange_name", EXCHANGES) def test_buy_prod(default_conf, mocker, exchange_name): api_mock = MagicMock() - order_id = 'test_prod_buy_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_buy_{randint(0, 10 ** 6)}' order_type = 'market' time_in_force = 'gtc' api_mock.options = {} @@ -1506,7 +1506,7 @@ def test_buy_prod(default_conf, mocker, exchange_name): @pytest.mark.parametrize("exchange_name", EXCHANGES) def test_buy_considers_time_in_force(default_conf, mocker, exchange_name): api_mock = MagicMock() - order_id = 'test_prod_buy_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_buy_{randint(0, 10 ** 6)}' api_mock.options = {} api_mock.create_order = MagicMock(return_value={ 'id': order_id, @@ -1573,7 +1573,7 @@ def test_sell_dry_run(default_conf, mocker): @pytest.mark.parametrize("exchange_name", EXCHANGES) def test_sell_prod(default_conf, mocker, exchange_name): api_mock = MagicMock() - order_id = 'test_prod_sell_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_sell_{randint(0, 10 ** 6)}' order_type = 'market' api_mock.options = {} api_mock.create_order = MagicMock(return_value={ @@ -1651,7 +1651,7 @@ def test_sell_prod(default_conf, mocker, exchange_name): @pytest.mark.parametrize("exchange_name", EXCHANGES) def test_sell_considers_time_in_force(default_conf, mocker, exchange_name): api_mock = MagicMock() - order_id = 'test_prod_sell_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_sell_{randint(0, 10 ** 6)}' api_mock.create_order = MagicMock(return_value={ 'id': order_id, 'symbol': 'ETH/BTC', @@ -5357,7 +5357,7 @@ def test_get_liquidation_price( ]) def test_stoploss_contract_size(mocker, default_conf, contract_size, order_amount): api_mock = MagicMock() - order_id = 'test_prod_buy_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_buy_{randint(0, 10 ** 6)}' api_mock.create_order = MagicMock(return_value={ 'id': order_id, diff --git a/tests/exchange/test_huobi.py b/tests/exchange/test_huobi.py index 8be8ef8b3..b3f3c0900 100644 --- a/tests/exchange/test_huobi.py +++ b/tests/exchange/test_huobi.py @@ -16,7 +16,7 @@ from tests.exchange.test_exchange import ccxt_exceptionhandlers ]) def test_create_stoploss_order_huobi(default_conf, mocker, limitratio, expected, side): api_mock = MagicMock() - order_id = 'test_prod_buy_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_buy_{randint(0, 10 ** 6)}' order_type = 'stop-limit' api_mock.create_order = MagicMock(return_value={ diff --git a/tests/exchange/test_kraken.py b/tests/exchange/test_kraken.py index 8fc23b94e..7db3eeeeb 100644 --- a/tests/exchange/test_kraken.py +++ b/tests/exchange/test_kraken.py @@ -15,7 +15,7 @@ STOPLOSS_LIMIT_ORDERTYPE = 'stop-loss-limit' def test_buy_kraken_trading_agreement(default_conf, mocker): api_mock = MagicMock() - order_id = 'test_prod_buy_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_buy_{randint(0, 10 ** 6)}' order_type = 'limit' time_in_force = 'ioc' api_mock.options = {} @@ -56,7 +56,7 @@ def test_buy_kraken_trading_agreement(default_conf, mocker): def test_sell_kraken_trading_agreement(default_conf, mocker): api_mock = MagicMock() - order_id = 'test_prod_sell_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_sell_{randint(0, 10 ** 6)}' order_type = 'market' api_mock.options = {} api_mock.create_order = MagicMock(return_value={ @@ -181,7 +181,7 @@ def test_get_balances_prod(default_conf, mocker): ]) def test_create_stoploss_order_kraken(default_conf, mocker, ordertype, side, adjustedprice): api_mock = MagicMock() - order_id = 'test_prod_buy_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_buy_{randint(0, 10 ** 6)}' api_mock.create_order = MagicMock(return_value={ 'id': order_id, diff --git a/tests/exchange/test_kucoin.py b/tests/exchange/test_kucoin.py index 741ee27be..a74b77859 100644 --- a/tests/exchange/test_kucoin.py +++ b/tests/exchange/test_kucoin.py @@ -17,7 +17,7 @@ from tests.exchange.test_exchange import ccxt_exceptionhandlers ]) def test_create_stoploss_order_kucoin(default_conf, mocker, limitratio, expected, side, order_type): api_mock = MagicMock() - order_id = 'test_prod_buy_{}'.format(randint(0, 10 ** 6)) + order_id = f'test_prod_buy_{randint(0, 10 ** 6)}' api_mock.create_order = MagicMock(return_value={ 'id': order_id, @@ -136,7 +136,7 @@ def test_stoploss_adjust_kucoin(mocker, default_conf): ]) def test_kucoin_create_order(default_conf, mocker, side, ordertype, rate): api_mock = MagicMock() - order_id = 'test_prod_{}_{}'.format(side, randint(0, 10 ** 6)) + order_id = f'test_prod_{side}_{randint(0, 10 ** 6)}' api_mock.create_order = MagicMock(return_value={ 'id': order_id, 'info': {