diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f894223..5174be3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,7 +20,7 @@ repos: hooks: - id: black - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.0.282 + rev: v0.0.283 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] diff --git a/Makefile b/Makefile index ba00562..31e5c93 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ dev-setup: .PHONY: tests ## Run unit tests tests: - PYTHONPATH=. py.test graphene_django --cov=graphene_django -vv + PYTHONPATH=. pytest graphene_django --cov=graphene_django -vv .PHONY: format ## Format code format: @@ -18,7 +18,7 @@ format: .PHONY: lint ## Lint code lint: - flake8 graphene_django examples + ruff graphene_django examples .PHONY: docs ## Generate docs docs: dev-setup diff --git a/graphene_django/forms/converter.py b/graphene_django/forms/converter.py index 3691e9a..60996b4 100644 --- a/graphene_django/forms/converter.py +++ b/graphene_django/forms/converter.py @@ -27,8 +27,8 @@ def get_form_field_description(field): @singledispatch def convert_form_field(field): raise ImproperlyConfigured( - "Don't know how to convert the Django form field {} ({}) " - "to Graphene type".format(field, field.__class__) + f"Don't know how to convert the Django form field {field} ({field.__class__}) " + "to Graphene type" ) diff --git a/graphene_django/management/commands/graphql_schema.py b/graphene_django/management/commands/graphql_schema.py index 16b49d2..25972b8 100644 --- a/graphene_django/management/commands/graphql_schema.py +++ b/graphene_django/management/commands/graphql_schema.py @@ -83,7 +83,7 @@ class Command(CommandArguments): def handle(self, *args, **options): options_schema = options.get("schema") - if options_schema and type(options_schema) is str: + if options_schema and isinstance(options_schema, str): module_str, schema_name = options_schema.rsplit(".", 1) mod = importlib.import_module(module_str) schema = getattr(mod, schema_name) diff --git a/graphene_django/rest_framework/serializer_converter.py b/graphene_django/rest_framework/serializer_converter.py index f99dc44..328c46f 100644 --- a/graphene_django/rest_framework/serializer_converter.py +++ b/graphene_django/rest_framework/serializer_converter.py @@ -13,8 +13,8 @@ from .types import DictType @singledispatch def get_graphene_type_from_serializer_field(field): raise ImproperlyConfigured( - "Don't know how to convert the serializer field {} ({}) " - "to Graphene type".format(field, field.__class__) + f"Don't know how to convert the serializer field {field} ({field.__class__}) " + "to Graphene type" ) diff --git a/graphene_django/types.py b/graphene_django/types.py index ba8e36d..163fe3f 100644 --- a/graphene_django/types.py +++ b/graphene_django/types.py @@ -160,9 +160,9 @@ class DjangoObjectType(ObjectType): registry = get_global_registry() assert isinstance(registry, Registry), ( - "The attribute registry in {} needs to be an instance of " - 'Registry, received "{}".' - ).format(cls.__name__, registry) + f"The attribute registry in {cls.__name__} needs to be an instance of " + f'Registry, received "{registry}".' + ) if filter_fields and filterset_class: raise Exception("Can't set both filter_fields and filterset_class") @@ -175,7 +175,7 @@ class DjangoObjectType(ObjectType): assert not (fields and exclude), ( "Cannot set both 'fields' and 'exclude' options on " - "DjangoObjectType {class_name}.".format(class_name=cls.__name__) + f"DjangoObjectType {cls.__name__}." ) # Alias only_fields -> fields @@ -214,8 +214,8 @@ class DjangoObjectType(ObjectType): warnings.warn( "Creating a DjangoObjectType without either the `fields` " "or the `exclude` option is deprecated. Add an explicit `fields " - "= '__all__'` option on DjangoObjectType {class_name} to use all " - "fields".format(class_name=cls.__name__), + f"= '__all__'` option on DjangoObjectType {cls.__name__} to use all " + "fields", DeprecationWarning, stacklevel=2, ) diff --git a/setup.py b/setup.py index bccf8c8..51ed637 100644 --- a/setup.py +++ b/setup.py @@ -26,7 +26,8 @@ tests_require = [ dev_requires = [ - "ruff", + "black==23.7.0", + "ruff==0.0.283", "pre-commit", ] + tests_require diff --git a/tox.ini b/tox.ini index 1f78894..41586ba 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] envlist = - py{38,39,310}-django32, - py{38,39,310}-django{41,42,main}, - py311-django{41,42,main} + py{38,39,310}-django32 + py{38,39}-django{41,42} + py{310,311}-django{41,42,main} pre-commit [gh-actions] @@ -32,10 +32,10 @@ deps = django41: Django>=4.1,<4.2 django42: Django>=4.2,<4.3 djangomain: https://github.com/django/django/archive/main.zip -commands = {posargs:py.test --cov=graphene_django graphene_django examples} +commands = {posargs:pytest --cov=graphene_django graphene_django examples} [testenv:pre-commit] skip_install = true deps = pre-commit commands = - pre-commit run --all-files --show-diff-on-failure + pre-commit run {posargs:--all-files --show-diff-on-failure}