Skip to content

Commit

Permalink
chore(internal): replace isort with ruff (#121)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-bot authored Jan 3, 2024
1 parent 5d3ee41 commit 42b60df
Show file tree
Hide file tree
Showing 49 changed files with 398 additions and 358 deletions.
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 = ["orb", "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 @@ -24,7 +24,6 @@ httpx==0.25.2
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
12 changes: 1 addition & 11 deletions src/orb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,7 @@
from . import types
from ._types import NoneType, Transport, ProxiesTypes
from ._utils import file_from_path
from ._client import (
Orb,
Client,
Stream,
Timeout,
AsyncOrb,
Transport,
AsyncClient,
AsyncStream,
RequestOptions,
)
from ._client import Orb, Client, Stream, Timeout, AsyncOrb, Transport, AsyncClient, AsyncStream, RequestOptions
from ._version import __title__, __version__
from ._exceptions import (
APIError,
Expand Down
15 changes: 11 additions & 4 deletions src/orb/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,19 @@
ProxiesTypes,
RequestOptions,
)
from ._utils import is_given, is_mapping, get_async_library
from ._utils import (
is_given,
is_mapping,
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 OrbError, APIStatusError
from ._base_client import DEFAULT_MAX_RETRIES, SyncAPIClient, AsyncAPIClient
from ._base_client import (
DEFAULT_MAX_RETRIES,
SyncAPIClient,
AsyncAPIClient,
)

__all__ = [
"Timeout",
Expand Down
30 changes: 16 additions & 14 deletions src/orb/_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/orb/_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/orb/_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/orb/_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/orb/_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/orb/_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
56 changes: 8 additions & 48 deletions src/orb/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,14 @@

from .items import Items, AsyncItems, ItemsWithRawResponse, AsyncItemsWithRawResponse
from .plans import Plans, AsyncPlans, PlansWithRawResponse, AsyncPlansWithRawResponse
from .events import (
Events,
AsyncEvents,
EventsWithRawResponse,
AsyncEventsWithRawResponse,
)
from .prices import (
Prices,
AsyncPrices,
PricesWithRawResponse,
AsyncPricesWithRawResponse,
)
from .coupons import (
Coupons,
AsyncCoupons,
CouponsWithRawResponse,
AsyncCouponsWithRawResponse,
)
from .metrics import (
Metrics,
AsyncMetrics,
MetricsWithRawResponse,
AsyncMetricsWithRawResponse,
)
from .invoices import (
Invoices,
AsyncInvoices,
InvoicesWithRawResponse,
AsyncInvoicesWithRawResponse,
)
from .customers import (
Customers,
AsyncCustomers,
CustomersWithRawResponse,
AsyncCustomersWithRawResponse,
)
from .top_level import (
TopLevel,
AsyncTopLevel,
TopLevelWithRawResponse,
AsyncTopLevelWithRawResponse,
)
from .credit_notes import (
CreditNotes,
AsyncCreditNotes,
CreditNotesWithRawResponse,
AsyncCreditNotesWithRawResponse,
)
from .events import Events, AsyncEvents, EventsWithRawResponse, AsyncEventsWithRawResponse
from .prices import Prices, AsyncPrices, PricesWithRawResponse, AsyncPricesWithRawResponse
from .coupons import Coupons, AsyncCoupons, CouponsWithRawResponse, AsyncCouponsWithRawResponse
from .metrics import Metrics, AsyncMetrics, MetricsWithRawResponse, AsyncMetricsWithRawResponse
from .invoices import Invoices, AsyncInvoices, InvoicesWithRawResponse, AsyncInvoicesWithRawResponse
from .customers import Customers, AsyncCustomers, CustomersWithRawResponse, AsyncCustomersWithRawResponse
from .top_level import TopLevel, AsyncTopLevel, TopLevelWithRawResponse, AsyncTopLevelWithRawResponse
from .credit_notes import CreditNotes, AsyncCreditNotes, CreditNotesWithRawResponse, AsyncCreditNotesWithRawResponse
from .subscriptions import (
Subscriptions,
AsyncSubscriptions,
Expand Down
7 changes: 1 addition & 6 deletions src/orb/resources/coupons/__init__.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
# File generated from our OpenAPI spec by Stainless.

from .coupons import (
Coupons,
AsyncCoupons,
CouponsWithRawResponse,
AsyncCouponsWithRawResponse,
)
from .coupons import Coupons, AsyncCoupons, CouponsWithRawResponse, AsyncCouponsWithRawResponse
from .subscriptions import (
Subscriptions,
AsyncSubscriptions,
Expand Down
13 changes: 11 additions & 2 deletions src/orb/resources/coupons/coupons.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,13 @@
import httpx

from ...types import Coupon, coupon_list_params, coupon_create_params
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._types import (
NOT_GIVEN,
Body,
Query,
Headers,
NotGiven,
)
from ..._utils import maybe_transform
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import to_raw_response_wrapper, async_to_raw_response_wrapper
Expand All @@ -18,7 +24,10 @@
SubscriptionsWithRawResponse,
AsyncSubscriptionsWithRawResponse,
)
from ..._base_client import AsyncPaginator, make_request_options
from ..._base_client import (
AsyncPaginator,
make_request_options,
)

if TYPE_CHECKING:
from ..._client import Orb, AsyncOrb
Expand Down
Loading

0 comments on commit 42b60df

Please sign in to comment.