pre-commit: add isort hook and apply (#354)
This commit is contained in:
parent
18a518efa7
commit
70310c9e8c
@ -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:
|
||||
|
@ -1,8 +1,8 @@
|
||||
import betterproto
|
||||
from dataclasses import dataclass
|
||||
|
||||
from typing import List
|
||||
|
||||
import betterproto
|
||||
|
||||
|
||||
@dataclass
|
||||
class TestMessage(betterproto.Message):
|
||||
|
@ -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']
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,4 @@
|
||||
from pkg_resources import get_distribution
|
||||
|
||||
|
||||
__version__ = get_distribution("betterproto").version
|
||||
|
@ -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]*"
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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
|
||||
|
@ -1,5 +1,6 @@
|
||||
import os.path
|
||||
|
||||
|
||||
try:
|
||||
# betterproto[compiler] specific dependencies
|
||||
import black
|
||||
|
@ -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:
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -1,6 +1,6 @@
|
||||
from tests.output_betterproto.enum import (
|
||||
Test,
|
||||
Choice,
|
||||
Test,
|
||||
)
|
||||
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
)
|
||||
|
||||
|
||||
|
@ -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),
|
||||
|
@ -1,4 +1,5 @@
|
||||
import pytest
|
||||
|
||||
from tests.mocks import MockChannel
|
||||
from tests.output_betterproto.googletypes_response_embedded import (
|
||||
Input,
|
||||
|
@ -1,4 +1,5 @@
|
||||
import pytest
|
||||
|
||||
from tests.mocks import MockChannel
|
||||
from tests.output_betterproto.import_service_input_message import (
|
||||
NestedRequestMessage,
|
||||
|
@ -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,
|
||||
)
|
||||
|
||||
|
||||
|
@ -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():
|
||||
|
@ -1,7 +1,7 @@
|
||||
from tests.output_betterproto.proto3_field_presence_oneof import (
|
||||
Test,
|
||||
InnerNested,
|
||||
Nested,
|
||||
Test,
|
||||
WithOptional,
|
||||
)
|
||||
|
||||
|
@ -1,4 +1,7 @@
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import (
|
||||
datetime,
|
||||
timedelta,
|
||||
)
|
||||
|
||||
from tests.output_betterproto.repeated_duration_timestamp import Test
|
||||
|
||||
|
@ -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(
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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(
|
||||
|
@ -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"
|
||||
|
@ -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()
|
||||
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user