Skip to content

Commit a2b39b0

Browse files
committed
fix types around lint, tests with NOT_GIVEN migration
1 parent 249f9d2 commit a2b39b0

File tree

13 files changed

+814
-703
lines changed

13 files changed

+814
-703
lines changed

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ build-backend = "hatchling.build"
9898

9999
[dependency-groups]
100100
dev = [
101+
"mypy>=1.18.2",
101102
"ruff>=0.12.7",
102103
]
103104

scripts/bootstrap

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,4 @@ fi
2121

2222
echo "==> Installing Python dependencies…"
2323

24-
# experimental uv support makes installations significantly faster
25-
rye config --set-bool behavior.use-uv=true
26-
27-
rye sync --all-features
24+
uv sync --all-extras --all-groups

scripts/format

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@ set -e
55
cd "$(dirname "$0")/.."
66

77
echo "==> Running formatters"
8-
rye run format
8+
uv run ruff format
9+
uv run python scripts/utils/ruffen-docs.py README.md api.md
10+
uv run ruff check --fix .
11+
# run formatting again to fix any inconsistencies when imports are stripped
12+
uv run ruff format

scripts/lint

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -e
55
cd "$(dirname "$0")/.."
66

77
echo "==> Running lints"
8-
rye run lint
8+
uv run ruff check .
99

1010
echo "==> Making sure it imports"
11-
rye run python -c 'import runloop_api_client'
11+
uv run python -c 'import runloop_api_client'

scripts/test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ if [ "${RUN_SMOKETESTS}" != "1" ]; then
6363
PYTEST_ARGS+=( -m "not smoketest" )
6464
fi
6565

66-
rye run pytest "${PYTEST_ARGS[@]}" "$@"
66+
uv run pytest "${PYTEST_ARGS[@]}" "$@"
6767

6868
echo "==> Running Pydantic v1 tests"
69-
rye run nox -s test-pydantic-v1 -- "${PYTEST_ARGS[@]}" "$@"
69+
uv run nox -s test-pydantic-v1 -- "${PYTEST_ARGS[@]}" "$@"

src/runloop_api_client/_models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ def __str__(self) -> str:
179179
@classmethod
180180
@override
181181
def construct( # pyright: ignore[reportIncompatibleMethodOverride]
182-
__cls: Type[ModelT], # type: ignore
182+
__cls: Type[ModelT], # type: ignore
183183
_fields_set: set[str] | None = None,
184184
**values: object,
185185
) -> ModelT:

src/runloop_api_client/resources/blueprints.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
blueprint_preview_params,
1313
blueprint_list_public_params,
1414
)
15-
from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
15+
from .._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
1616
from .._utils import maybe_transform, async_maybe_transform
1717
from .._compat import cached_property
1818
from .._resource import SyncAPIResource, AsyncAPIResource

src/runloop_api_client/resources/devboxes/devboxes.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
devbox_snapshot_disk_async_params,
3838
devbox_write_file_contents_params,
3939
)
40-
from ..._types import Body, Omit, Query, Headers, NotGiven, FileTypes, omit, not_given
40+
from ..._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, FileTypes, omit, not_given
4141
from ..._utils import is_given, extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
4242
from .browsers import (
4343
BrowsersResource,
@@ -805,7 +805,7 @@ def execute_and_await_completion(
805805
return the result within the initial request's timeout. If the execution is not yet
806806
complete, it switches to using wait_for_command to minimize latency while waiting.
807807
"""
808-
command_id = str(uuid7()) # type: ignore
808+
command_id = str(uuid7()) # type: ignore
809809
execution = self.execute(
810810
devbox_id,
811811
command=command,
@@ -2249,7 +2249,7 @@ async def execute_and_await_completion(
22492249
complete, it switches to using wait_for_command to minimize latency while waiting.
22502250
"""
22512251

2252-
command_id = str(uuid7()) # type: ignore
2252+
command_id = str(uuid7()) # type: ignore
22532253
execution = await self.execute(
22542254
devbox_id,
22552255
command=command,

src/runloop_api_client/resources/devboxes/executions.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -363,10 +363,10 @@ def stream_stderr_updates(
363363
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
364364
if not execution_id:
365365
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
366-
367-
default_headers: Headers = {'Accept': 'text/event-stream'}
366+
367+
default_headers: Headers = {"Accept": "text/event-stream"}
368368
merged_headers = default_headers if extra_headers is None else {**default_headers, **extra_headers}
369-
369+
370370
if merged_headers and merged_headers.get(RAW_RESPONSE_HEADER):
371371
return self._get(
372372
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stderr_updates",
@@ -447,10 +447,10 @@ def stream_stdout_updates(
447447
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
448448
if not execution_id:
449449
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
450-
451-
default_headers: Headers = {'Accept': 'text/event-stream'}
450+
451+
default_headers: Headers = {"Accept": "text/event-stream"}
452452
merged_headers = default_headers if extra_headers is None else {**default_headers, **extra_headers}
453-
453+
454454
if merged_headers and merged_headers.get(RAW_RESPONSE_HEADER):
455455
return self._get(
456456
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stdout_updates",
@@ -816,10 +816,10 @@ async def stream_stderr_updates(
816816
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
817817
if not execution_id:
818818
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
819-
820-
default_headers: Headers = {'Accept': 'text/event-stream'}
819+
820+
default_headers: Headers = {"Accept": "text/event-stream"}
821821
merged_headers = default_headers if extra_headers is None else {**default_headers, **extra_headers}
822-
822+
823823
if merged_headers and merged_headers.get(RAW_RESPONSE_HEADER):
824824
return await self._get(
825825
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stderr_updates",
@@ -900,11 +900,10 @@ async def stream_stdout_updates(
900900
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
901901
if not execution_id:
902902
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
903-
904-
default_headers: Headers = {'Accept': 'text/event-stream'}
903+
904+
default_headers: Headers = {"Accept": "text/event-stream"}
905905
merged_headers = default_headers if extra_headers is None else {**default_headers, **extra_headers}
906906

907-
908907
# If caller requested a raw or streaming response wrapper, return the underlying stream as-is
909908
if merged_headers and merged_headers.get(RAW_RESPONSE_HEADER):
910909
return await self._get(

src/runloop_api_client/resources/scenarios/runs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import httpx
66

7-
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
7+
from ..._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, omit, not_given
88
from ..._utils import maybe_transform
99
from ..._compat import cached_property
1010
from ..._resource import SyncAPIResource, AsyncAPIResource

0 commit comments

Comments
 (0)