diff --git a/graphene_sqlalchemy/converter.py b/graphene_sqlalchemy/converter.py index efcf3c6..6502412 100644 --- a/graphene_sqlalchemy/converter.py +++ b/graphene_sqlalchemy/converter.py @@ -7,6 +7,7 @@ from sqlalchemy import types as sqa_types from sqlalchemy.dialects import postgresql +from sqlalchemy.ext.hybrid import hybrid_property from sqlalchemy.orm import ( ColumnProperty, RelationshipProperty, @@ -14,7 +15,6 @@ interfaces, strategies, ) -from sqlalchemy.ext.hybrid import hybrid_property import graphene from graphene.types.json import JSONString diff --git a/graphene_sqlalchemy/utils.py b/graphene_sqlalchemy/utils.py index 3ba1486..17d774d 100644 --- a/graphene_sqlalchemy/utils.py +++ b/graphene_sqlalchemy/utils.py @@ -3,9 +3,10 @@ import warnings from collections import OrderedDict from functools import _c3_mro +from importlib.metadata import version as get_version from typing import Any, Callable, Dict, Optional -import pkg_resources +from packaging import version from sqlalchemy import select from sqlalchemy.exc import ArgumentError from sqlalchemy.orm import class_mapper, object_mapper @@ -22,16 +23,12 @@ def get_nullable_type(_type): def is_sqlalchemy_version_less_than(version_string): """Check the installed SQLAlchemy version""" - return pkg_resources.get_distribution( - "SQLAlchemy" - ).parsed_version < pkg_resources.parse_version(version_string) + return version.parse(get_version("SQLAlchemy")) < version.parse(version_string) def is_graphene_version_less_than(version_string): # pragma: no cover """Check the installed graphene version""" - return pkg_resources.get_distribution( - "graphene" - ).parsed_version < pkg_resources.parse_version(version_string) + return version.parse(get_version("graphene")) < version.parse(version_string) SQL_VERSION_HIGHER_EQUAL_THAN_1_4 = False diff --git a/setup.py b/setup.py index fdace11..43f58f0 100644 --- a/setup.py +++ b/setup.py @@ -17,6 +17,7 @@ "promise>=2.3", "SQLAlchemy>=1.1", "aiodataloader>=0.2.0,<1.0", + "packaging>=23.0", ] tests_require = [ diff --git a/tox.ini b/tox.ini index 9ce901e..1e2f7ca 100644 --- a/tox.ini +++ b/tox.ini @@ -1,14 +1,15 @@ [tox] -envlist = pre-commit,py{37,38,39,310}-sql{12,13,14,20} +envlist = pre-commit,py{39,310,311,312,313}-sql{12,13,14,20} skipsdist = true minversion = 3.7.0 [gh-actions] python = - 3.7: py37 3.8: py38 3.9: py39 3.10: py310 + 3.11: py311 + 3.12: py312 [gh-actions:env] SQLALCHEMY =