Skip to content

Commit 0b3c032

Browse files
committed
[generator] Fixed mutable type param defaults
1 parent 96d7690 commit 0b3c032

File tree

9 files changed

+42
-26
lines changed

9 files changed

+42
-26
lines changed

pyatlan/generator/templates/methods/asset/a_i_application.jinja2

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
name: str,
3131
ai_application_version: str,
3232
ai_application_development_stage: AIApplicationDevelopmentStage,
33-
owner_groups: Optional[Set[str]] = set(),
34-
owner_users: Optional[Set[str]] = set(),
35-
models: Optional[List[AIModel]] = [],
33+
owner_groups: Optional[Set[str]] = None,
34+
owner_users: Optional[Set[str]] = None,
35+
models: Optional[List[AIModel]] = None,
3636
) -> AIApplication:
3737
validate_required_fields(
3838
["name", "ai_application_version", "ai_application_development_stage"],

pyatlan/generator/templates/methods/asset/a_i_model.jinja2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
*,
2828
name: str,
2929
ai_model_status: AIModelStatus,
30-
owner_groups: Optional[Set[str]] = set(),
31-
owner_users: Optional[Set[str]] = set(),
30+
owner_groups: Optional[Set[str]] = None,
31+
owner_users: Optional[Set[str]] = None,
3232
ai_model_version: Optional[str] = None,
3333
) -> AIModel:
3434
validate_required_fields(

pyatlan/generator/templates/methods/asset/process.jinja2

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
outputs: List["Catalog"],
1010
process_id: Optional[str] = None,
1111
parent: Optional[Process] = None,
12-
extra_hash_params: Optional[Set[str]] = set(),
12+
extra_hash_params: Optional[Set[str]] = None,
1313
) -> Process:
1414
return Process(
1515
attributes=Process.Attributes.create(
@@ -33,6 +33,7 @@
3333
outputs: List["Catalog"],
3434
process_id: Optional[str] = None,
3535
parent: Optional[Process] = None,
36+
extra_hash_params: Optional[Set[str]] = None,
3637
) -> Process:
3738
warn(
3839
(
@@ -49,4 +50,5 @@
4950
outputs=outputs,
5051
process_id=process_id,
5152
parent=parent,
53+
extra_hash_params=extra_hash_params,
5254
)

pyatlan/generator/templates/methods/attribute/a_i_application.jinja2

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@
77
name: str,
88
ai_application_version: str,
99
ai_application_development_stage: AIApplicationDevelopmentStage,
10-
owner_groups: Optional[Set[str]] = set(),
11-
owner_users: Optional[Set[str]] = set(),
12-
models: Optional[List[AIModel]] = [],
10+
owner_groups: Optional[Set[str]] = None,
11+
owner_users: Optional[Set[str]] = None,
12+
models: Optional[List[AIModel]] = None,
1313
) -> AIApplication.Attributes:
1414
validate_required_fields(
1515
["name", "ai_application_version", "ai_application_development_stage"],
1616
[name, ai_application_version, ai_application_development_stage],
1717
)
18+
owner_groups = owner_groups or set()
19+
owner_users = owner_users or set()
20+
models = models or []
1821
name_camel_case = to_camel_case(name)
1922
return AIApplication.Attributes(
2023
name=name,

pyatlan/generator/templates/methods/attribute/a_i_model.jinja2

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@
66
*,
77
name: str,
88
ai_model_status: AIModelStatus,
9-
owner_groups: Optional[Set[str]] = set(),
10-
owner_users: Optional[Set[str]] = set(),
9+
owner_groups: Optional[Set[str]] = None,
10+
owner_users: Optional[Set[str]] = None,
1111
ai_model_version: Optional[str] = None,
1212
) -> AIModel.Attributes:
1313
validate_required_fields(
1414
["name", "ai_model_status"],
1515
[name, ai_model_status],
1616
)
17+
owner_groups = owner_groups or set()
18+
owner_users = owner_users or set()
1719
name_camel_case = to_camel_case(name)
1820
return AIModel.Attributes(
1921
name=name,

pyatlan/generator/templates/methods/attribute/process.jinja2

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
outputs: List["Catalog"],
88
parent: Optional["Process"] = None,
99
process_id: Optional[str] = None,
10-
extra_hash_params: Optional[Set[str]] = set(),
10+
extra_hash_params: Optional[Set[str]] = None,
1111
) -> str:
1212
def append_relationship(output: StringIO, relationship: Asset):
1313
if relationship.guid:
@@ -21,6 +21,7 @@
2121
["name", "connection_qualified_name", "inputs", "outputs"],
2222
[name, connection_qualified_name, inputs, outputs],
2323
)
24+
extra_hash_params = extra_hash_params or set()
2425
if process_id and process_id.strip():
2526
return f"{connection_qualified_name}/{process_id}"
2627
buffer = StringIO()
@@ -51,7 +52,7 @@
5152
outputs: List["Catalog"],
5253
process_id: Optional[str] = None,
5354
parent: Optional[Process] = None,
54-
extra_hash_params: Optional[Set[str]] = set(),
55+
extra_hash_params: Optional[Set[str]] = None,
5556
) -> Process.Attributes:
5657
qualified_name = Process.Attributes.generate_qualified_name(
5758
name=name,

pyatlan/model/assets/core/a_i_application.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ def creator(
5353
name: str,
5454
ai_application_version: str,
5555
ai_application_development_stage: AIApplicationDevelopmentStage,
56-
owner_groups: Optional[Set[str]] = set(),
57-
owner_users: Optional[Set[str]] = set(),
58-
models: Optional[List[AIModel]] = [],
56+
owner_groups: Optional[Set[str]] = None,
57+
owner_users: Optional[Set[str]] = None,
58+
models: Optional[List[AIModel]] = None,
5959
) -> AIApplication:
6060
validate_required_fields(
6161
["name", "ai_application_version", "ai_application_development_stage"],
@@ -167,14 +167,17 @@ def creator(
167167
name: str,
168168
ai_application_version: str,
169169
ai_application_development_stage: AIApplicationDevelopmentStage,
170-
owner_groups: Optional[Set[str]] = set(),
171-
owner_users: Optional[Set[str]] = set(),
172-
models: Optional[List[AIModel]] = [],
170+
owner_groups: Optional[Set[str]] = None,
171+
owner_users: Optional[Set[str]] = None,
172+
models: Optional[List[AIModel]] = None,
173173
) -> AIApplication.Attributes:
174174
validate_required_fields(
175175
["name", "ai_application_version", "ai_application_development_stage"],
176176
[name, ai_application_version, ai_application_development_stage],
177177
)
178+
owner_groups = owner_groups or set()
179+
owner_users = owner_users or set()
180+
models = models or []
178181
name_camel_case = to_camel_case(name)
179182
return AIApplication.Attributes(
180183
name=name,

pyatlan/model/assets/core/a_i_model.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ def creator(
4848
*,
4949
name: str,
5050
ai_model_status: AIModelStatus,
51-
owner_groups: Optional[Set[str]] = set(),
52-
owner_users: Optional[Set[str]] = set(),
51+
owner_groups: Optional[Set[str]] = None,
52+
owner_users: Optional[Set[str]] = None,
5353
ai_model_version: Optional[str] = None,
5454
) -> AIModel:
5555
validate_required_fields(
@@ -249,14 +249,16 @@ def creator(
249249
*,
250250
name: str,
251251
ai_model_status: AIModelStatus,
252-
owner_groups: Optional[Set[str]] = set(),
253-
owner_users: Optional[Set[str]] = set(),
252+
owner_groups: Optional[Set[str]] = None,
253+
owner_users: Optional[Set[str]] = None,
254254
ai_model_version: Optional[str] = None,
255255
) -> AIModel.Attributes:
256256
validate_required_fields(
257257
["name", "ai_model_status"],
258258
[name, ai_model_status],
259259
)
260+
owner_groups = owner_groups or set()
261+
owner_users = owner_users or set()
260262
name_camel_case = to_camel_case(name)
261263
return AIModel.Attributes(
262264
name=name,

pyatlan/model/assets/core/process.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def creator(
3131
outputs: List["Catalog"],
3232
process_id: Optional[str] = None,
3333
parent: Optional[Process] = None,
34-
extra_hash_params: Optional[Set[str]] = set(),
34+
extra_hash_params: Optional[Set[str]] = None,
3535
) -> Process:
3636
return Process(
3737
attributes=Process.Attributes.create(
@@ -55,6 +55,7 @@ def create(
5555
outputs: List["Catalog"],
5656
process_id: Optional[str] = None,
5757
parent: Optional[Process] = None,
58+
extra_hash_params: Optional[Set[str]] = None,
5859
) -> Process:
5960
warn(
6061
(
@@ -71,6 +72,7 @@ def create(
7172
outputs=outputs,
7273
process_id=process_id,
7374
parent=parent,
75+
extra_hash_params=extra_hash_params,
7476
)
7577

7678
type_name: str = Field(default="Process", allow_mutation=False)
@@ -385,7 +387,7 @@ def generate_qualified_name(
385387
outputs: List["Catalog"],
386388
parent: Optional["Process"] = None,
387389
process_id: Optional[str] = None,
388-
extra_hash_params: Optional[Set[str]] = set(),
390+
extra_hash_params: Optional[Set[str]] = None,
389391
) -> str:
390392
def append_relationship(output: StringIO, relationship: Asset):
391393
if relationship.guid:
@@ -399,6 +401,7 @@ def append_relationships(output: StringIO, relationships: List["Catalog"]):
399401
["name", "connection_qualified_name", "inputs", "outputs"],
400402
[name, connection_qualified_name, inputs, outputs],
401403
)
404+
extra_hash_params = extra_hash_params or set()
402405
if process_id and process_id.strip():
403406
return f"{connection_qualified_name}/{process_id}"
404407
buffer = StringIO()
@@ -429,7 +432,7 @@ def create(
429432
outputs: List["Catalog"],
430433
process_id: Optional[str] = None,
431434
parent: Optional[Process] = None,
432-
extra_hash_params: Optional[Set[str]] = set(),
435+
extra_hash_params: Optional[Set[str]] = None,
433436
) -> Process.Attributes:
434437
qualified_name = Process.Attributes.generate_qualified_name(
435438
name=name,

0 commit comments

Comments
 (0)