From ca51240dd9a13c5d52c0b6fd5135199e8ff57d5d Mon Sep 17 00:00:00 2001 From: Kartik Ohri Date: Wed, 30 Apr 2025 17:14:20 +0530 Subject: [PATCH] Upgrade dependencies and drop Python versions < 3.10 Updated the project to require Python 3.10 or newer, removing compatibility for older versions. Upgraded all dependencies to their latest versions and removed unused ones like Flask-UUID. Cleaned up Docker-related files by removing unused configurations and updated Python versioning. --- brainzutils/__init__.py | 8 +------- brainzutils/flask/__init__.py | 5 ----- requirements.txt | 23 ++++++++++------------- requirements_dev.txt | 10 +++++----- setup.py | 2 +- test/Dockerfile | 2 +- test/Dockerfile.pylint | 16 ---------------- test/docker-compose.pylint.yml | 8 -------- test/docker-compose.yml | 1 - 9 files changed, 18 insertions(+), 57 deletions(-) delete mode 100644 test/Dockerfile.pylint delete mode 100644 test/docker-compose.pylint.yml diff --git a/brainzutils/__init__.py b/brainzutils/__init__.py index 8991559..e143eb8 100644 --- a/brainzutils/__init__.py +++ b/brainzutils/__init__.py @@ -1,10 +1,4 @@ -import sys - -if sys.version_info >= (3, 10): - from importlib.metadata import version, PackageNotFoundError -else: - # importlib.metadata's API changed in 3.10, so use a backport for versions less than this. - from importlib_metadata import version, PackageNotFoundError +from importlib.metadata import version, PackageNotFoundError try: __version__ = version(__name__) diff --git a/brainzutils/flask/__init__.py b/brainzutils/flask/__init__.py index d6cd017..c90d0ea 100644 --- a/brainzutils/flask/__init__.py +++ b/brainzutils/flask/__init__.py @@ -1,5 +1,4 @@ from flask import Flask -from flask_uuid import FlaskUUID from flask_debugtoolbar import DebugToolbarExtension @@ -7,7 +6,6 @@ class CustomFlask(Flask): """Custom version of Flask with our bells and whistles.""" def __init__(self, import_name, config_file=None, debug=None, - use_flask_uuid=False, *args, **kwargs): """Create an instance of Flask app. @@ -18,15 +16,12 @@ def __init__(self, import_name, config_file=None, debug=None, config_file (str): Path to a config file that needs to be loaded. Should be in a form of Python module. debug (bool): Override debug value. - use_flask_uuid (bool): Turn on Flask-UUID extension if set to True. """ super(CustomFlask, self).__init__(import_name, *args, **kwargs) if config_file: self.config.from_pyfile(config_file) if debug is not None: self.debug = debug - if use_flask_uuid: - FlaskUUID(self) def init_debug_toolbar(self): """This method initializes the Flask-Debug extension toolbar for the diff --git a/requirements.txt b/requirements.txt index 6855a8c..18facd0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,15 +1,12 @@ -Flask>=2.1.0 -Jinja2>=3.0 -itsdangerous>=2.0 -click>=8.0 -Werkzeug>=2.0 +Flask>=3.1.0 +Jinja2>=3.1.6 +itsdangerous>=2.2.0 +click>=8.1.8 +Werkzeug>=3.1.3 Flask-DebugToolbar -Flask-UUID>=0.2 -sentry-sdk[flask]>=1.5.8 -certifi -redis>=4.2.2 -msgpack>=0.5.6 -requests>=2.27.1 -SQLAlchemy>=2.0 +sentry-sdk[flask]>=2.27.0 +redis>=5.2.1 +msgpack>=1.1.0 +requests>=2.32.3 +SQLAlchemy>=2.0.40 mbdata@git+https://github.com/acoustid/mbdata.git@v29.0.0 -importlib-metadata>=3.10.0;python_version<'3.10' diff --git a/requirements_dev.txt b/requirements_dev.txt index 6dcae04..9185e6c 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,5 +1,5 @@ -psycopg2-binary==2.9.3 -freezegun==1.2.1 -pytest==7.1.1 -pytest-cov==3.0.0 -pylint==2.13.5 +psycopg2-binary==2.9.10 +freezegun==1.5.1 +pytest==8.3.5 +pytest-cov==6.1.1 +pylint==3.3.6 diff --git a/setup.py b/setup.py index 46fbe54..c78fdae 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ author="MetaBrainz Foundation", author_email="support@metabrainz.org", py_modules=["brainzutils"], - python_requires='>=3.7', + python_requires='>=3.10', packages=find_packages(), use_scm_version=True, setup_requires=['setuptools_scm'], diff --git a/test/Dockerfile b/test/Dockerfile index dc81cf6..3afc67e 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -1,4 +1,4 @@ -FROM metabrainz/python:3.10-20220315 +FROM metabrainz/python:3.13-20250313 ENV DOCKERIZE_VERSION v0.6.1 RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ diff --git a/test/Dockerfile.pylint b/test/Dockerfile.pylint deleted file mode 100644 index 99a20b6..0000000 --- a/test/Dockerfile.pylint +++ /dev/null @@ -1,16 +0,0 @@ -FROM metabrainz/python:3.7-20210115 - -RUN mkdir /data -RUN mkdir /code -WORKDIR /code - -# Python dependencies -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - build-essential \ - git -COPY . /code/ -RUN pip install -r requirements.txt -RUN pip install -r requirements_dev.txt - -CMD find . -iname "*.py" | xargs pylint -j 4 | tee /data/pylint.out diff --git a/test/docker-compose.pylint.yml b/test/docker-compose.pylint.yml deleted file mode 100644 index 820d2dd..0000000 --- a/test/docker-compose.pylint.yml +++ /dev/null @@ -1,8 +0,0 @@ -# Docker Compose file for testing with Pylint -version: "2" -services: - - test: - build: - context: .. - dockerfile: ./test/Dockerfile.pylint diff --git a/test/docker-compose.yml b/test/docker-compose.yml index 786211e..bce1b64 100644 --- a/test/docker-compose.yml +++ b/test/docker-compose.yml @@ -1,4 +1,3 @@ -version: "2" services: test: