Skip to content

Commit e2feb35

Browse files
committed
linting
1 parent 0ad8966 commit e2feb35

11 files changed

Lines changed: 107 additions & 132 deletions

File tree

python/lib/sift_client/_internal/low_level_wrappers/assets.py

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

55
from sift.assets.v1.assets_pb2 import (
66
ArchiveAssetRequest,
7-
ArchiveAssetResponse,
7+
ArchiveAssetResponse,
88
GetAssetRequest,
99
GetAssetResponse,
1010
ListAssetsRequest,

python/lib/sift_client/_internal/low_level_wrappers/rules.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,9 @@ async def batch_archive_rules(
338338
request = BatchArchiveRulesRequest(**request_kwargs)
339339
await self._grpc_client.get_stub(RuleServiceStub).BatchArchiveRules(request)
340340

341-
async def unarchive_rule(self, rule_id: str | None = None, client_key: str | None = None) -> Rule:
341+
async def unarchive_rule(
342+
self, rule_id: str | None = None, client_key: str | None = None
343+
) -> Rule:
342344
"""Unarchive a rule.
343345
344346
Args:

python/lib/sift_client/resources/assets.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ async def list_(
7979
modified_by: Any | str | None = None,
8080
# tags
8181
tags: list[Any] | list[str] | None = None,
82-
_tag_ids: list[str] | None = None, # For compatibility until first class Tag support is added
82+
_tag_ids: list[str]
83+
| None = None, # For compatibility until first class Tag support is added
8384
# metadata
8485
metadata: list[Any] | None = None,
8586
# common filters

python/lib/sift_client/resources/calculated_channels.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import annotations
22

3-
from datetime import datetime
43
from typing import TYPE_CHECKING, Any
54

65
from sift_client._internal.low_level_wrappers.calculated_channels import (
@@ -18,6 +17,7 @@
1817

1918
if TYPE_CHECKING:
2019
import re
20+
from datetime import datetime
2121

2222
from sift_client.client import SiftClient
2323

@@ -256,9 +256,9 @@ async def archive(self, calculated_channel: str | CalculatedChannel) -> Calculat
256256
Returns:
257257
The archived CalculatedChannel.
258258
"""
259-
return await self.update(calculated_channel=calculated_channel, update=CalculatedChannelUpdate(
260-
is_archived=True
261-
))
259+
return await self.update(
260+
calculated_channel=calculated_channel, update=CalculatedChannelUpdate(is_archived=True)
261+
)
262262

263263
async def unarchive(self, calculated_channel: str | CalculatedChannel) -> CalculatedChannel:
264264
"""Unarchive a calculated channel.
@@ -269,9 +269,9 @@ async def unarchive(self, calculated_channel: str | CalculatedChannel) -> Calcul
269269
Returns:
270270
The unarchived CalculatedChannel.
271271
"""
272-
return await self.update(calculated_channel=calculated_channel, update=CalculatedChannelUpdate(
273-
is_archived=False
274-
))
272+
return await self.update(
273+
calculated_channel=calculated_channel, update=CalculatedChannelUpdate(is_archived=False)
274+
)
275275

276276
async def list_versions(
277277
self,

python/lib/sift_client/resources/rules.py

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -37,29 +37,20 @@ async def get(
3737
*,
3838
rule_id: str | None = None,
3939
client_key: str | None = None,
40-
rule_ids: list[str] | None = None,
41-
client_keys: list[str] | None = None,
42-
) -> Rule | list[Rule]:
40+
) -> Rule:
4341
"""Get a Rule.
4442
4543
Args:
4644
rule_id: The ID of the rule.
4745
client_key: The client key of the rule.
48-
rule_ids: List of rule IDs to get.
49-
client_keys: List of client keys to get.
5046
5147
Returns:
52-
The Rule or Rules.
48+
The Rule.
5349
"""
54-
if rule_id or client_key:
55-
rule = await self._low_level_client.get_rule(rule_id=rule_id, client_key=client_key)
56-
return self._apply_client_to_instance(rule)
57-
else:
58-
rules = await self._low_level_client.batch_get_rules(
59-
rule_ids=rule_ids, client_keys=client_keys
60-
)
61-
return self._apply_client_to_instances(rules)
50+
rule = await self._low_level_client.get_rule(rule_id=rule_id, client_key=client_key)
51+
return self._apply_client_to_instance(rule)
6252

53+
# TODO: update this more
6354
async def list_(
6455
self,
6556
*,
@@ -156,13 +147,16 @@ async def update(
156147
Returns:
157148
The updated Rule.
158149
"""
150+
rule_obj: Rule
159151
if isinstance(rule, str):
160-
rule = await self.get(rule_id=rule)
152+
rule_obj = await self.get(rule_id=rule)
153+
else:
154+
rule_obj = rule
161155

162156
if isinstance(update, dict):
163157
update = RuleUpdate.model_validate(update)
164158

165-
updated_rule = await self._low_level_client.update_rule(rule, update, version_notes)
159+
updated_rule = await self._low_level_client.update_rule(rule=rule_obj, update=update, version_notes=version_notes)
166160
return self._apply_client_to_instance(updated_rule)
167161

168162
async def archive(self, rule: str | Rule) -> Rule:
@@ -186,6 +180,3 @@ async def unarchive(self, rule: str | Rule) -> Rule:
186180
The unarchived Rule.
187181
"""
188182
return await self.update(rule=rule, update=RuleUpdate(is_archived=False))
189-
190-
191-

python/lib/sift_client/resources/runs.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ async def list_(
147147
filter_parts.append(cel.in_("client_key", client_keys))
148148
if assets:
149149
if all(isinstance(s, str) for s in assets):
150-
ids = cast("list[str]", assets) # linting
150+
ids = cast("list[str]", assets) # linting
151151
filter_parts.append(cel.in_("asset_ids", ids))
152152
else:
153153
asset = cast("list[Asset]", assets) # linting
@@ -239,8 +239,8 @@ async def archive(
239239
return await self.update(run, RunUpdate(is_archived=True))
240240

241241
async def unarchive(
242-
self,
243-
run: str | Run,
242+
self,
243+
run: str | Run,
244244
) -> Run:
245245
"""Unarchive a run.
246246
@@ -249,7 +249,6 @@ async def unarchive(
249249
"""
250250
return await self.update(run, RunUpdate(is_archived=False))
251251

252-
253252
async def stop(
254253
self,
255254
run: str | Run,

python/lib/sift_client/resources/sync_stubs/__init__.pyi

Lines changed: 58 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ from sift_client.sift_types.calculated_channel import (
1616
CalculatedChannelCreate,
1717
CalculatedChannelUpdate,
1818
)
19-
from sift_client.sift_types.channel import Channel, ChannelReference
20-
from sift_client.sift_types.rule import Rule, RuleAction, RuleUpdate
19+
from sift_client.sift_types.channel import Channel
20+
from sift_client.sift_types.rule import Rule, RuleCreate, RuleUpdate
2121
from sift_client.sift_types.run import Run, RunCreate, RunUpdate
2222

2323
class AssetsAPI:
@@ -113,7 +113,6 @@ class AssetsAPI:
113113
created_by: Filter assets created by this User or user ID.
114114
modified_by: Filter assets last modified by this User or user ID.
115115
tags: Filter assets with any of these Tags or tag names.
116-
_tag_ids: Filter assets with any of these Tag IDs.
117116
metadata: Filter assets by metadata criteria.
118117
description_contains: Partial description of the asset.
119118
include_archived: If True, include archived assets in results.
@@ -126,6 +125,17 @@ class AssetsAPI:
126125
"""
127126
...
128127

128+
def unarchive(self, asset: str | Asset) -> Asset:
129+
"""Unarchive an asset.
130+
131+
Args:
132+
asset: The Asset or asset ID to unarchive.
133+
134+
Returns:
135+
The unarchived Asset.
136+
"""
137+
...
138+
129139
def update(self, asset: str | Asset, update: AssetUpdate | dict) -> Asset:
130140
"""Update an Asset.
131141
@@ -159,8 +169,15 @@ class CalculatedChannelsAPI:
159169
...
160170

161171
def _run(self, coro): ...
162-
def archive(self, calculated_channel: str | CalculatedChannel) -> None:
163-
"""Archive a Calculated Channel."""
172+
def archive(self, calculated_channel: str | CalculatedChannel) -> CalculatedChannel:
173+
"""Archive a calculated channel.
174+
175+
Args:
176+
calculated_channel: The id or CalculatedChannel object of the calculated channel to archive.
177+
178+
Returns:
179+
The archived CalculatedChannel.
180+
"""
164181
...
165182

166183
def create(self, create: CalculatedChannelCreate | dict) -> CalculatedChannel:
@@ -229,7 +246,7 @@ class CalculatedChannelsAPI:
229246
order_by: str | None = None,
230247
limit: int | None = None,
231248
) -> list[CalculatedChannel]:
232-
"""List calculated channels with optional filtering.
249+
"""List calculated channels with optional filtering. This will return the latest version. To find all versions, use `list_versions`.
233250
234251
Args:
235252
name: Exact name of the calculated channel.
@@ -308,6 +325,17 @@ class CalculatedChannelsAPI:
308325
"""
309326
...
310327

328+
def unarchive(self, calculated_channel: str | CalculatedChannel) -> CalculatedChannel:
329+
"""Unarchive a calculated channel.
330+
331+
Args:
332+
calculated_channel: The id or CalculatedChannel object of the calculated channel to unarchive.
333+
334+
Returns:
335+
The unarchived CalculatedChannel.
336+
"""
337+
...
338+
311339
def update(
312340
self,
313341
calculated_channel: CalculatedChannel | str,
@@ -493,63 +521,26 @@ class RulesAPI:
493521
...
494522

495523
def _run(self, coro): ...
496-
def archive(
497-
self,
498-
*,
499-
rule: str | Rule | None = None,
500-
rules: list[Rule] | None = None,
501-
rule_ids: list[str] | None = None,
502-
client_keys: list[str] | None = None,
503-
) -> None:
504-
"""Archive a rule or multiple.
524+
def archive(self, rule: str | Rule) -> Rule:
525+
"""Archive a rule.
505526
506527
Args:
507-
rule: The Rule to archive.
508-
rules: The Rules to archive.
509-
rule_ids: The rule IDs to archive.
510-
client_keys: The client keys to archive.
511-
"""
512-
...
513-
514-
def batch_get(
515-
self, *, rule_ids: list[str] | None = None, client_keys: list[str] | None = None
516-
) -> list[Rule]:
517-
"""Get multiple rules by rule IDs or client keys.
518-
519-
Args:
520-
rule_ids: List of rule IDs to get.
521-
client_keys: List of client keys to get.
528+
rule: The id or Rule object of the rule to archive.
522529
523530
Returns:
524-
List of Rules.
531+
The archived Rule.
525532
"""
526533
...
527534

528-
def batch_restore(
529-
self, *, rule_ids: list[str] | None = None, client_keys: list[str] | None = None
530-
) -> None:
531-
"""Batch restore rules.
535+
def create(self, create: RuleCreate | dict) -> Rule:
536+
"""Create a new rule.
532537
533538
Args:
534-
rule_ids: List of rule IDs to restore.
535-
client_keys: List of client keys to undelete.
536-
"""
537-
...
539+
create: A RuleCreate object or dictionary with configuration for the new rule.
538540
539-
def create(
540-
self,
541-
name: str,
542-
description: str,
543-
expression: str,
544-
channel_references: list[ChannelReference],
545-
action: RuleAction,
546-
organization_id: str | None = None,
547-
client_key: str | None = None,
548-
asset_ids: list[str] | None = None,
549-
contextual_channels: list[str] | None = None,
550-
is_external: bool = False,
551-
) -> Rule:
552-
"""Create a new rule."""
541+
Returns:
542+
The created Rule.
543+
"""
553544
...
554545

555546
def find(self, **kwargs) -> Rule | None:
@@ -601,23 +592,19 @@ class RulesAPI:
601592
"""
602593
...
603594

604-
def restore(
605-
self, *, rule: str | Rule, rule_id: str | None = None, client_key: str | None = None
606-
) -> Rule:
607-
"""Restore a rule.
595+
def unarchive(self, rule: str | Rule) -> Rule:
596+
"""Unarchive a rule.
608597
609598
Args:
610-
rule: The Rule or rule ID to restore.
611-
rule_id: The rule ID to restore (alternative to rule parameter).
612-
client_key: The client key to restore (alternative to rule parameter).
599+
rule: The id or Rule object of the rule to unarchive.
613600
614601
Returns:
615-
The restored Rule.
602+
The unarchived Rule.
616603
"""
617604
...
618605

619606
def update(
620-
self, rule: str | Rule, update: RuleUpdate | dict, version_notes: str | None = None
607+
self, rule: Rule | str, update: RuleUpdate | dict, *, version_notes: str | None = None
621608
) -> Rule:
622609
"""Update a Rule.
623610
@@ -652,7 +639,7 @@ class RunsAPI:
652639
...
653640

654641
def _run(self, coro): ...
655-
def archive(self, run: str | Run) -> None:
642+
def archive(self, run: str | Run) -> Run:
656643
"""Archive a run.
657644
658645
Args:
@@ -777,6 +764,14 @@ class RunsAPI:
777764
"""
778765
...
779766

767+
def unarchive(self, run: str | Run) -> Run:
768+
"""Unarchive a run.
769+
770+
Args:
771+
run: The Run or run ID to unarchive.
772+
"""
773+
...
774+
780775
def update(self, run: str | Run, update: RunUpdate | dict) -> Run:
781776
"""Update a Run.
782777

python/lib/sift_client/sift_types/_base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from typing import TYPE_CHECKING, Any, Callable, ClassVar, Generic, TypeVar
55

66
from google.protobuf import field_mask_pb2, message
7-
from pydantic import BaseModel, ConfigDict, PrivateAttr
7+
from pydantic import BaseModel, ConfigDict, Field, PrivateAttr
88

99
if TYPE_CHECKING:
1010
from sift_client.client import SiftClient
@@ -18,7 +18,7 @@ class BaseType(BaseModel, Generic[ProtoT, SelfT], ABC):
1818
model_config = ConfigDict(frozen=True)
1919

2020
id_: str | None = None
21-
proto: ProtoT | None = None
21+
proto: Any | None = Field(default=None, exclude=True) # For user reference only
2222
_client: SiftClient | None = None
2323

2424
@property

0 commit comments

Comments
 (0)