33from datetime import datetime
44from typing import Annotated , Any , Literal
55
6- from pydantic import BaseModel , Field
6+ from pydantic import BaseModel , ConfigDict , Field
7+ from pydantic .alias_generators import to_camel
78
89from crawlee .events ._types import (
910 Event ,
2728
2829@docs_group ('Event data' )
2930class SystemInfoEventData (BaseModel ):
30- mem_avg_bytes : Annotated [float , Field (alias = 'memAvgBytes' )]
31- mem_current_bytes : Annotated [float , Field (alias = 'memCurrentBytes' )]
32- mem_max_bytes : Annotated [float , Field (alias = 'memMaxBytes' )]
33- cpu_avg_usage : Annotated [float , Field (alias = 'cpuAvgUsage' )]
34- cpu_max_usage : Annotated [float , Field (alias = 'cpuMaxUsage' )]
35- cpu_current_usage : Annotated [float , Field (alias = 'cpuCurrentUsage' )]
36- is_cpu_overloaded : Annotated [bool , Field (alias = 'isCpuOverloaded' )]
37- created_at : Annotated [datetime , Field (alias = 'createdAt' )]
31+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
32+
33+ mem_avg_bytes : float
34+ mem_current_bytes : float
35+ mem_max_bytes : float
36+ cpu_avg_usage : float
37+ cpu_max_usage : float
38+ cpu_current_usage : float
39+ is_cpu_overloaded : bool
40+ created_at : datetime
3841
3942 def to_crawlee_format (self , dedicated_cpus : float ) -> EventSystemInfoData :
4043 return EventSystemInfoData .model_validate (
@@ -54,36 +57,48 @@ def to_crawlee_format(self, dedicated_cpus: float) -> EventSystemInfoData:
5457
5558@docs_group ('Events' )
5659class PersistStateEvent (BaseModel ):
60+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
61+
5762 name : Literal [Event .PERSIST_STATE ]
5863 data : Annotated [EventPersistStateData , Field (default_factory = lambda : EventPersistStateData (is_migrating = False ))]
5964
6065
6166@docs_group ('Events' )
6267class SystemInfoEvent (BaseModel ):
68+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
69+
6370 name : Literal [Event .SYSTEM_INFO ]
6471 data : SystemInfoEventData
6572
6673
6774@docs_group ('Events' )
6875class MigratingEvent (BaseModel ):
76+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
77+
6978 name : Literal [Event .MIGRATING ]
7079 data : Annotated [EventMigratingData , Field (default_factory = EventMigratingData )]
7180
7281
7382@docs_group ('Events' )
7483class AbortingEvent (BaseModel ):
84+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
85+
7586 name : Literal [Event .ABORTING ]
7687 data : Annotated [EventAbortingData , Field (default_factory = EventAbortingData )]
7788
7889
7990@docs_group ('Events' )
8091class ExitEvent (BaseModel ):
92+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
93+
8194 name : Literal [Event .EXIT ]
8295 data : Annotated [EventExitData , Field (default_factory = EventExitData )]
8396
8497
8598@docs_group ('Events' )
8699class EventWithoutData (BaseModel ):
100+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
101+
87102 name : Literal [
88103 Event .SESSION_RETIRED ,
89104 Event .BROWSER_LAUNCHED ,
@@ -97,12 +112,16 @@ class EventWithoutData(BaseModel):
97112
98113@docs_group ('Events' )
99114class DeprecatedEvent (BaseModel ):
115+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
116+
100117 name : Literal ['cpuInfo' ]
101118 data : Annotated [dict [str , Any ], Field (default_factory = dict )]
102119
103120
104121@docs_group ('Events' )
105122class UnknownEvent (BaseModel ):
123+ model_config = ConfigDict (populate_by_name = True , alias_generator = to_camel )
124+
106125 name : str
107126 data : Annotated [dict [str , Any ], Field (default_factory = dict )]
108127
0 commit comments