Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(internal): replace isort with ruff #298

Merged
merged 1 commit into from
Jan 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ dev-dependencies = [
"pytest",
"pytest-asyncio",
"ruff",
"isort",
"time-machine",
"nox",
"dirty-equals>=0.6.0",
Expand All @@ -66,7 +65,6 @@ format = { chain = [
"format:ruff",
"format:docs",
"fix:ruff",
"format:isort",
]}
"format:black" = "black ."
"format:docs" = "python bin/ruffen-docs.py README.md api.md"
Expand Down Expand Up @@ -127,16 +125,13 @@ reportImplicitOverride = true
reportImportCycles = false
reportPrivateUsage = false

[tool.isort]
profile = "black"
length_sort = true
extra_standard_library = ["typing_extensions"]

[tool.ruff]
line-length = 120
output-format = "grouped"
target-version = "py37"
select = [
# isort
"I",
# bugbear rules
"B",
# remove unused imports
Expand All @@ -163,6 +158,13 @@ ignore-init-module-imports = true
[tool.ruff.format]
docstring-code-format = true

[tool.ruff.lint.isort]
length-sort = true
length-sort-straight = true
combine-as-imports = true
extra-standard-library = ["typing_extensions"]
known-first-party = ["anthropic", "tests"]

[tool.ruff.per-file-ignores]
"bin/**.py" = ["T201", "T203"]
"tests/**.py" = ["T201", "T203"]
Expand Down
1 change: 0 additions & 1 deletion requirements-dev.lock
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ huggingface-hub==0.16.4
idna==3.4
importlib-metadata==7.0.0
iniconfig==2.0.0
isort==5.10.1
mypy==1.7.1
mypy-extensions==1.0.0
nodeenv==1.8.0
Expand Down
3 changes: 1 addition & 2 deletions src/anthropic/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
RequestOptions,
)
from ._version import __title__, __version__
from ._constants import AI_PROMPT as AI_PROMPT
from ._constants import HUMAN_PROMPT as HUMAN_PROMPT
from ._constants import AI_PROMPT as AI_PROMPT, HUMAN_PROMPT as HUMAN_PROMPT
from ._exceptions import (
APIError,
ConflictError,
Expand Down
15 changes: 10 additions & 5 deletions src/anthropic/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,18 @@
AsyncTransport,
RequestOptions,
)
from ._utils import is_given, get_async_library
from ._utils import (
is_given,
get_async_library,
)
from ._version import __version__
from ._streaming import Stream as Stream
from ._streaming import AsyncStream as AsyncStream
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
from ._exceptions import APIStatusError
from ._tokenizers import TokenizerType # type: ignore[import]
from ._tokenizers import sync_get_tokenizer, async_get_tokenizer
from ._tokenizers import (
TokenizerType, # type: ignore[import]
sync_get_tokenizer,
async_get_tokenizer,
)
from ._base_client import (
DEFAULT_LIMITS,
DEFAULT_MAX_RETRIES,
Expand Down
30 changes: 16 additions & 14 deletions src/anthropic/_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,23 @@ def is_typeddict(type_: type[Any]) -> bool: # noqa: ARG001

else:
if PYDANTIC_V2:
from pydantic.v1.typing import get_args as get_args
from pydantic.v1.typing import is_union as is_union
from pydantic.v1.typing import get_origin as get_origin
from pydantic.v1.typing import is_typeddict as is_typeddict
from pydantic.v1.typing import is_literal_type as is_literal_type
from pydantic.v1.datetime_parse import parse_date as parse_date
from pydantic.v1.datetime_parse import parse_datetime as parse_datetime
from pydantic.v1.typing import (
get_args as get_args,
is_union as is_union,
get_origin as get_origin,
is_typeddict as is_typeddict,
is_literal_type as is_literal_type,
)
from pydantic.v1.datetime_parse import parse_date as parse_date, parse_datetime as parse_datetime
else:
from pydantic.typing import get_args as get_args
from pydantic.typing import is_union as is_union
from pydantic.typing import get_origin as get_origin
from pydantic.typing import is_typeddict as is_typeddict
from pydantic.typing import is_literal_type as is_literal_type
from pydantic.datetime_parse import parse_date as parse_date
from pydantic.datetime_parse import parse_datetime as parse_datetime
from pydantic.typing import (
get_args as get_args,
is_union as is_union,
get_origin as get_origin,
is_typeddict as is_typeddict,
is_literal_type as is_literal_type,
)
from pydantic.datetime_parse import parse_date as parse_date, parse_datetime as parse_datetime


# refactored config
Expand Down
14 changes: 4 additions & 10 deletions src/anthropic/_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,11 @@
AnyMapping,
HttpxRequestFiles,
)
from ._utils import (
is_list,
is_given,
is_mapping,
parse_date,
parse_datetime,
strip_not_given,
)
from ._compat import PYDANTIC_V2, ConfigDict
from ._compat import GenericModel as BaseGenericModel
from ._utils import is_list, is_given, is_mapping, parse_date, parse_datetime, strip_not_given
from ._compat import (
PYDANTIC_V2,
ConfigDict,
GenericModel as BaseGenericModel,
get_args,
is_union,
parse_obj,
Expand Down
9 changes: 1 addition & 8 deletions src/anthropic/_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,7 @@
Sequence,
AsyncIterator,
)
from typing_extensions import (
Literal,
Protocol,
TypeAlias,
TypedDict,
override,
runtime_checkable,
)
from typing_extensions import Literal, Protocol, TypeAlias, TypedDict, override, runtime_checkable

import httpx
import pydantic
Expand Down
83 changes: 44 additions & 39 deletions src/anthropic/_utils/__init__.py
Original file line number Diff line number Diff line change
@@ -1,40 +1,45 @@
from ._proxy import LazyProxy as LazyProxy
from ._utils import flatten as flatten
from ._utils import is_dict as is_dict
from ._utils import is_list as is_list
from ._utils import is_given as is_given
from ._utils import is_tuple as is_tuple
from ._utils import is_mapping as is_mapping
from ._utils import is_tuple_t as is_tuple_t
from ._utils import parse_date as parse_date
from ._utils import is_sequence as is_sequence
from ._utils import coerce_float as coerce_float
from ._utils import is_mapping_t as is_mapping_t
from ._utils import removeprefix as removeprefix
from ._utils import removesuffix as removesuffix
from ._utils import extract_files as extract_files
from ._utils import is_sequence_t as is_sequence_t
from ._utils import required_args as required_args
from ._utils import coerce_boolean as coerce_boolean
from ._utils import coerce_integer as coerce_integer
from ._utils import file_from_path as file_from_path
from ._utils import parse_datetime as parse_datetime
from ._utils import strip_not_given as strip_not_given
from ._utils import deepcopy_minimal as deepcopy_minimal
from ._utils import get_async_library as get_async_library
from ._utils import maybe_coerce_float as maybe_coerce_float
from ._utils import get_required_header as get_required_header
from ._utils import maybe_coerce_boolean as maybe_coerce_boolean
from ._utils import maybe_coerce_integer as maybe_coerce_integer
from ._typing import is_list_type as is_list_type
from ._typing import is_union_type as is_union_type
from ._typing import extract_type_arg as extract_type_arg
from ._typing import is_required_type as is_required_type
from ._typing import is_annotated_type as is_annotated_type
from ._typing import strip_annotated_type as strip_annotated_type
from ._typing import extract_type_var_from_base as extract_type_var_from_base
from ._streams import consume_sync_iterator as consume_sync_iterator
from ._streams import consume_async_iterator as consume_async_iterator
from ._transform import PropertyInfo as PropertyInfo
from ._transform import transform as transform
from ._transform import maybe_transform as maybe_transform
from ._utils import (
flatten as flatten,
is_dict as is_dict,
is_list as is_list,
is_given as is_given,
is_tuple as is_tuple,
is_mapping as is_mapping,
is_tuple_t as is_tuple_t,
parse_date as parse_date,
is_sequence as is_sequence,
coerce_float as coerce_float,
is_mapping_t as is_mapping_t,
removeprefix as removeprefix,
removesuffix as removesuffix,
extract_files as extract_files,
is_sequence_t as is_sequence_t,
required_args as required_args,
coerce_boolean as coerce_boolean,
coerce_integer as coerce_integer,
file_from_path as file_from_path,
parse_datetime as parse_datetime,
strip_not_given as strip_not_given,
deepcopy_minimal as deepcopy_minimal,
get_async_library as get_async_library,
maybe_coerce_float as maybe_coerce_float,
get_required_header as get_required_header,
maybe_coerce_boolean as maybe_coerce_boolean,
maybe_coerce_integer as maybe_coerce_integer,
)
from ._typing import (
is_list_type as is_list_type,
is_union_type as is_union_type,
extract_type_arg as extract_type_arg,
is_required_type as is_required_type,
is_annotated_type as is_annotated_type,
strip_annotated_type as strip_annotated_type,
extract_type_var_from_base as extract_type_var_from_base,
)
from ._streams import consume_sync_iterator as consume_sync_iterator, consume_async_iterator as consume_async_iterator
from ._transform import (
PropertyInfo as PropertyInfo,
transform as transform,
maybe_transform as maybe_transform,
)
5 changes: 4 additions & 1 deletion src/anthropic/_utils/_transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@

import pydantic

from ._utils import is_list, is_mapping
from ._utils import (
is_list,
is_mapping,
)
from ._typing import (
is_list_type,
is_union_type,
Expand Down
3 changes: 1 addition & 2 deletions src/anthropic/_utils/_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@
import sniffio

from .._types import Headers, NotGiven, FileTypes, NotGivenOr, HeadersLike
from .._compat import parse_date as parse_date
from .._compat import parse_datetime as parse_datetime
from .._compat import parse_date as parse_date, parse_datetime as parse_datetime

_T = TypeVar("_T")
_TupleT = TypeVar("_TupleT", bound=Tuple[object, ...])
Expand Down
14 changes: 8 additions & 6 deletions src/anthropic/lib/streaming/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from ._messages import MessageStream as MessageStream
from ._messages import MessageStreamT as MessageStreamT
from ._messages import AsyncMessageStream as AsyncMessageStream
from ._messages import AsyncMessageStreamT as AsyncMessageStreamT
from ._messages import MessageStreamManager as MessageStreamManager
from ._messages import AsyncMessageStreamManager as AsyncMessageStreamManager
from ._messages import (
MessageStream as MessageStream,
MessageStreamT as MessageStreamT,
AsyncMessageStream as AsyncMessageStream,
AsyncMessageStreamT as AsyncMessageStreamT,
MessageStreamManager as MessageStreamManager,
AsyncMessageStreamManager as AsyncMessageStreamManager,
)
7 changes: 1 addition & 6 deletions src/anthropic/resources/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
# File generated from our OpenAPI spec by Stainless.

from .beta import Beta, AsyncBeta, BetaWithRawResponse, AsyncBetaWithRawResponse
from .completions import (
Completions,
AsyncCompletions,
CompletionsWithRawResponse,
AsyncCompletionsWithRawResponse,
)
from .completions import Completions, AsyncCompletions, CompletionsWithRawResponse, AsyncCompletionsWithRawResponse

__all__ = [
"Completions",
Expand Down
7 changes: 1 addition & 6 deletions src/anthropic/resources/beta/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
# File generated from our OpenAPI spec by Stainless.

from .beta import Beta, AsyncBeta, BetaWithRawResponse, AsyncBetaWithRawResponse
from .messages import (
Messages,
AsyncMessages,
MessagesWithRawResponse,
AsyncMessagesWithRawResponse,
)
from .messages import Messages, AsyncMessages, MessagesWithRawResponse, AsyncMessagesWithRawResponse

__all__ = [
"Messages",
Expand Down
7 changes: 1 addition & 6 deletions src/anthropic/resources/beta/beta.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,7 @@

from typing import TYPE_CHECKING

from .messages import (
Messages,
AsyncMessages,
MessagesWithRawResponse,
AsyncMessagesWithRawResponse,
)
from .messages import Messages, AsyncMessages, MessagesWithRawResponse, AsyncMessagesWithRawResponse
from ..._resource import SyncAPIResource, AsyncAPIResource

if TYPE_CHECKING:
Expand Down
12 changes: 10 additions & 2 deletions src/anthropic/resources/beta/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,13 @@

import httpx

from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._types import (
NOT_GIVEN,
Body,
Query,
Headers,
NotGiven,
)
from ..._utils import required_args, maybe_transform
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import to_raw_response_wrapper, async_to_raw_response_wrapper
Expand All @@ -19,7 +25,9 @@
MessageStreamEvent,
message_create_params,
)
from ..._base_client import make_request_options
from ..._base_client import (
make_request_options,
)
from ...lib.streaming import (
MessageStream,
MessageStreamT,
Expand Down
12 changes: 10 additions & 2 deletions src/anthropic/resources/completions.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,20 @@
import httpx

from ..types import Completion, completion_create_params
from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from .._types import (
NOT_GIVEN,
Body,
Query,
Headers,
NotGiven,
)
from .._utils import required_args, maybe_transform
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import to_raw_response_wrapper, async_to_raw_response_wrapper
from .._streaming import Stream, AsyncStream
from .._base_client import make_request_options
from .._base_client import (
make_request_options,
)

if TYPE_CHECKING:
from .._client import Anthropic, AsyncAnthropic
Expand Down
6 changes: 1 addition & 5 deletions tests/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,7 @@
from anthropic._client import Anthropic, AsyncAnthropic
from anthropic._models import BaseModel, FinalRequestOptions
from anthropic._streaming import Stream, AsyncStream
from anthropic._exceptions import (
APIStatusError,
APITimeoutError,
APIResponseValidationError,
)
from anthropic._exceptions import APIStatusError, APITimeoutError, APIResponseValidationError
from anthropic._base_client import (
DEFAULT_TIMEOUT,
HTTPX_DEFAULT_TIMEOUT,
Expand Down
Loading