Skip to content

Commit 6984dd5

Browse files
authored
Merge pull request #99 from ParclLabs/fix/mutable-params
remove mutable param
2 parents 9c8edb1 + 6f92781 commit 6984dd5

4 files changed

Lines changed: 18 additions & 13 deletions

File tree

parcllabs/schemas/schemas.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from datetime import datetime
66
from typing import Any
77

8-
from pydantic import BaseModel, Field, ValidationInfo, field_validator
8+
from pydantic import BaseModel, ConfigDict, Field, ValidationInfo, field_validator
99

1010
from parcllabs.enums import PropertyTypes, RequestLimits
1111

@@ -328,12 +328,11 @@ def validate_record_updated_date_range(cls, v: str | None, info: ValidationInfo)
328328
)
329329
return v
330330

331-
class Config:
332-
"""Pydantic configuration."""
333-
334-
extra = "forbid" # Reject any extra fields
335-
validate_assignment = True # Validate on assignment
336-
str_strip_whitespace = True # Strip whitespace from strings
331+
model_config = ConfigDict(
332+
extra="forbid",
333+
validate_assignment=True,
334+
str_strip_whitespace=True,
335+
)
337336

338337

339338
class PropertyV2RetrieveParamCategories(BaseModel):

parcllabs/services/metrics/portfolio_size_service.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from collections.abc import Mapping
21
from typing import Any
32

43
import pandas as pd
@@ -14,12 +13,15 @@ def retrieve(
1413
end_date: str | None = None,
1514
portfolio_size: str | None = None,
1615
limit: int | None = None,
17-
params: Mapping[str, Any] | None = {},
16+
params: dict[str, Any] | None = None,
1817
auto_paginate: bool = False,
1918
) -> pd.DataFrame:
2019
"""
2120
Retrieve portfolio size metrics for given parameters.
2221
"""
22+
if params is None:
23+
params = {}
24+
2325
if portfolio_size:
2426
params["portfolio_size"] = portfolio_size.upper()
2527

parcllabs/services/metrics/property_type_service.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from collections.abc import Mapping
21
from typing import Any
32

43
import pandas as pd
@@ -14,12 +13,15 @@ def retrieve(
1413
end_date: str | None = None,
1514
property_type: str | None = None,
1615
limit: int | None = None,
17-
params: Mapping[str, Any] | None = {},
16+
params: dict[str, Any] | None = None,
1817
auto_paginate: bool = False,
1918
) -> pd.DataFrame:
2019
"""
2120
Retrieve property type metrics for given parameters.
2221
"""
22+
if params is None:
23+
params = {}
24+
2325
if property_type:
2426
params["property_type"] = property_type.upper()
2527

parcllabs/services/properties/property_events_service.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from collections import deque
2-
from collections.abc import Mapping
32
from concurrent.futures import ThreadPoolExecutor, as_completed
43
from typing import Any
54

@@ -67,11 +66,14 @@ def retrieve(
6766
entity_owner_name: str | None = None,
6867
record_updated_date_start: str | None = None,
6968
record_updated_date_end: str | None = None,
70-
params: Mapping[str, Any] | None = {},
69+
params: dict[str, Any] | None = None,
7170
) -> pd.DataFrame:
7271
"""
7372
Retrieve property events for given parameters.
7473
"""
74+
if params is None:
75+
params = {}
76+
7577
params = self._prepare_params(
7678
event_type=event_type,
7779
start_date=start_date,

0 commit comments

Comments
 (0)