Skip to content

Commit 9a79e16

Browse files
committed
Lint: add FIX, SIM, C, N and PERF rulesets
Also includes fixes
1 parent 8f6e139 commit 9a79e16

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

hooks/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@
1111
exec 1>&2
1212

1313
uv run ruff format --check
14+
uv run ruff check
1415
uv run mypy

pyproject.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,6 @@ strict = true
5959
include = ["src/obelisk/**/*.py"]
6060

6161
[tool.ruff.lint]
62-
select = ["E4", "E7", "E9", "F", "ASYNC", "S", "B"]
63-
ignore = []
62+
select = ["E4", "E7", "E9", "F", "ASYNC", "S", "B", "FIX", "SIM", "C90", "N", "PERF"]
63+
# Ignore N815, camelcase field names are usually for serialisation reasons
64+
ignore = ["N815"]

src/obelisk/asynchronous/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ async def _get_token(self) -> None:
7474
)
7575

7676
response = request.json()
77-
except Exception as e:
77+
except Exception as e: # noqa: PERF203 # retry strategy should add delay
7878
last_error = e
7979
self.log.error(e)
8080
continue
@@ -88,7 +88,7 @@ async def _get_token(self) -> None:
8888
if request.status_code != 200:
8989
if "error" in response:
9090
self.log.warning(f"Could not authenticate, {response['error']}")
91-
raise AuthenticationError
91+
raise AuthenticationError
9292

9393
self._token = response["access_token"]
9494
self._token_expires = datetime.now() + timedelta(

src/obelisk/asynchronous/core.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,11 @@ def check_metric_type(self) -> Self:
107107
f"Type suffix mismatch, expected number, got {type(self.value)}"
108108
)
109109

110-
if suffix == "number[]":
111-
if type(self.value) is not list or any(
112-
[not isinstance(x, Number) for x in self.value]
113-
):
114-
raise ValueError("Type suffix mismatch, expected value of number[]")
110+
if suffix == "number[]" and (
111+
type(self.value) is not list
112+
or any([not isinstance(x, Number) for x in self.value])
113+
):
114+
raise ValueError("Type suffix mismatch, expected value of number[]")
115115

116116
# Do not check json, most things should be serialisable
117117

@@ -153,9 +153,8 @@ class QueryParams(BaseModel):
153153

154154
@model_validator(mode="after")
155155
def check_datatype_needed(self) -> Self:
156-
if self.fields is None or "value" in self.fields:
157-
if self.dataType is None:
158-
raise ValueError("Value field requested, must specify datatype")
156+
if (self.fields is None or "value" in self.fields) and self.dataType is None:
157+
raise ValueError("Value field requested, must specify datatype")
159158

160159
return self
161160

@@ -182,9 +181,8 @@ class ChunkedParams(BaseModel):
182181

183182
@model_validator(mode="after")
184183
def check_datatype_needed(self) -> Self:
185-
if self.fields is None or "value" in self.fields:
186-
if self.dataType is None:
187-
raise ValueError("Value field requested, must specify datatype")
184+
if (self.fields is None or "value" in self.fields) and self.dataType is None:
185+
raise ValueError("Value field requested, must specify datatype")
188186

189187
return self
190188

0 commit comments

Comments
 (0)