From 7250552e2a33e3b3a3414b74ddd69a3d740920f6 Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Thu, 19 Aug 2021 20:22:13 +0200 Subject: [PATCH 01/10] Update pre-commit conifg Update gitlint to 0.15.1 Update flake8 til 3.9.2 Update isort to 5.9.3 Update pre-commit-hooks to 4.0.1 --- .pre-commit-config.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2ba94e713..98336d948 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,7 @@ repos: hooks: - id: restore-commit-msg - repo: https://github.com/jorisroovers/gitlint - rev: v0.13.1 + rev: v0.15.1 hooks: - id: gitlint - repo: https://github.com/Seeefo/manage-commit-msg.git @@ -12,18 +12,18 @@ repos: hooks: - id: save-commit-msg - repo: https://gitlab.com/pycqa/flake8 - rev: 3.8.4 + rev: 3.9.2 hooks: - id: flake8 language_version: python3 additional_dependencies: [flake8-bugbear, flake8-logging-format, flake8-variables-names, pep8-naming, flake8-eradicate] - repo: https://github.com/pre-commit/mirrors-isort - rev: v5.6.4 + rev: v5.9.3 hooks: - id: isort language_version: python3 - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.5.0 + rev: v4.0.1 hooks: - id: trailing-whitespace - id: end-of-file-fixer From 664549114999c57da1106b7c72cf7cc049a25246 Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Thu, 19 Aug 2021 20:23:32 +0200 Subject: [PATCH 02/10] Add support for python 3.9 python 3.9 has finally removed Thread.isAlive() function. but because we still (?) need to support python version w/o is_alive() we need to check for both --- mapadroid/route/RouteManagerBase.py | 22 +++++++++++++++++----- mapadroid/worker/WorkerQuests.py | 21 +++++++++++++++------ 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/mapadroid/route/RouteManagerBase.py b/mapadroid/route/RouteManagerBase.py index 79ef75e6b..0bb70914e 100644 --- a/mapadroid/route/RouteManagerBase.py +++ b/mapadroid/route/RouteManagerBase.py @@ -147,16 +147,28 @@ def _start_check_routepools(self): def join_threads(self): self.logger.info("Shutdown Route Threads") if self._update_prio_queue_thread is not None: - while self._update_prio_queue_thread.isAlive(): + + if hasattr(self._update_prio_queue_thread, 'isAlive'): + is_alive_func = self._update_prio_queue_thread.isAlive + else: + is_alive_func = self._update_prio_queue_thread.is_alive + while is_alive_func(): time.sleep(1) self.logger.debug("Shutdown Prio Queue Thread - waiting...") self._update_prio_queue_thread.join(5) + self.logger.debug("Shutdown Prio Queue Thread - done...") if self._check_routepools_thread is not None: - while self._check_routepools_thread.isAlive(): - time.sleep(1) - self.logger.debug("Shutdown Routepool Thread - waiting...") - self._check_routepools_thread.join(5) + if hasattr(self._check_routepools_thread, 'isAlive'): + while self._check_routepools_thread.isAlive(): + time.sleep(1) + self.logger.debug("Shutdown Routepool Thread - waiting...") + self._check_routepools_thread.join(5) + else: + while self._check_routepools_thread.is_alive(): + time.sleep(1) + self.logger.debug("Shutdown Routepool Thread - waiting...") + self._check_routepools_thread.join(5) self._update_prio_queue_thread = None self._check_routepools_thread = None diff --git a/mapadroid/worker/WorkerQuests.py b/mapadroid/worker/WorkerQuests.py index 528d903da..12b68b3e5 100644 --- a/mapadroid/worker/WorkerQuests.py +++ b/mapadroid/worker/WorkerQuests.py @@ -290,9 +290,14 @@ def _post_move_location_routine(self, timestamp: float): def _cleanup(self): if self.clear_thread is not None: - while self.clear_thread.isAlive(): - self.clear_thread.join() - time.sleep(1) + if hasattr(self.clear_thread, 'isAlive'): + while self.clear_thread.isAlive(): + self.clear_thread.join() + time.sleep(1) + else: + while self.clear_thread.is_alive(): + self.clear_thread.join() + time.sleep(1) def _clear_thread(self): self.logger.info('Starting clear Quest Thread') @@ -589,11 +594,15 @@ def _try_to_open_pokestop(self, timestamp: float) -> LatestReceivedType: return type_received elif stop_type in (PositionStopType.STOP_CLOSED, PositionStopType.STOP_COOLDOWN, PositionStopType.STOP_DISABLED): - self.logger.info("Stop at {}, {} is not spinnable at the moment ({})", self.current_location.lat, - self.current_location.lng, stop_type) + self.logger.info("Stop at {}, {} is not spinnable at the moment ({})", + self.current_location.lat, + self.current_location.lng, + stop_type) return type_received elif stop_type == PositionStopType.VISITED_STOP_IN_LEVEL_MODE_TO_IGNORE: - self.logger.info("Stop at {}, {} has been spun before and is to be ignored in the next round.") + self.logger.info("Stop at {}, {} has been spun before and is to be ignored in the next round.", + self.current_location.lat, + self.current_location.lng) self._mapping_manager.routemanager_add_coords_to_be_removed(self._routemanager_name, self.current_location.lat, self.current_location.lng) From 4e03742296c94a592f741e6eb685a86a4473e80d Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Sat, 21 Aug 2021 07:28:55 +0200 Subject: [PATCH 03/10] Update requirements Python3.9 does not have sources for some of the old library versions MAD expects Gevent updated to version 20.9 Greenlet updated to version 1.1 OpenCV updated to version 4.4 --- mapadroid/madmin/api/__init__.py | 6 +- requirements.txt | 216 ++++--------------------------- 2 files changed, 27 insertions(+), 195 deletions(-) diff --git a/mapadroid/madmin/api/__init__.py b/mapadroid/madmin/api/__init__.py index cc36f98c9..f1ccd551b 100644 --- a/mapadroid/madmin/api/__init__.py +++ b/mapadroid/madmin/api/__init__.py @@ -5,9 +5,9 @@ from . import apiRequest, apiResponse from .apks import ftr_mad_apks from .autoconf import ftr_autoconf -from .resources import ( - ftr_area, ftr_auth, ftr_device, ftr_devicesetting, ftr_geofence, - ftr_monlist, ftr_pogoauth, ftr_routecalc, ftr_walker, ftr_walkerarea) +from .resources import (ftr_area, ftr_auth, ftr_device, ftr_devicesetting, + ftr_geofence, ftr_monlist, ftr_pogoauth, ftr_routecalc, + ftr_walker, ftr_walkerarea) BASE_URI = '/api' valid_resources = { diff --git a/requirements.txt b/requirements.txt index 1c208efc9..e40c4d3a1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,196 +4,28 @@ # # pip-compile --no-emit-index-url --output-file=requirements.txt requirements.in # -aiohttp==3.8.1 - # via apkmirror-search -aiosignal==1.2.0 - # via aiohttp -anytree==2.8.0 - # via apkutils -apkmirror-search==0.0.3 - # via -r requirements.in +ConfigArgParse~=0.14 +Flask~=1.1.4 +Flask-Caching~=1.8.0 +ImageHash~=4.0 +bitstring~=3.1 +dataclasses>=0.6 +geopy~=1.20 +gevent~=20.9 +gpxdata~=1.2 +imutils~=0.5 +loguru~=0.4.0 +matplotlib~=3.1 +mysql-connector~=2.2 +mysqlclient~=1.4 +opencv-python~=4.4 +psutil~=5.6 +pytesseract~=0.3 +requests~=2.22 +s2sphere~=0.2 +websockets>=7 +numpy~=1.18.0 apkutils==0.8.3 - # via -r requirements.in -async-timeout==4.0.2 - # via aiohttp -asynctest==0.13.0 - # via aiohttp -attrs==21.4.0 - # via aiohttp -beautifulsoup4==4.10.0 - # via - # apkutils - # bs4 -bitstring==3.1.9 - # via -r requirements.in -bs4==0.0.1 - # via apkmirror-search -cachetools==5.0.0 - # via -r requirements.in -certifi==2021.10.8 - # via requests -cffi==1.15.0 - # via cryptography -charset-normalizer==2.0.12 - # via - # aiohttp - # requests -cigam==0.0.3 - # via apkutils -click==7.1.2 - # via - # apkutils - # flask - # petty -colorama==0.4.4 - # via rich -commonmark==0.9.1 - # via rich -configargparse==0.15.2 - # via -r requirements.in -cryptography==36.0.1 - # via pyopenssl -cycler==0.11.0 - # via matplotlib -dataclasses==0.6 - # via -r requirements.in -flask==1.1.4 - # via - # -r requirements.in - # flask-caching -flask-caching==1.8.0 - # via -r requirements.in -fonttools==4.29.1 - # via matplotlib -frozenlist==1.3.0 - # via - # aiohttp - # aiosignal -future==0.18.2 - # via s2sphere -geographiclib==1.52 - # via geopy -geopy==1.23.0 - # via -r requirements.in -gevent==1.4.0 - # via -r requirements.in -gpxdata==1.2.1 - # via -r requirements.in -greenlet==0.4.16 - # via - # -r requirements.in - # gevent -html5lib==1.1 - # via apkmirror-search -idna==3.3 - # via - # requests - # yarl -imagehash==4.2.1 - # via -r requirements.in -imutils==0.5.4 - # via -r requirements.in -itsdangerous==1.1.0 - # via flask -jinja2==2.11.3 - # via flask -kiwisolver==1.3.2 - # via matplotlib -loguru==0.4.1 - # via -r requirements.in -markupsafe==2.0.1 - # via - # -r requirements.in - # jinja2 -matplotlib==3.5.1 - # via -r requirements.in -multidict==6.0.2 - # via - # aiohttp - # yarl -mysql-connector==2.2.9 - # via -r requirements.in -mysqlclient==1.4.6 - # via -r requirements.in -numpy==1.18.5 - # via - # -r requirements.in - # imagehash - # matplotlib - # opencv-python - # pandas - # pywavelets - # scipy -opencv-python==4.2.0.34 - # via -r requirements.in -packaging==21.3 - # via - # matplotlib - # pytesseract -pandas==1.1.5 - # via petty -petty==0.1.1 - # via apkutils -pillow==9.0.1 - # via - # imagehash - # matplotlib - # pytesseract -psutil==5.9.0 - # via -r requirements.in -pycparser==2.21 - # via cffi -pyelftools==0.28 - # via apkutils -pygments==2.11.2 - # via rich -pyopenssl==22.0.0 - # via apkutils -pyparsing==3.0.7 - # via - # matplotlib - # packaging -pytesseract==0.3.9 - # via -r requirements.in -python-dateutil==2.8.2 - # via - # matplotlib - # pandas -pytz==2021.3 - # via pandas -pywavelets==1.2.0 - # via imagehash -requests==2.27.1 - # via -r requirements.in -rich==11.2.0 - # via petty -s2sphere==0.2.5 - # via -r requirements.in -scipy==1.7.3 - # via imagehash -six==1.16.0 - # via - # anytree - # html5lib - # imagehash - # python-dateutil -soupsieve==2.3.1 - # via beautifulsoup4 -typing-extensions==4.1.1 - # via - # aiohttp - # async-timeout - # rich - # yarl -urllib3==1.26.8 - # via requests -webencodings==0.5.1 - # via html5lib -websockets==10.2 - # via -r requirements.in -werkzeug==1.0.1 - # via flask -xmltodict==0.12.0 - # via apkutils -yarl==1.7.2 - # via aiohttp +greenlet~=1.1 +apkmirror-search +cachetools From f38506654fb7ebcda81133fbc7bc34422f75b030 Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Sat, 21 Aug 2021 07:30:37 +0200 Subject: [PATCH 04/10] Update toxt and docker-dev Add python 3.9 to test suite Remove exclude for questgen.py add N818 to tox ignore (requires a lot of fixing in apk:wizard: to solve) --- docker/Dockerfile-dev | 2 +- tox.ini | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile-dev b/docker/Dockerfile-dev index 1bbe7f367..0c09aeb04 100644 --- a/docker/Dockerfile-dev +++ b/docker/Dockerfile-dev @@ -3,7 +3,7 @@ FROM local_mad_production:latest AS dev_test # Versions of python to install for pyenv. These are used when tox executes specific # python versions. The correct versions need to be added to tox.ini under tox/envlist # 3.7 is the base image so it does not need to be included -ENV PYTHON_VERSIONS 3.8.0 +ENV PYTHON_VERSIONS 3.8.0 3.9.0 # User information related to how to run within the shell ARG USER_NAME=dockeruser ARG UID=1000 diff --git a/tox.ini b/tox.ini index a6e62bff2..0296f6c06 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] envlist= lint - py{37,38} + py{37,38,39} PYTHONPATH = {toxinidir}:/usr/src/app [testenv] @@ -29,12 +29,11 @@ env_files = [flake8] exclude = .git, - mapadroid/utils/questGen.py, mapadroid/tests/*, scripts/*.py, configs/*.py, .tox -ignore = E402,W504,W503 +ignore = E402,W504,W503, N818 max-line-length = 120 [gh-actions] @@ -42,3 +41,4 @@ python = 3.6: py36 3.7: py37, lint 3.8: py38 + 3.9: py39 From decd33cd1f76943a4095d3136cadfc807c0f047d Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Sat, 21 Aug 2021 07:45:18 +0200 Subject: [PATCH 05/10] Lint questgen --- mapadroid/utils/questGen.py | 29 +++++++++++++---------------- tox.ini | 1 + 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/mapadroid/utils/questGen.py b/mapadroid/utils/questGen.py index 548ecb710..4316701fd 100644 --- a/mapadroid/utils/questGen.py +++ b/mapadroid/utils/questGen.py @@ -40,7 +40,8 @@ def __init__(self, args): if not args.no_quest_titles: locale_url = "https://raw.githubusercontent.com/PokeMiners/pogo_assets/master/Texts/Latest%20APK/{0}.txt" - remote_locale_url = "https://raw.githubusercontent.com/PokeMiners/pogo_assets/master/Texts/Latest%20Remote/" \ + remote_locale_url = "https://raw.githubusercontent.com/" \ + "PokeMiners/pogo_assets/master/Texts/Latest%20Remote/" \ "{0}.txt" asset_language = QUEST_LANGUAGES.get(args.language, 'English') @@ -55,7 +56,8 @@ def __init__(self, args): if remote_locale is None: remote_locale = {} self.locale_resources = {**apk_locale, **remote_locale} - else: self.locale_resources = None + else: + self.locale_resources = None @staticmethod def __gen_assets_locale(url): @@ -162,13 +164,13 @@ def questtype(self, quest_type): return "Unknown quest type placeholder: {0}" def rewarditem(self, itemid): - file = open_json_file('items') - if str(itemid) in file: - return (file[str(itemid)]['name']) + reward_file = open_json_file('items') + if str(itemid) in reward_file: + return (reward_file[str(itemid)]['name']) return "Item " + str(itemid) - def pokemonname(self, id): - return self.pokemen_file[str(int(id))]["name"] + def pokemonname(self, pokemon_id): + return self.pokemen_file[str(int(pokemon_id))]["name"] def get_pokemon_type_str(self, pt): return self.pokemon_types[str(pt)].title() + _('-type') @@ -183,7 +185,7 @@ def questtask(self, typeid, condition, target, quest_template, quest_title): gettext.find('quest', 'locales', all=True) throw_types = {"10": _("Nice"), "11": _("Great"), "12": _("Excellent"), "13": _("Curveball")} - buddyLevels = {2: _("Good"), 3: _("Great"), 4: _("Ultra"), 5: _("Best")} + buddy_levels = {2: _("Good"), 3: _("Great"), 4: _("Ultra"), 5: _("Best")} arr = {'0': target} text = self.questtype(typeid) # TODO use the dict instead of regex parsing in all logic @@ -234,9 +236,6 @@ def questtask(self, typeid, condition, target, quest_template, quest_title): elif condition_type == 26: # Condition type 26 is alignment alignment = con.get('with_pokemon_alignment', {}).get('alignment', []) - # POKEMON_ALIGNMENT_UNSET = 0; - # POKEMON_ALIGNMENT_SHADOW = 1; - # POKEMON_ALIGNMENT_PURIFIED = 2; if len(alignment) == 1 and alignment[0] == 1: arr['different'] = _(" shadow") elif len(alignment) == 1 and alignment[0] == 2: @@ -305,7 +304,6 @@ def questtask(self, typeid, condition, target, quest_template, quest_title): if con.get('type', 0) == 11: text = _("Use an item to {mega}evolve {0} Pokemon") # Try to find the exact evolution item needed - # [{"type": 11, "with_item": {"item": 1106}}] with_item = con.get('with_item', {}).get('item', None) if with_item is not None: text = _('Use {item} to {mega}evolve {0} Pokemon') @@ -431,7 +429,6 @@ def questtask(self, typeid, condition, target, quest_template, quest_title): cur += 1 text = _("Take {0} snapshots of {poke}") elif re.search(r'"type": 1', condition) is not None: - # [{"type": 1, "with_pokemon_type": {"pokemon_type": [6]}}] text = _("Take {0} snapshots of wild {type} Pokemon") arr['wb'] = "" arr['type'] = "" @@ -473,7 +470,7 @@ def questtask(self, typeid, condition, target, quest_template, quest_title): for con in condition_dict: if con.get('type', 0) == 28: level = con.get('with_buddy', {}).get('min_buddy_level', 0) - arr['level'] = buddyLevels.get(level, level) + arr['level'] = buddy_levels.get(level, level) elif typeid == 53: # type 53 is to do charged attacks (any kind of way gym/pvp/rocket) arr['type'] = '' @@ -500,8 +497,8 @@ def questtask(self, typeid, condition, target, quest_template, quest_title): text = text.replace(_('PVP Battle(s)'), _('PVP Battle')) arr['0'] = _("a") - for key, val in arr.items(): - text = text.replace('{' + key + '}', str(val)) + for key, text_replacement in arr.items(): + text = text.replace('{' + key + '}', str(text_replacement)) text = text.replace(' ', ' ').strip() return text diff --git a/tox.ini b/tox.ini index 0296f6c06..1822956a2 100644 --- a/tox.ini +++ b/tox.ini @@ -34,6 +34,7 @@ exclude = configs/*.py, .tox ignore = E402,W504,W503, N818 +builtins = "_" max-line-length = 120 [gh-actions] From bf1902dfd26ea23ab237dba2f3406664bd4e5831 Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Mon, 23 Aug 2021 20:28:51 +0200 Subject: [PATCH 06/10] Tell flake8 about _ --- .pre-commit-config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 98336d948..0d66aa3b2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,6 +17,7 @@ repos: - id: flake8 language_version: python3 additional_dependencies: [flake8-bugbear, flake8-logging-format, flake8-variables-names, pep8-naming, flake8-eradicate] + args: [ --builtins=_ ] - repo: https://github.com/pre-commit/mirrors-isort rev: v5.9.3 hooks: From 4cb3c4e7f631dcbadc98853759bf6ae48d36f146 Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Wed, 1 Sep 2021 18:38:06 +0200 Subject: [PATCH 07/10] WIP Update mysqlclient requirement to 2.0.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e40c4d3a1..ca6882bb5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,7 +17,7 @@ imutils~=0.5 loguru~=0.4.0 matplotlib~=3.1 mysql-connector~=2.2 -mysqlclient~=1.4 +mysqlclient~=2.0.3 opencv-python~=4.4 psutil~=5.6 pytesseract~=0.3 From 2c41d48b5cba62d9f67eca65b1c04715f2250bae Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Sun, 28 Nov 2021 11:59:14 +0100 Subject: [PATCH 08/10] Upgrade requirements to be more in sync with redis-mitm-branch --- requirements.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/requirements.txt b/requirements.txt index ca6882bb5..b767fc052 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,28 +4,28 @@ # # pip-compile --no-emit-index-url --output-file=requirements.txt requirements.in # -ConfigArgParse~=0.14 -Flask~=1.1.4 -Flask-Caching~=1.8.0 -ImageHash~=4.0 +apkmirror-search +apkutils==0.11.0 bitstring~=3.1 +cachetools +ConfigArgParse~=0.14 dataclasses>=0.6 +Flask~=2.0.2 +Flask-Caching~=1.10.1 geopy~=1.20 -gevent~=20.9 +gevent~=21.8.0 gpxdata~=1.2 +greenlet~=1.1 +ImageHash~=4.0 imutils~=0.5 loguru~=0.4.0 matplotlib~=3.1 -mysql-connector~=2.2 mysqlclient~=2.0.3 +mysql-connector~=2.2 +numpy==1.21.4 opencv-python~=4.4 psutil~=5.6 pytesseract~=0.3 requests~=2.22 s2sphere~=0.2 websockets>=7 -numpy~=1.18.0 -apkutils==0.8.3 -greenlet~=1.1 -apkmirror-search -cachetools From 5e3ff419978ed34a0b11e630e438dff9d1ef94d0 Mon Sep 17 00:00:00 2001 From: Juho-Pekka Kuitunen Date: Sun, 8 May 2022 08:58:21 +0300 Subject: [PATCH 09/10] Update Dockerfile for py3.9 (#1223) * Update pre-commit conifg Update gitlint to 0.15.1 Update flake8 til 3.9.2 Update isort to 5.9.3 Update pre-commit-hooks to 4.0.1 * Add support for python 3.9 python 3.9 has finally removed Thread.isAlive() function. but because we still (?) need to support python version w/o is_alive() we need to check for both * Update requirements Python3.9 does not have sources for some of the old library versions MAD expects Gevent updated to version 20.9 Greenlet updated to version 1.1 OpenCV updated to version 4.4 * Update toxt and docker-dev Add python 3.9 to test suite Remove exclude for questgen.py add N818 to tox ignore (requires a lot of fixing in apk:wizard: to solve) * Lint questgen * Tell flake8 about _ * WIP Update mysqlclient requirement to 2.0.3 * Upgrade requirements to be more in sync with redis-mitm-branch * Update Dockerfile Co-authored-by: fosJoddie <5710881+fosJoddie@users.noreply.github.com> --- Dockerfile | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1ab222bbd..8f31960b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ############################ # MAD ############################ -FROM python:3.7-slim AS mad-core +FROM python:3.9-slim AS mad-core # Working directory for the application WORKDIR /usr/src/app diff --git a/requirements.txt b/requirements.txt index b767fc052..9e7ceb18f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,4 +28,4 @@ psutil~=5.6 pytesseract~=0.3 requests~=2.22 s2sphere~=0.2 -websockets>=7 +websockets>=7 \ No newline at end of file From f148394ed37b62d9c6c5bae66a40f3e1e35a4044 Mon Sep 17 00:00:00 2001 From: fosJoddie <5710881+fosJoddie@users.noreply.github.com> Date: Sun, 8 May 2022 16:19:03 +0200 Subject: [PATCH 10/10] update requirements.txt after rebase --- requirements.in | 17 ++-- requirements.txt | 205 +++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 189 insertions(+), 33 deletions(-) diff --git a/requirements.in b/requirements.in index b2e68a599..6a4d03f94 100644 --- a/requirements.in +++ b/requirements.in @@ -1,24 +1,23 @@ apkmirror-search -apkutils==0.8.3 +apkutils==0.11.0 bitstring~=3.1 cachetools ConfigArgParse~=0.14 dataclasses>=0.6 -Flask~=1.1.4 -Flask-Caching~=1.8.0 +Flask~=2.0.2 +Flask-Caching~=1.10.1 geopy~=1.20 -gevent==1.4.0 +gevent~=21.8.0 gpxdata~=1.2 -greenlet<0.4.17 +greenlet~=1.1 ImageHash~=4.0 imutils~=0.5 loguru~=0.4.0 -markupsafe==2.0.1 matplotlib~=3.1 -mysqlclient~=1.4 +mysqlclient~=2.0.3 mysql-connector~=2.2 -numpy~=1.18.0 -opencv-python>=4.1,<4.3 +numpy==1.21.4 +opencv-python~=4.4 psutil~=5.6 pytesseract~=0.3 requests~=2.22 diff --git a/requirements.txt b/requirements.txt index 9e7ceb18f..7c69849c8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,31 +1,188 @@ # -# This file is autogenerated by pip-compile with python 3.7 +# This file is autogenerated by pip-compile with python 3.10 # To update, run: # # pip-compile --no-emit-index-url --output-file=requirements.txt requirements.in # -apkmirror-search +aiohttp==3.8.1 + # via apkmirror-search +aiosignal==1.2.0 + # via aiohttp +anytree==2.8.0 + # via apkutils +apkmirror-search==0.0.3 + # via -r requirements.in apkutils==0.11.0 -bitstring~=3.1 -cachetools -ConfigArgParse~=0.14 -dataclasses>=0.6 -Flask~=2.0.2 -Flask-Caching~=1.10.1 -geopy~=1.20 -gevent~=21.8.0 -gpxdata~=1.2 -greenlet~=1.1 -ImageHash~=4.0 -imutils~=0.5 -loguru~=0.4.0 -matplotlib~=3.1 -mysqlclient~=2.0.3 -mysql-connector~=2.2 + # via -r requirements.in +async-timeout==4.0.2 + # via aiohttp +attrs==21.4.0 + # via aiohttp +beautifulsoup4==4.11.1 + # via + # apkutils + # bs4 +bitstring==3.1.9 + # via -r requirements.in +bs4==0.0.1 + # via apkmirror-search +cachetools==5.0.0 + # via -r requirements.in +certifi==2021.10.8 + # via requests +cffi==1.15.0 + # via + # cryptography + # gevent +charset-normalizer==2.0.12 + # via + # aiohttp + # requests +click==8.1.3 + # via + # apkutils + # flask +colorama==0.4.4 + # via + # click + # loguru +configargparse==0.15.2 + # via -r requirements.in +cryptography==35.0.0 + # via apkutils +cycler==0.11.0 + # via matplotlib +dataclasses==0.6 + # via -r requirements.in +flask==2.0.3 + # via + # -r requirements.in + # flask-caching +flask-caching==1.10.1 + # via -r requirements.in +fonttools==4.33.3 + # via matplotlib +frozenlist==1.3.0 + # via + # aiohttp + # aiosignal +future==0.18.2 + # via s2sphere +geographiclib==1.52 + # via geopy +geopy==1.23.0 + # via -r requirements.in +gevent==21.8.0 + # via -r requirements.in +gpxdata==1.2.1 + # via -r requirements.in +greenlet==1.1.2 + # via + # -r requirements.in + # gevent +html5lib==1.1 + # via apkmirror-search +idna==3.3 + # via + # requests + # yarl +imagehash==4.2.1 + # via -r requirements.in +imutils==0.5.4 + # via -r requirements.in +itsdangerous==2.1.2 + # via flask +jinja2==3.1.2 + # via flask +kiwisolver==1.4.2 + # via matplotlib +loguru==0.4.1 + # via -r requirements.in +lxml==4.8.0 + # via apkutils +markupsafe==2.1.1 + # via jinja2 +matplotlib==3.5.2 + # via -r requirements.in +multidict==6.0.2 + # via + # aiohttp + # yarl +mysql-connector==2.2.9 + # via -r requirements.in +mysqlclient==2.0.3 + # via -r requirements.in numpy==1.21.4 -opencv-python~=4.4 -psutil~=5.6 -pytesseract~=0.3 -requests~=2.22 -s2sphere~=0.2 -websockets>=7 \ No newline at end of file + # via + # -r requirements.in + # imagehash + # matplotlib + # opencv-python + # pywavelets + # scipy +opencv-python==4.5.5.64 + # via -r requirements.in +packaging==21.3 + # via + # matplotlib + # pytesseract +pillow==9.1.0 + # via + # imagehash + # matplotlib + # pytesseract +psutil==5.9.0 + # via -r requirements.in +pycparser==2.21 + # via cffi +pyelftools==0.27 + # via apkutils +pyftype==1.2.4 + # via apkutils +pygments==2.12.0 + # via apkutils +pyparsing==3.0.8 + # via + # matplotlib + # packaging +pytesseract==0.3.9 + # via -r requirements.in +python-dateutil==2.8.2 + # via matplotlib +pywavelets==1.3.0 + # via imagehash +requests==2.27.1 + # via -r requirements.in +s2sphere==0.2.5 + # via -r requirements.in +scipy==1.8.0 + # via imagehash +six==1.16.0 + # via + # anytree + # html5lib + # imagehash + # python-dateutil +soupsieve==2.3.2.post1 + # via beautifulsoup4 +urllib3==1.26.9 + # via requests +webencodings==0.5.1 + # via html5lib +websockets==10.3 + # via -r requirements.in +werkzeug==2.1.2 + # via flask +win32-setctime==1.1.0 + # via loguru +xmltodict==0.12.0 + # via apkutils +yarl==1.7.2 + # via aiohttp +zope-event==4.5.0 + # via gevent +zope-interface==5.4.0 + # via gevent + +# The following packages are considered to be unsafe in a requirements file: +# setuptools