Skip to content

Commit

Permalink
chore: linting
Browse files Browse the repository at this point in the history
  • Loading branch information
grutt committed May 7, 2024
1 parent bc4d2e3 commit 39aaf1d
Show file tree
Hide file tree
Showing 9 changed files with 92 additions and 79 deletions.
7 changes: 3 additions & 4 deletions examples/manual_trigger/stream.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,9 @@ async def main():
load_dotenv()
hatchet = new_client()
workflowRunId = hatchet.admin.run_workflow(
"ManualTriggerWorkflow", {"test": "test"},
options={
'additional_metadata': {"hello": "moon"}
}
"ManualTriggerWorkflow",
{"test": "test"},
options={"additional_metadata": {"hello": "moon"}},
)
listener = hatchet.listener.stream(workflowRunId)

Expand Down
9 changes: 4 additions & 5 deletions examples/simple/event_test.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
from dotenv import load_dotenv

from hatchet_sdk import new_client, PushEventOptions
from hatchet_sdk import PushEventOptions, new_client

load_dotenv()

client = new_client()

# client.event.push("user:create", {"test": "test"})
client.event.push("user:create", {"test": "test"}, options={
"additional_metadata": {"hello": "moon"}
})

client.event.push(
"user:create", {"test": "test"}, options={"additional_metadata": {"hello": "moon"}}
)
5 changes: 2 additions & 3 deletions hatchet_sdk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@
from hatchet_sdk.clients.rest.models.workflow_version_meta import WorkflowVersionMeta

from .client import new_client
from .clients.admin import ScheduleTriggerWorkflowOptions, TriggerWorkflowOptions
from .clients.events import PushEventOptions
from .clients.listener import StepRunEventType
from .context import Context
from .hatchet import ClientConfig, Hatchet
Expand All @@ -132,7 +134,4 @@
RateLimitDuration,
)

from .clients.events import PushEventOptions
from .clients.admin import ScheduleTriggerWorkflowOptions, TriggerWorkflowOptions

nest_asyncio.apply() # patch nested asyncio event loops
13 changes: 8 additions & 5 deletions hatchet_sdk/clients/admin.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from dataclasses import dataclass
import json
from dataclasses import dataclass
from datetime import datetime
from typing import Dict, List, Optional, TypedDict, Union

Expand Down Expand Up @@ -28,15 +28,18 @@ def new_admin(conn, config: ClientConfig):
token=config.token,
)


class ScheduleTriggerWorkflowOptions(TypedDict):
parent_id: Optional[str]
parent_step_run_id: Optional[str]
child_index: Optional[int]
child_key: Optional[str]


class TriggerWorkflowOptions(ScheduleTriggerWorkflowOptions):
additional_metadata: Dict[str, str] | None = None


