diff --git a/freqtrade/__main__.py b/freqtrade/__main__.py index fe1318a35..7d271dfd1 100644 --- a/freqtrade/__main__.py +++ b/freqtrade/__main__.py @@ -7,8 +7,8 @@ To launch Freqtrade as a module """ import sys -from freqtrade import main +from freqtrade import main if __name__ == '__main__': main.set_loggers() diff --git a/freqtrade/analyze.py b/freqtrade/analyze.py index bf6b89b17..6d6a85596 100644 --- a/freqtrade/analyze.py +++ b/freqtrade/analyze.py @@ -12,8 +12,7 @@ from pandas import DataFrame, to_datetime from freqtrade import constants from freqtrade.exchange import Exchange from freqtrade.persistence import Trade -from freqtrade.strategy.resolver import StrategyResolver, IStrategy - +from freqtrade.strategy.resolver import IStrategy, StrategyResolver logger = logging.getLogger(__name__) diff --git a/freqtrade/arguments.py b/freqtrade/arguments.py index 8ce7c546d..731c5d88c 100644 --- a/freqtrade/arguments.py +++ b/freqtrade/arguments.py @@ -2,12 +2,13 @@ This module contains the argument manager class """ -import os import argparse import logging +import os import re +from typing import List, NamedTuple, Optional + import arrow -from typing import List, Optional, NamedTuple from freqtrade import __version__, constants diff --git a/freqtrade/configuration.py b/freqtrade/configuration.py index 7c3a5eb4b..c90eddeb8 100644 --- a/freqtrade/configuration.py +++ b/freqtrade/configuration.py @@ -1,18 +1,18 @@ """ This module contains the configuration class """ -import os import json import logging +import os from argparse import Namespace -from typing import Optional, Dict, Any +from typing import Any, Dict, Optional + +import ccxt from jsonschema import Draft4Validator, validate from jsonschema.exceptions import ValidationError, best_match -import ccxt from freqtrade import OperationalException, constants - logger = logging.getLogger(__name__) diff --git a/freqtrade/fiat_convert.py b/freqtrade/fiat_convert.py index 44a4f3054..2e1a7cac8 100644 --- a/freqtrade/fiat_convert.py +++ b/freqtrade/fiat_convert.py @@ -7,10 +7,12 @@ import logging import time from typing import Dict, List -from coinmarketcap import Market from requests.exceptions import RequestException +from coinmarketcap import Market + from freqtrade.constants import SUPPORTED_FIAT + logger = logging.getLogger(__name__) diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index 530535710..64ff170fd 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -7,16 +7,14 @@ import logging import time import traceback from datetime import datetime -from typing import Dict, List, Optional, Any, Callable +from typing import Any, Callable, Dict, List, Optional import arrow import requests from cachetools import TTLCache, cached -from freqtrade import ( - DependencyException, OperationalException, TemporaryError, persistence, __version__, -) -from freqtrade import constants +from freqtrade import (DependencyException, OperationalException, + TemporaryError, __version__, constants, persistence) from freqtrade.analyze import Analyze from freqtrade.exchange import Exchange from freqtrade.fiat_convert import CryptoToFiatConverter diff --git a/freqtrade/indicator_helpers.py b/freqtrade/indicator_helpers.py index 50586578a..f8ea0d939 100644 --- a/freqtrade/indicator_helpers.py +++ b/freqtrade/indicator_helpers.py @@ -1,4 +1,4 @@ -from math import exp, pi, sqrt, cos +from math import cos, exp, pi, sqrt import numpy as np import talib as ta diff --git a/freqtrade/misc.py b/freqtrade/misc.py index 90a1db42b..832437951 100644 --- a/freqtrade/misc.py +++ b/freqtrade/misc.py @@ -2,10 +2,10 @@ Various tool function for Freqtrade and scripts """ +import gzip import json import logging import re -import gzip from datetime import datetime from typing import Dict diff --git a/freqtrade/optimize/backtesting.py b/freqtrade/optimize/backtesting.py index 316fba508..16c21258f 100644 --- a/freqtrade/optimize/backtesting.py +++ b/freqtrade/optimize/backtesting.py @@ -7,18 +7,18 @@ import logging import operator from argparse import Namespace from datetime import datetime -from typing import Dict, Tuple, Any, List, Optional, NamedTuple +from typing import Any, Dict, List, NamedTuple, Optional, Tuple import arrow from pandas import DataFrame from tabulate import tabulate import freqtrade.optimize as optimize -from freqtrade import constants, DependencyException -from freqtrade.exchange import Exchange +from freqtrade import DependencyException, constants from freqtrade.analyze import Analyze from freqtrade.arguments import Arguments from freqtrade.configuration import Configuration +from freqtrade.exchange import Exchange from freqtrade.misc import file_dump_json from freqtrade.persistence import Trade diff --git a/freqtrade/persistence.py b/freqtrade/persistence.py index aa33f7063..764ba6509 100644 --- a/freqtrade/persistence.py +++ b/freqtrade/persistence.py @@ -5,12 +5,11 @@ This module contains the class to persist trades into SQLite import logging from datetime import datetime from decimal import Decimal, getcontext -from typing import Dict, Optional, Any +from typing import Any, Dict, Optional import arrow from sqlalchemy import (Boolean, Column, DateTime, Float, Integer, String, - create_engine) -from sqlalchemy import inspect + create_engine, inspect) from sqlalchemy.exc import NoSuchModuleError from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm.scoping import scoped_session diff --git a/freqtrade/rpc/rpc.py b/freqtrade/rpc/rpc.py index ee6ecb770..f8cb136e4 100644 --- a/freqtrade/rpc/rpc.py +++ b/freqtrade/rpc/rpc.py @@ -3,9 +3,9 @@ This module contains class to define a RPC communications """ import logging from abc import abstractmethod -from datetime import datetime, timedelta, date +from datetime import date, datetime, timedelta from decimal import Decimal -from typing import Dict, Tuple, Any, List +from typing import Any, Dict, List, Tuple import arrow import sqlalchemy as sql diff --git a/freqtrade/strategy/interface.py b/freqtrade/strategy/interface.py index 4ae358c6f..f73617f46 100644 --- a/freqtrade/strategy/interface.py +++ b/freqtrade/strategy/interface.py @@ -2,8 +2,8 @@ IStrategy interface This module defines the interface to apply for strategies """ -from typing import Dict from abc import ABC, abstractmethod +from typing import Dict from pandas import DataFrame diff --git a/freqtrade/strategy/resolver.py b/freqtrade/strategy/resolver.py index 0dcd3fc6a..10cedb073 100644 --- a/freqtrade/strategy/resolver.py +++ b/freqtrade/strategy/resolver.py @@ -8,13 +8,12 @@ import inspect import logging import os from collections import OrderedDict -from typing import Optional, Dict, Type +from typing import Dict, Optional, Type from freqtrade import constants from freqtrade.strategy import import_strategy from freqtrade.strategy.interface import IStrategy - logger = logging.getLogger(__name__) diff --git a/freqtrade/tests/conftest.py b/freqtrade/tests/conftest.py index 4877fe556..9c86d1ece 100644 --- a/freqtrade/tests/conftest.py +++ b/freqtrade/tests/conftest.py @@ -2,8 +2,8 @@ import json import logging from datetime import datetime -from typing import Dict, Optional from functools import reduce +from typing import Dict, Optional from unittest.mock import MagicMock import arrow @@ -11,8 +11,8 @@ import pytest from jsonschema import validate from telegram import Chat, Message, Update -from freqtrade.analyze import Analyze from freqtrade import constants +from freqtrade.analyze import Analyze from freqtrade.exchange import Exchange from freqtrade.freqtradebot import FreqtradeBot diff --git a/freqtrade/tests/exchange/test_exchange.py b/freqtrade/tests/exchange/test_exchange.py index 6cf7f11b0..3ddec0ded 100644 --- a/freqtrade/tests/exchange/test_exchange.py +++ b/freqtrade/tests/exchange/test_exchange.py @@ -2,16 +2,16 @@ # pragma pylint: disable=protected-access import logging from copy import deepcopy -from random import randint from datetime import datetime +from random import randint from unittest.mock import MagicMock, PropertyMock import ccxt import pytest -from freqtrade import OperationalException, DependencyException, TemporaryError -from freqtrade.exchange import Exchange, API_RETRY_COUNT -from freqtrade.tests.conftest import log_has, get_patched_exchange +from freqtrade import DependencyException, OperationalException, TemporaryError +from freqtrade.exchange import API_RETRY_COUNT, Exchange +from freqtrade.tests.conftest import get_patched_exchange, log_has def ccxt_exceptionhandlers(mocker, default_conf, api_mock, fun, mock_ccxt_fun, **kwargs): diff --git a/freqtrade/tests/optimize/test_backtesting.py b/freqtrade/tests/optimize/test_backtesting.py index 49a6370bb..cb225e465 100644 --- a/freqtrade/tests/optimize/test_backtesting.py +++ b/freqtrade/tests/optimize/test_backtesting.py @@ -3,19 +3,20 @@ import json import math import random -import pytest from copy import deepcopy from typing import List from unittest.mock import MagicMock import numpy as np import pandas as pd +import pytest from arrow import Arrow -from freqtrade import optimize, constants, DependencyException +from freqtrade import DependencyException, constants, optimize from freqtrade.analyze import Analyze from freqtrade.arguments import Arguments, TimeRange -from freqtrade.optimize.backtesting import Backtesting, start, setup_configuration +from freqtrade.optimize.backtesting import (Backtesting, setup_configuration, + start) from freqtrade.tests.conftest import log_has, patch_exchange diff --git a/freqtrade/tests/optimize/test_optimize.py b/freqtrade/tests/optimize/test_optimize.py index 624f8ed77..4ab32343a 100644 --- a/freqtrade/tests/optimize/test_optimize.py +++ b/freqtrade/tests/optimize/test_optimize.py @@ -3,16 +3,19 @@ import json import os import uuid -import arrow from shutil import copyfile +import arrow + from freqtrade import optimize -from freqtrade.misc import file_dump_json -from freqtrade.optimize.__init__ import make_testdata_path, download_pairs, \ - download_backtesting_testdata, load_tickerdata_file, trim_tickerlist, \ - load_cached_data_for_updating from freqtrade.arguments import TimeRange -from freqtrade.tests.conftest import log_has, get_patched_exchange +from freqtrade.misc import file_dump_json +from freqtrade.optimize.__init__ import (download_backtesting_testdata, + download_pairs, + load_cached_data_for_updating, + load_tickerdata_file, + make_testdata_path, trim_tickerlist) +from freqtrade.tests.conftest import get_patched_exchange, log_has # Change this if modifying UNITTEST/BTC testdatafile _BTC_UNITTEST_LENGTH = 13681 diff --git a/freqtrade/tests/rpc/test_rpc.py b/freqtrade/tests/rpc/test_rpc.py index 11db7ffb3..58514d1c0 100644 --- a/freqtrade/tests/rpc/test_rpc.py +++ b/freqtrade/tests/rpc/test_rpc.py @@ -13,7 +13,8 @@ from freqtrade.freqtradebot import FreqtradeBot from freqtrade.persistence import Trade from freqtrade.rpc.rpc import RPC, RPCException from freqtrade.state import State -from freqtrade.tests.test_freqtradebot import patch_get_signal, patch_coinmarketcap +from freqtrade.tests.test_freqtradebot import (patch_coinmarketcap, + patch_get_signal) # Functions for recurrent object patching diff --git a/freqtrade/tests/rpc/test_rpc_manager.py b/freqtrade/tests/rpc/test_rpc_manager.py index 805424d26..5aea98d48 100644 --- a/freqtrade/tests/rpc/test_rpc_manager.py +++ b/freqtrade/tests/rpc/test_rpc_manager.py @@ -7,7 +7,7 @@ from copy import deepcopy from unittest.mock import MagicMock from freqtrade.rpc.rpc_manager import RPCManager -from freqtrade.tests.conftest import log_has, get_patched_freqtradebot +from freqtrade.tests.conftest import get_patched_freqtradebot, log_has def test_rpc_manager_object() -> None: diff --git a/freqtrade/tests/rpc/test_rpc_telegram.py b/freqtrade/tests/rpc/test_rpc_telegram.py index b2cca9b9a..2710328bd 100644 --- a/freqtrade/tests/rpc/test_rpc_telegram.py +++ b/freqtrade/tests/rpc/test_rpc_telegram.py @@ -11,17 +11,18 @@ from datetime import datetime from random import randint from unittest.mock import MagicMock -from telegram import Update, Message, Chat +from telegram import Chat, Message, Update from telegram.error import NetworkError from freqtrade import __version__ from freqtrade.freqtradebot import FreqtradeBot from freqtrade.persistence import Trade -from freqtrade.rpc.telegram import Telegram -from freqtrade.rpc.telegram import authorized_only +from freqtrade.rpc.telegram import Telegram, authorized_only from freqtrade.state import State -from freqtrade.tests.conftest import get_patched_freqtradebot, patch_exchange, log_has -from freqtrade.tests.test_freqtradebot import patch_get_signal, patch_coinmarketcap +from freqtrade.tests.conftest import (get_patched_freqtradebot, log_has, + patch_exchange) +from freqtrade.tests.test_freqtradebot import (patch_coinmarketcap, + patch_get_signal) class DummyCls(Telegram): diff --git a/freqtrade/tests/test_acl_pair.py b/freqtrade/tests/test_acl_pair.py index 608e6a4a1..094c166b8 100644 --- a/freqtrade/tests/test_acl_pair.py +++ b/freqtrade/tests/test_acl_pair.py @@ -1,8 +1,9 @@ # pragma pylint: disable=missing-docstring,C0103,protected-access -import freqtrade.tests.conftest as tt # test tools from unittest.mock import MagicMock +import freqtrade.tests.conftest as tt # test tools + # whitelist, blacklist, filtering, all of that will # eventually become some rules to run on a generic ACL engine # perhaps try to anticipate that by using some python package diff --git a/freqtrade/tests/test_analyze.py b/freqtrade/tests/test_analyze.py index 02225acca..e6108e8f8 100644 --- a/freqtrade/tests/test_analyze.py +++ b/freqtrade/tests/test_analyze.py @@ -12,9 +12,9 @@ import arrow from pandas import DataFrame from freqtrade.analyze import Analyze, SignalType -from freqtrade.optimize.__init__ import load_tickerdata_file from freqtrade.arguments import TimeRange -from freqtrade.tests.conftest import log_has, get_patched_exchange +from freqtrade.optimize.__init__ import load_tickerdata_file +from freqtrade.tests.conftest import get_patched_exchange, log_has # Avoid to reinit the same object again and again _ANALYZE = Analyze({'strategy': 'DefaultStrategy'}) diff --git a/freqtrade/tests/test_configuration.py b/freqtrade/tests/test_configuration.py index a4096cc01..e64e1b486 100644 --- a/freqtrade/tests/test_configuration.py +++ b/freqtrade/tests/test_configuration.py @@ -4,18 +4,18 @@ Unit test file for configuration.py """ import json +from argparse import Namespace from copy import deepcopy from unittest.mock import MagicMock -from argparse import Namespace import pytest from jsonschema import ValidationError +from freqtrade import OperationalException from freqtrade.arguments import Arguments from freqtrade.configuration import Configuration -from freqtrade.constants import DEFAULT_DB_PROD_URL, DEFAULT_DB_DRYRUN_URL +from freqtrade.constants import DEFAULT_DB_DRYRUN_URL, DEFAULT_DB_PROD_URL from freqtrade.tests.conftest import log_has -from freqtrade import OperationalException def test_configuration_object() -> None: diff --git a/freqtrade/tests/test_fiat_convert.py b/freqtrade/tests/test_fiat_convert.py index 2fb9219ca..5af85d268 100644 --- a/freqtrade/tests/test_fiat_convert.py +++ b/freqtrade/tests/test_fiat_convert.py @@ -5,7 +5,6 @@ import time from unittest.mock import MagicMock import pytest - from requests.exceptions import RequestException from freqtrade.fiat_convert import CryptoFiat, CryptoToFiatConverter diff --git a/freqtrade/tests/test_freqtradebot.py b/freqtrade/tests/test_freqtradebot.py index dde2dd6d9..17bd6aa7c 100644 --- a/freqtrade/tests/test_freqtradebot.py +++ b/freqtrade/tests/test_freqtradebot.py @@ -14,11 +14,13 @@ import arrow import pytest import requests -from freqtrade import constants, DependencyException, OperationalException, TemporaryError +from freqtrade import (DependencyException, OperationalException, + TemporaryError, constants) from freqtrade.freqtradebot import FreqtradeBot from freqtrade.persistence import Trade from freqtrade.state import State -from freqtrade.tests.conftest import log_has, patch_coinmarketcap, patch_exchange +from freqtrade.tests.conftest import (log_has, patch_coinmarketcap, + patch_exchange) # Functions for recurrent object patching diff --git a/freqtrade/tests/test_indicator_helpers.py b/freqtrade/tests/test_indicator_helpers.py index 87b085a0b..f3d34ec0b 100644 --- a/freqtrade/tests/test_indicator_helpers.py +++ b/freqtrade/tests/test_indicator_helpers.py @@ -1,6 +1,6 @@ import pandas as pd -from freqtrade.indicator_helpers import went_up, went_down +from freqtrade.indicator_helpers import went_down, went_up def test_went_up(): diff --git a/freqtrade/tests/test_main.py b/freqtrade/tests/test_main.py index 414dcdbe9..20a02eedc 100644 --- a/freqtrade/tests/test_main.py +++ b/freqtrade/tests/test_main.py @@ -11,7 +11,7 @@ import pytest from freqtrade import OperationalException from freqtrade.arguments import Arguments from freqtrade.freqtradebot import FreqtradeBot -from freqtrade.main import main, set_loggers, reconfigure +from freqtrade.main import main, reconfigure, set_loggers from freqtrade.state import State from freqtrade.tests.conftest import log_has, patch_exchange diff --git a/freqtrade/tests/test_misc.py b/freqtrade/tests/test_misc.py index b57900428..e2ba40dee 100644 --- a/freqtrade/tests/test_misc.py +++ b/freqtrade/tests/test_misc.py @@ -8,8 +8,8 @@ import datetime from unittest.mock import MagicMock from freqtrade.analyze import Analyze -from freqtrade.misc import (shorten_date, datesarray_to_datetimearray, - common_datearray, file_dump_json, format_ms_time) +from freqtrade.misc import (common_datearray, datesarray_to_datetimearray, + file_dump_json, format_ms_time, shorten_date) from freqtrade.optimize.__init__ import load_tickerdata_file diff --git a/freqtrade/tests/test_persistence.py b/freqtrade/tests/test_persistence.py index 12ae6579f..b24f2dd6c 100644 --- a/freqtrade/tests/test_persistence.py +++ b/freqtrade/tests/test_persistence.py @@ -5,8 +5,8 @@ from unittest.mock import MagicMock import pytest from sqlalchemy import create_engine -from freqtrade import constants, OperationalException -from freqtrade.persistence import Trade, init, clean_dry_run_db +from freqtrade import OperationalException, constants +from freqtrade.persistence import Trade, clean_dry_run_db, init from freqtrade.tests.conftest import log_has