pre-commit: add isort hook and apply (#354)

This commit is contained in:
Arun Babu Neelicattu 2022-03-17 01:01:17 +01:00 committed by GitHub
parent 18a518efa7
commit 70310c9e8c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 216 additions and 58 deletions

View File

@ -2,6 +2,11 @@ ci:
autofix_prs: false
repos:
- repo: https://github.com/pycqa/isort
rev: 5.10.1
hooks:
- id: isort
- repo: https://github.com/psf/black
rev: 22.1.0
hooks:

View File

@ -1,8 +1,8 @@
import betterproto
from dataclasses import dataclass
from typing import List
import betterproto
@dataclass
class TestMessage(betterproto.Message):

View File

@ -100,6 +100,15 @@ help = "Run tests with multiple pythons"
cmd = "black . --check --diff"
help = "Check if code style is correct"
[tool.isort]
py_version = 37
profile = "black"
force_single_line = false
combine_as_imports = true
lines_after_imports = 2
include_trailing_comma = true
force_grid_wrap = 2
src_paths = ["src", "tests"]
[tool.black]
target-version = ['py36']

View File

@ -7,9 +7,16 @@ import sys
import typing
import warnings
from abc import ABC
from base64 import b64decode, b64encode
from base64 import (
b64decode,
b64encode,
)
from copy import deepcopy
from datetime import datetime, timedelta, timezone
from datetime import (
datetime,
timedelta,
timezone,
)
from typing import (
Any,
Callable,
@ -29,9 +36,14 @@ from dateutil.parser import isoparse
from ._types import T
from ._version import __version__
from .casing import camel_case, safe_snake_case, snake_case
from .casing import (
camel_case,
safe_snake_case,
snake_case,
)
from .grpc.grpclib_client import ServiceStub
# Proto 3 data types
TYPE_ENUM = "enum"
TYPE_BOOL = "bool"

View File

@ -1,7 +1,12 @@
from typing import TYPE_CHECKING, TypeVar
from typing import (
TYPE_CHECKING,
TypeVar,
)
if TYPE_CHECKING:
from grpclib._typing import IProtoMessage
from . import Message
# Bound type variable to allow methods to return `self` of subclasses

View File

@ -1,3 +1,4 @@
from pkg_resources import get_distribution
__version__ = get_distribution("betterproto").version

View File

@ -1,6 +1,7 @@
import keyword
import re
# Word delimiters and symbols that will not be preserved when re-casing.
# language=PythonRegExp
SYMBOLS = "[^a-zA-Z0-9]*"

View File

@ -1,11 +1,18 @@
import os
import re
from typing import Dict, List, Set, Tuple, Type
from typing import (
Dict,
List,
Set,
Tuple,
Type,
)
from ..casing import safe_snake_case
from ..lib.google import protobuf as google_protobuf
from .naming import pythonize_class_name
WRAPPER_TYPES: Dict[str, Type] = {
".google.protobuf.DoubleValue": google_protobuf.DoubleValue,
".google.protobuf.FloatValue": google_protobuf.FloatValue,

View File

@ -15,7 +15,11 @@ from typing import (
import grpclib.const
from .._types import ST, T
from .._types import (
ST,
T,
)
if TYPE_CHECKING:
from grpclib.client import Channel

View File

@ -1,6 +1,10 @@
from abc import ABC
from collections.abc import AsyncIterable
from typing import Any, Callable, Dict
from typing import (
Any,
Callable,
Dict,
)
import grpclib
import grpclib.server

View File

@ -1,5 +1,13 @@
import asyncio
from typing import AsyncIterable, AsyncIterator, Iterable, Optional, TypeVar, Union
from typing import (
AsyncIterable,
AsyncIterator,
Iterable,
Optional,
TypeVar,
Union,
)
T = TypeVar("T")

View File

@ -3,7 +3,10 @@
# plugin: python-betterproto
import warnings
from dataclasses import dataclass
from typing import Dict, List
from typing import (
Dict,
List,
)
import betterproto
from betterproto.grpc.grpclib_server import ServiceBase

View File

@ -1,5 +1,6 @@
import os.path
try:
# betterproto[compiler] specific dependencies
import black

View File

@ -7,9 +7,8 @@ from betterproto.lib.google.protobuf.compiler import (
CodeGeneratorRequest,
CodeGeneratorResponse,
)
from betterproto.plugin.parser import generate_code
from betterproto.plugin.models import monkey_patch_oneof_index
from betterproto.plugin.parser import generate_code
def main() -> None:

View File

@ -33,13 +33,28 @@ reference to `A` to `B`'s `fields` attribute.
import builtins
import re
import textwrap
from dataclasses import dataclass, field
from typing import Dict, Iterable, Iterator, List, Optional, Set, Type, Union
from dataclasses import (
dataclass,
field,
)
from typing import (
Dict,
Iterable,
Iterator,
List,
Optional,
Set,
Type,
Union,
)
import betterproto
from betterproto import which_one_of
from betterproto.casing import sanitize_name
from betterproto.compile.importing import get_type_reference, parse_source_type_name
from betterproto.compile.importing import (
get_type_reference,
parse_source_type_name,
)
from betterproto.compile.naming import (
pythonize_class_name,
pythonize_field_name,
@ -58,13 +73,17 @@ from betterproto.lib.google.protobuf import (
from betterproto.lib.google.protobuf.compiler import CodeGeneratorRequest
from ..casing import sanitize_name
from ..compile.importing import get_type_reference, parse_source_type_name
from ..compile.importing import (
get_type_reference,
parse_source_type_name,
)
from ..compile.naming import (
pythonize_class_name,
pythonize_field_name,
pythonize_method_name,
)
# Create a unique placeholder to deal with
# https://stackoverflow.com/questions/51575931/class-inheritance-in-python-3-7-dataclasses
PLACEHOLDER = object()

View File

@ -1,3 +1,15 @@
import itertools
import pathlib
import sys
from typing import (
TYPE_CHECKING,
Iterator,
List,
Set,
Tuple,
Union,
)
from betterproto.lib.google.protobuf import (
DescriptorProto,
EnumDescriptorProto,
@ -11,10 +23,7 @@ from betterproto.lib.google.protobuf.compiler import (
CodeGeneratorResponseFeature,
CodeGeneratorResponseFile,
)
import itertools
import pathlib
import sys
from typing import Iterator, List, Set, Tuple, TYPE_CHECKING, Union
from .compiler import outputfile_compiler
from .models import (
EnumDefinitionCompiler,
@ -30,6 +39,7 @@ from .models import (
is_oneof,
)
if TYPE_CHECKING:
from google.protobuf.descriptor import Descriptor

View File

@ -1,10 +1,10 @@
#!/usr/bin/env python
import asyncio
import os
from pathlib import Path
import platform
import shutil
import sys
from pathlib import Path
from typing import Set
from tests.util import (
@ -15,6 +15,7 @@ from tests.util import (
protoc,
)
# Force pure-python implementation instead of C++, otherwise imports
# break things because we can't properly reset the symbol database.
os.environ["PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION"] = "python"

View File

@ -3,18 +3,19 @@ import sys
import uuid
import grpclib
import grpclib.client
import grpclib.metadata
import grpclib.server
import grpclib.client
import pytest
from betterproto.grpc.util.async_channel import AsyncChannel
from grpclib.testing import ChannelFor
from betterproto.grpc.util.async_channel import AsyncChannel
from tests.output_betterproto.service import (
DoThingRequest,
DoThingResponse,
GetThingRequest,
TestStub as ThingServiceClient,
)
from tests.output_betterproto.service import TestStub as ThingServiceClient
from .thing_service import ThingService

View File

@ -1,9 +1,11 @@
import asyncio
from dataclasses import dataclass
from typing import AsyncIterator
import pytest
import betterproto
from betterproto.grpc.util.async_channel import AsyncChannel
from dataclasses import dataclass
import pytest
from typing import AsyncIterator
@dataclass

View File

@ -1,12 +1,14 @@
from typing import Dict
import grpclib
import grpclib.server
from tests.output_betterproto.service import (
DoThingResponse,
DoThingRequest,
DoThingResponse,
GetThingRequest,
GetThingResponse,
)
import grpclib
import grpclib.server
from typing import Dict
class ThingService:

View File

@ -1,6 +1,6 @@
from tests.output_betterproto.enum import (
Test,
Choice,
Test,
)

View File

@ -1,7 +1,11 @@
from typing import AsyncIterable, AsyncIterator
from typing import (
AsyncIterable,
AsyncIterator,
)
import pytest
from grpclib.testing import ChannelFor
from tests.output_betterproto.example_service import (
ExampleRequest,
ExampleResponse,

View File

@ -1,14 +1,14 @@
import pytest
from google.protobuf import json_format
import betterproto
from tests.output_betterproto.google_impl_behavior_equivalence import (
Test,
Foo,
Test,
)
from tests.output_reference.google_impl_behavior_equivalence.google_impl_behavior_equivalence_pb2 import (
Test as ReferenceTest,
Foo as ReferenceFoo,
Test as ReferenceTest,
)

View File

@ -1,9 +1,18 @@
from typing import Any, Callable, Optional
from typing import (
Any,
Callable,
Optional,
)
import pytest
import betterproto.lib.google.protobuf as protobuf
import pytest
from tests.mocks import MockChannel
from tests.output_betterproto.googletypes_response import Input, TestStub
from tests.output_betterproto.googletypes_response import (
Input,
TestStub,
)
test_cases = [
(TestStub.get_double, protobuf.DoubleValue, 2.5),

View File

@ -1,4 +1,5 @@
import pytest
from tests.mocks import MockChannel
from tests.output_betterproto.googletypes_response_embedded import (
Input,

View File

@ -1,4 +1,5 @@
import pytest
from tests.mocks import MockChannel
from tests.output_betterproto.import_service_input_message import (
NestedRequestMessage,

View File

@ -1,11 +1,12 @@
import pytest
import datetime
import pytest
import betterproto
from tests.output_betterproto.oneof_default_value_serialization import (
Test,
Message,
NestedMessage,
Test,
)

View File

@ -1,6 +1,10 @@
import json
from tests.output_betterproto.proto3_field_presence import Test, InnerTest, TestEnum
from tests.output_betterproto.proto3_field_presence import (
InnerTest,
Test,
TestEnum,
)
def test_null_fields_json():

View File

@ -1,7 +1,7 @@
from tests.output_betterproto.proto3_field_presence_oneof import (
Test,
InnerNested,
Nested,
Test,
WithOptional,
)

View File

@ -1,4 +1,7 @@
from datetime import datetime, timedelta
from datetime import (
datetime,
timedelta,
)
from tests.output_betterproto.repeated_duration_timestamp import Test

View File

@ -1,6 +1,10 @@
import pytest
from betterproto.casing import camel_case, pascal_case, snake_case
from betterproto.casing import (
camel_case,
pascal_case,
snake_case,
)
@pytest.mark.parametrize(

View File

@ -2,7 +2,10 @@ import warnings
import pytest
from tests.output_betterproto.deprecated import Message, Test
from tests.output_betterproto.deprecated import (
Message,
Test,
)
@pytest.fixture

View File

@ -1,8 +1,18 @@
from copy import (
copy,
deepcopy,
)
from dataclasses import dataclass
from copy import copy, deepcopy
from datetime import datetime
from inspect import Parameter, signature
from typing import Dict, List, Optional
from inspect import (
Parameter,
signature,
)
from typing import (
Dict,
List,
Optional,
)
import betterproto
@ -351,8 +361,10 @@ def test_recursive_message():
def test_recursive_message_defaults():
from tests.output_betterproto.recursivemessage import Intermediate
from tests.output_betterproto.recursivemessage import Test as RecursiveMessage
from tests.output_betterproto.recursivemessage import (
Intermediate,
Test as RecursiveMessage,
)
msg = RecursiveMessage(name="bob", intermediate=Intermediate(42))

View File

@ -1,6 +1,9 @@
import pytest
from betterproto.compile.importing import get_type_reference, parse_source_type_name
from betterproto.compile.importing import (
get_type_reference,
parse_source_type_name,
)
@pytest.mark.parametrize(

View File

@ -5,7 +5,13 @@ import os
import sys
from collections import namedtuple
from types import ModuleType
from typing import Any, Dict, List, Set, Tuple
from typing import (
Any,
Dict,
List,
Set,
Tuple,
)
import pytest
@ -19,6 +25,7 @@ from tests.util import (
inputs_path,
)
# Force pure-python implementation instead of C++, otherwise imports
# break things because we can't properly reset the symbol database.
os.environ["PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION"] = "python"

View File

@ -1,7 +1,10 @@
from betterproto import __version__
from pathlib import Path
import tomlkit
from betterproto import __version__
PROJECT_TOML = Path(__file__).joinpath("..", "..", "pyproject.toml").resolve()

View File

@ -1,11 +1,20 @@
import asyncio
from dataclasses import dataclass
import importlib
import os
from pathlib import Path
import sys
from dataclasses import dataclass
from pathlib import Path
from types import ModuleType
from typing import Callable, Dict, Generator, List, Optional, Tuple, Union
from typing import (
Callable,
Dict,
Generator,
List,
Optional,
Tuple,
Union,
)
os.environ["PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION"] = "python"