class AdminClientImpl:
def __init__(self, client: WorkflowServiceStub, token):
self.client = client
Expand Down Expand Up @@ -134,13 +137,13 @@ def run_workflow(
payload_data = json.dumps(input)

try:
meta = None if options is None else options['additional_metadata']
options['additional_metadata'] = None if meta is None else json.dumps(meta).encode("utf-8")
meta = None if options is None else options["additional_metadata"]
options["additional_metadata"] = (
None if meta is None else json.dumps(meta).encode("utf-8")
)
except json.JSONDecodeError as e:
raise ValueError(f"Error encoding payload: {e}")



resp: TriggerWorkflowResponse = self.client.TriggerWorkflow(
TriggerWorkflowRequest(
name=workflow_name, input=payload_data, **(options or {})
Expand Down
10 changes: 6 additions & 4 deletions hatchet_sdk/clients/events.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from dataclasses import dataclass
import datetime
import json
from dataclasses import dataclass
from typing import Dict, TypedDict

import grpc
Expand All @@ -26,9 +26,11 @@ def proto_timestamp_now():

return timestamp_pb2.Timestamp(seconds=seconds, nanos=nanos)


class PushEventOptions(TypedDict):
additional_metadata: Dict[str, str] | None = None


class EventClientImpl:
def __init__(self, client: EventsServiceStub, config: ClientConfig):
self.client = client
Expand All @@ -40,11 +42,11 @@ def push(self, event_key, payload, options: PushEventOptions = None):
namespaced_event_key = self.namespace + event_key

try:
meta = None if options is None else options['additional_metadata']
meta = None if options is None else options["additional_metadata"]
meta_bytes = None if meta is None else json.dumps(meta).encode("utf-8")
except e:
raise ValueError(f"Error encoding meta: {e}")

try:
payload_bytes = json.dumps(payload).encode("utf-8")
except json.UnicodeEncodeError as e:
Expand All @@ -54,7 +56,7 @@ def push(self, event_key, payload, options: PushEventOptions = None):
key=namespaced_event_key,
payload=payload_bytes,
eventTimestamp=proto_timestamp_now(),
additionalMetadata= meta_bytes
additionalMetadata=meta_bytes,
)

try:
Expand Down
31 changes: 16 additions & 15 deletions hatchet_sdk/clients/rest/models/api_meta_posthog.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,27 @@


from __future__ import annotations

import json
import pprint
import re # noqa: F401
import json
from typing import Any, ClassVar, Dict, List, Optional, Set

from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self


class APIMetaPosthog(BaseModel):
"""
APIMetaPosthog
""" # noqa: E501
api_key: Optional[StrictStr] = Field(default=None, description="the PostHog API key", alias="apiKey")
api_host: Optional[StrictStr] = Field(default=None, description="the PostHog API host", alias="apiHost")
""" # noqa: E501

api_key: Optional[StrictStr] = Field(
default=None, description="the PostHog API key", alias="apiKey"
)
api_host: Optional[StrictStr] = Field(
default=None, description="the PostHog API host", alias="apiHost"
)
__properties: ClassVar[List[str]] = ["apiKey", "apiHost"]

model_config = ConfigDict(
Expand All @@ -36,7 +42,6 @@ class APIMetaPosthog(BaseModel):
protected_namespaces=(),
)


def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
Expand All @@ -61,8 +66,7 @@ def to_dict(self) -> Dict[str, Any]:
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
excluded_fields: Set[str] = set([])

_dict = self.model_dump(
by_alias=True,
Expand All @@ -80,10 +84,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate({
"apiKey": obj.get("apiKey"),
"apiHost": obj.get("apiHost")
})
_obj = cls.model_validate(
{"apiKey": obj.get("apiKey"), "apiHost": obj.get("apiHost")}
)
return _obj


26 changes: 13 additions & 13 deletions hatchet_sdk/clients/rest/models/update_tenant_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,26 @@


from __future__ import annotations

import json
import pprint
import re # noqa: F401
import json
from typing import Any, ClassVar, Dict, List, Optional, Set

from pydantic import BaseModel, ConfigDict, Field, StrictBool
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self


class UpdateTenantRequest(BaseModel):
"""
UpdateTenantRequest
""" # noqa: E501
analytics_opt_out: Optional[StrictBool] = Field(default=None, description="Whether the tenant has opted out of analytics.", alias="analyticsOptOut")
""" # noqa: E501

analytics_opt_out: Optional[StrictBool] = Field(
default=None,
description="Whether the tenant has opted out of analytics.",
alias="analyticsOptOut",
)
__properties: ClassVar[List[str]] = ["analyticsOptOut"]

model_config = ConfigDict(
Expand All @@ -35,7 +41,6 @@ class UpdateTenantRequest(BaseModel):
protected_namespaces=(),
)


def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
Expand All @@ -60,8 +65,7 @@ def to_dict(self) -> Dict[str, Any]:
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
excluded_fields: Set[str] = set([])

_dict = self.model_dump(
by_alias=True,
Expand All @@ -79,9 +83,5 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate({
"analyticsOptOut": obj.get("analyticsOptOut")
})
_obj = cls.model_validate({"analyticsOptOut": obj.get("analyticsOptOut")})
return _obj


30 changes: 17 additions & 13 deletions hatchet_sdk/clients/rest/models/workflow_runs_metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,21 @@


from __future__ import annotations

import json
import pprint
import re # noqa: F401
import json
from typing import Any, ClassVar, Dict, List, Optional, Set

from pydantic import BaseModel, ConfigDict
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self


class WorkflowRunsMetrics(BaseModel):
"""
WorkflowRunsMetrics
""" # noqa: E501
""" # noqa: E501

counts: Optional[Dict[str, Any]] = None
__properties: ClassVar[List[str]] = ["counts"]

Expand All @@ -35,7 +37,6 @@ class WorkflowRunsMetrics(BaseModel):
protected_namespaces=(),
)


def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
Expand All @@ -60,8 +61,7 @@ def to_dict(self) -> Dict[str, Any]:
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
excluded_fields: Set[str] = set([])

_dict = self.model_dump(
by_alias=True,
Expand All @@ -70,7 +70,7 @@ def to_dict(self) -> Dict[str, Any]:
)
# override the default output from pydantic by calling `to_dict()` of counts
if self.counts:
_dict['counts'] = self.counts.to_dict()
_dict["counts"] = self.counts.to_dict()
return _dict

@classmethod
Expand All @@ -82,9 +82,13 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate({
"counts": WorkflowRunsMetricsCounts.from_dict(obj["counts"]) if obj.get("counts") is not None else None
})
_obj = cls.model_validate(
{
"counts": (
WorkflowRunsMetricsCounts.from_dict(obj["counts"])
if obj.get("counts") is not None
else None
)
}
)
return _obj


Loading

0 comments on commit 39aaf1d

Please sign in to comment.