Skip to content

Commit c678a37

Browse files
committed
Remove singledispatch dependency
singledispatch is inluded with Python >= 3.4, no need for external package.
1 parent 14321dd commit c678a37

File tree

6 files changed

+6
-36
lines changed

6 files changed

+6
-36
lines changed

graphene_django/converter.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
from collections import OrderedDict
2+
from functools import singledispatch
3+
24
from django.db import models
35
from django.utils.encoding import force_str
46
from django.utils.module_loading import import_string
@@ -26,9 +28,6 @@
2628
from .settings import graphene_settings
2729
from .compat import ArrayField, HStoreField, JSONField, RangeField
2830
from .fields import DjangoListField, DjangoConnectionField
29-
from .utils import import_single_dispatch
30-
31-
singledispatch = import_single_dispatch()
3231

3332

3433
def convert_choice_name(name):

graphene_django/forms/converter.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
from functools import singledispatch
2+
13
from django import forms
24
from django.core.exceptions import ImproperlyConfigured
35

46
from graphene import ID, Boolean, Float, Int, List, String, UUID, Date, DateTime, Time
57

68
from .forms import GlobalIDFormField, GlobalIDMultipleChoiceField
7-
from ..utils import import_single_dispatch
8-
9-
10-
singledispatch = import_single_dispatch()
119

1210

1311
@singledispatch

graphene_django/rest_framework/serializer_converter.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1+
from functools import singledispatch
2+
13
from django.core.exceptions import ImproperlyConfigured
24
from rest_framework import serializers
35

46
import graphene
57

68
from ..registry import get_global_registry
79
from ..converter import convert_choices_to_named_enum_with_descriptions
8-
from ..utils import import_single_dispatch
910
from .types import DictType
1011

11-
singledispatch = import_single_dispatch()
12-
1312

1413
@singledispatch
1514
def get_graphene_type_from_serializer_field(field):

graphene_django/utils/__init__.py

-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
camelize,
55
get_model_fields,
66
get_reverse_fields,
7-
import_single_dispatch,
87
is_valid_django_model,
98
maybe_queryset,
109
)
@@ -16,6 +15,5 @@
1615
"get_model_fields",
1716
"camelize",
1817
"is_valid_django_model",
19-
"import_single_dispatch",
2018
"GraphQLTestCase",
2119
]

graphene_django/utils/utils.py

-23
Original file line numberDiff line numberDiff line change
@@ -76,26 +76,3 @@ def get_model_fields(model):
7676

7777
def is_valid_django_model(model):
7878
return inspect.isclass(model) and issubclass(model, models.Model)
79-
80-
81-
def import_single_dispatch():
82-
try:
83-
from functools import singledispatch
84-
except ImportError:
85-
singledispatch = None
86-
87-
if not singledispatch:
88-
try:
89-
from singledispatch import singledispatch
90-
except ImportError:
91-
pass
92-
93-
if not singledispatch:
94-
raise Exception(
95-
"It seems your python version does not include "
96-
"functools.singledispatch. Please install the 'singledispatch' "
97-
"package. More information here: "
98-
"https://pypi.python.org/pypi/singledispatch"
99-
)
100-
101-
return singledispatch

setup.py

-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
"graphene>=2.1.7,<3",
5656
"graphql-core>=2.1.0,<3",
5757
"Django>=1.11,!=2.0.*,!=2.1.*",
58-
"singledispatch>=3.4.0.3",
5958
"promise>=2.1",
6059
],
6160
setup_requires=["pytest-runner"],

0 commit comments

Comments
 (0)