From 509f3a045df71dcf1ac124ecf9fa77c57c2f116f Mon Sep 17 00:00:00 2001 From: Eran Kampf <205185+ekampf@users.noreply.github.com> Date: Sat, 1 Jun 2019 19:52:45 -0700 Subject: [PATCH] Remove six dependency (#986) * No one is using func_name * Remove six simple usages * Remove six requirement * Remove `six.with_metaclass` calls --- graphene/pyutils/compat.py | 13 ------------- graphene/test/__init__.py | 3 +-- graphene/types/datetime.py | 7 +++---- graphene/types/enum.py | 5 +---- graphene/types/scalars.py | 3 +-- graphene/types/utils.py | 4 +--- graphene/types/uuid.py | 3 +-- graphene/utils/subclass_with_meta.py | 4 +--- setup.py | 1 - 9 files changed, 9 insertions(+), 34 deletions(-) diff --git a/graphene/pyutils/compat.py b/graphene/pyutils/compat.py index 3d3ce2fe7..d6d24358a 100644 --- a/graphene/pyutils/compat.py +++ b/graphene/pyutils/compat.py @@ -1,21 +1,8 @@ from __future__ import absolute_import -import six - from graphql.pyutils.compat import Enum try: from inspect import signature except ImportError: from .signature import signature - -if six.PY2: - - def func_name(func): - return func.func_name - - -else: - - def func_name(func): - return func.__name__ diff --git a/graphene/test/__init__.py b/graphene/test/__init__.py index dab3b51bc..4d2e4df0c 100644 --- a/graphene/test/__init__.py +++ b/graphene/test/__init__.py @@ -1,5 +1,4 @@ from promise import Promise, is_thenable -import six from graphql.error import format_error as format_graphql_error from graphql.error import GraphQLError @@ -10,7 +9,7 @@ def default_format_error(error): if isinstance(error, GraphQLError): return format_graphql_error(error) - return {"message": six.text_type(error)} + return {"message": str(error)} def format_execution_result(execution_result, format_error): diff --git a/graphene/types/datetime.py b/graphene/types/datetime.py index 6a55b0833..43aa43285 100644 --- a/graphene/types/datetime.py +++ b/graphene/types/datetime.py @@ -4,7 +4,6 @@ from aniso8601 import parse_date, parse_datetime, parse_time from graphql.language import ast -from six import string_types from .scalars import Scalar @@ -35,7 +34,7 @@ def parse_value(value): try: if isinstance(value, datetime.date): return value - elif isinstance(value, string_types): + elif isinstance(value, str): return parse_date(value) except ValueError: return None @@ -65,7 +64,7 @@ def parse_value(value): try: if isinstance(value, datetime.datetime): return value - elif isinstance(value, string_types): + elif isinstance(value, str): return parse_datetime(value) except ValueError: return None @@ -95,7 +94,7 @@ def parse_value(cls, value): try: if isinstance(value, datetime.time): return value - elif isinstance(value, string_types): + elif isinstance(value, str): return parse_time(value) except ValueError: return None diff --git a/graphene/types/enum.py b/graphene/types/enum.py index 7b8e71f52..997cc0aec 100644 --- a/graphene/types/enum.py +++ b/graphene/types/enum.py @@ -1,7 +1,4 @@ from collections import OrderedDict - -import six - from graphene.utils.subclass_with_meta import SubclassWithMeta_Meta from ..pyutils.compat import Enum as PyEnum @@ -66,7 +63,7 @@ def from_enum(cls, enum, description=None, deprecation_reason=None): # noqa: N8 return type(meta_class.enum.__name__, (Enum,), {"Meta": meta_class}) -class Enum(six.with_metaclass(EnumMeta, UnmountedType, BaseType)): +class Enum(UnmountedType, BaseType, metaclass=EnumMeta): @classmethod def __init_subclass_with_meta__(cls, enum=None, _meta=None, **options): if not _meta: diff --git a/graphene/types/scalars.py b/graphene/types/scalars.py index a5596d285..b9cb1aa0e 100644 --- a/graphene/types/scalars.py +++ b/graphene/types/scalars.py @@ -1,4 +1,3 @@ -import six from typing import Any from graphql.language.ast import BooleanValue, FloatValue, IntValue, StringValue @@ -113,7 +112,7 @@ class String(Scalar): def coerce_string(value): if isinstance(value, bool): return u"true" if value else u"false" - return six.text_type(value) + return str(value) serialize = coerce_string parse_value = coerce_string diff --git a/graphene/types/utils.py b/graphene/types/utils.py index b026355b8..a7e23572c 100644 --- a/graphene/types/utils.py +++ b/graphene/types/utils.py @@ -2,8 +2,6 @@ from collections import OrderedDict from functools import partial -from six import string_types - from ..utils.module_loading import import_string from .mountedtype import MountedType from .unmountedtype import UnmountedType @@ -39,7 +37,7 @@ def yank_fields_from_attrs(attrs, _as=None, sort=True): def get_type(_type): - if isinstance(_type, string_types): + if isinstance(_type, str): return import_string(_type) if inspect.isfunction(_type) or isinstance(_type, partial): return _type() diff --git a/graphene/types/uuid.py b/graphene/types/uuid.py index b3f74228e..b9e642d0b 100644 --- a/graphene/types/uuid.py +++ b/graphene/types/uuid.py @@ -1,5 +1,4 @@ from __future__ import absolute_import -import six from uuid import UUID as _UUID from graphql.language import ast @@ -12,7 +11,7 @@ class UUID(Scalar): @staticmethod def serialize(uuid): - if isinstance(uuid, six.string_types): + if isinstance(uuid, str): uuid = _UUID(uuid) assert isinstance(uuid, _UUID), f"Expected UUID instance, received {uuid}" diff --git a/graphene/utils/subclass_with_meta.py b/graphene/utils/subclass_with_meta.py index 91cfa2e0c..e95300a5c 100644 --- a/graphene/utils/subclass_with_meta.py +++ b/graphene/utils/subclass_with_meta.py @@ -1,7 +1,5 @@ from inspect import isclass -import six - from ..pyutils.init_subclass import InitSubclassMeta from .props import props @@ -18,7 +16,7 @@ def __repr__(cls): return f"<{cls.__name__} meta={repr(cls._meta)}>" -class SubclassWithMeta(six.with_metaclass(SubclassWithMeta_Meta)): +class SubclassWithMeta(metaclass=SubclassWithMeta_Meta): """This class improves __init_subclass__ to receive automatically the options from meta""" # We will only have the metaclass in Python 2 diff --git a/setup.py b/setup.py index 6b1a6ba30..9991e9adf 100644 --- a/setup.py +++ b/setup.py @@ -79,7 +79,6 @@ def run_tests(self): keywords="api graphql protocol rest relay graphene", packages=find_packages(exclude=["tests", "tests.*", "examples"]), install_requires=[ - "six>=1.10.0,<2", "graphql-core>=2.1,<3", "graphql-relay>=0.4.5,<1", "aniso8601>=3,<=6.0.*",