Skip to content

Commit 19191b2

Browse files
Abel Milashclaude
andcommitted
Apply black formatting to examples and test files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent e9efbd9 commit 19191b2

23 files changed

Lines changed: 348 additions & 204 deletions

examples/aio/advanced/alternate_keys_upsert.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from PowerPlatform.Dataverse.aio.async_client import AsyncDataverseClient
2828
from PowerPlatform.Dataverse.models.upsert import UpsertItem
2929
from pathlib import Path
30+
3031
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
3132
from _auth import AsyncInteractiveBrowserCredential
3233

examples/aio/advanced/batch.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import sys
2020

2121
from pathlib import Path
22+
2223
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
2324
from _auth import AsyncInteractiveBrowserCredential
2425
from PowerPlatform.Dataverse.aio.async_client import AsyncDataverseClient
@@ -61,7 +62,9 @@ async def main():
6162

6263
result = await batch.execute()
6364

64-
print(f"[OK] Total: {len(result.responses)}, Succeeded: {len(result.succeeded)}, Failed: {len(result.failed)}")
65+
print(
66+
f"[OK] Total: {len(result.responses)}, Succeeded: {len(result.succeeded)}, Failed: {len(result.failed)}"
67+
)
6568
for guid in result.entity_ids:
6669
print(f"[OK] Created: {guid}")
6770
for item in result.failed:

examples/aio/advanced/dataframe_operations.py

Lines changed: 10 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import pandas as pd
2222
from pathlib import Path
23+
2324
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
2425
from _auth import AsyncInteractiveBrowserCredential
2526

@@ -89,12 +90,7 @@ async def _run_walkthrough(client):
8990
print("2. Query records as a DataFrame")
9091
print("-" * 60)
9192

92-
result = await (
93-
client.query.builder(table)
94-
.select(*select_cols)
95-
.where(raw(test_filter))
96-
.execute()
97-
)
93+
result = await client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
9894
df_all = result.to_dataframe()
9995
print(f"[OK] Got {len(df_all)} records in one DataFrame")
10096
print(f" Columns: {list(df_all.columns)}")
@@ -105,13 +101,7 @@ async def _run_walkthrough(client):
105101
print("3. Limit results with top")
106102
print("-" * 60)
107103

108-
result_top2 = await (
109-
client.query.builder(table)
110-
.select(*select_cols)
111-
.where(raw(test_filter))
112-
.top(2)
113-
.execute()
114-
)
104+
result_top2 = await client.query.builder(table).select(*select_cols).where(raw(test_filter)).top(2).execute()
115105
df_top2 = result_top2.to_dataframe()
116106
print(f"[OK] Got {len(df_top2)} records with top=2")
117107
print(f"{df_top2.to_string(index=False)}")
@@ -123,12 +113,7 @@ async def _run_walkthrough(client):
123113

124114
first_id = new_accounts["accountid"].iloc[0]
125115
print(f" Fetching record {first_id}...")
126-
result_single = await (
127-
client.query.builder(table)
128-
.select(*select_cols)
129-
.where(col("accountid") == first_id)
130-
.execute()
131-
)
116+
result_single = await client.query.builder(table).select(*select_cols).where(col("accountid") == first_id).execute()
132117
single = result_single.to_dataframe()
133118
print(f"[OK] Single record DataFrame:\n{single.to_string(index=False)}")
134119

@@ -143,9 +128,7 @@ async def _run_walkthrough(client):
143128
print("[OK] Updated 3 records")
144129

145130
# Verify the updates
146-
result_verified = await (
147-
client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
148-
)
131+
result_verified = await client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
149132
verified = result_verified.to_dataframe()
150133
print(f" Verified:\n{verified.to_string(index=False)}")
151134

@@ -161,9 +144,7 @@ async def _run_walkthrough(client):
161144
print("[OK] Broadcast update complete")
162145

163146
# Verify all records have the same websiteurl
164-
result_bc = await (
165-
client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
166-
)
147+
result_bc = await client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
167148
print(f" Verified:\n{result_bc.to_dataframe().to_string(index=False)}")
168149

169150
# Default: NaN/None fields are skipped (not overridden on server)
@@ -174,9 +155,7 @@ async def _run_walkthrough(client):
174155
]
175156
)
176157
await client.dataframe.update(table, sparse_df, id_column="accountid")
177-
result_sparse = await (
178-
client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
179-
)
158+
result_sparse = await client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
180159
print(
181160
f" Verified (Contoso telephone1 updated, websiteurl unchanged):\n"
182161
f"{result_sparse.to_dataframe().to_string(index=False)}"
@@ -186,13 +165,8 @@ async def _run_walkthrough(client):
186165
print("\n Clearing websiteurl for Contoso with clear_nulls=True...")
187166
clear_df = pd.DataFrame([{"accountid": new_accounts["accountid"].iloc[0], "websiteurl": None}])
188167
await client.dataframe.update(table, clear_df, id_column="accountid", clear_nulls=True)
189-
result_clear = await (
190-
client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
191-
)
192-
print(
193-
f" Verified (Contoso websiteurl should be empty):\n"
194-
f"{result_clear.to_dataframe().to_string(index=False)}"
195-
)
168+
result_clear = await client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
169+
print(f" Verified (Contoso websiteurl should be empty):\n" f"{result_clear.to_dataframe().to_string(index=False)}")
196170

197171
# -- 7. Delete records by passing a Series of GUIDs ------------
198172
print("\n" + "-" * 60)
@@ -204,9 +178,7 @@ async def _run_walkthrough(client):
204178
print(f"[OK] Deleted {len(new_accounts)} records")
205179

206180
# Verify deletions -- filter for our tagged records should return 0
207-
result_remaining = await (
208-
client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
209-
)
181+
result_remaining = await client.query.builder(table).select(*select_cols).where(raw(test_filter)).execute()
210182
remaining = result_remaining.to_dataframe()
211183
print(f" Verified: {len(remaining)} test records remaining (expected 0)")
212184

examples/aio/advanced/datascience_risk_assessment.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151

5252
import numpy as np
5353
import pandas as pd
54+
5455
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
5556
from _auth import AsyncInteractiveBrowserCredential
5657

examples/aio/advanced/fetchxml.py

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import sys
3232

3333
from pathlib import Path
34+
3435
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
3536
from _auth import AsyncInteractiveBrowserCredential
3637
from PowerPlatform.Dataverse.aio.async_client import AsyncDataverseClient
@@ -193,13 +194,55 @@ async def _run_examples(client):
193194

194195
log_call(f"await client.records.create('{task_table}', [...])")
195196
tasks = [
196-
{"new_Title": "Design mockups", "new_Hours": 8, "new_Done": True, "new_Priority": 2, "new_ProjectId@odata.bind": f"/{project_set}({project_ids[0]})"},
197-
{"new_Title": "Write unit tests", "new_Hours": 12, "new_Done": False, "new_Priority": 3, "new_ProjectId@odata.bind": f"/{project_set}({project_ids[0]})"},
198-
{"new_Title": "Code review", "new_Hours": 3, "new_Done": True, "new_Priority": 1, "new_ProjectId@odata.bind": f"/{project_set}({project_ids[1]})"},
199-
{"new_Title": "Deploy to staging", "new_Hours": 5, "new_Done": False, "new_Priority": 3, "new_ProjectId@odata.bind": f"/{project_set}({project_ids[1]})"},
200-
{"new_Title": "Update docs", "new_Hours": 4, "new_Done": True, "new_Priority": 1, "new_ProjectId@odata.bind": f"/{project_set}({project_ids[2]})"},
201-
{"new_Title": "Performance tuning", "new_Hours": 10, "new_Done": False, "new_Priority": 2, "new_ProjectId@odata.bind": f"/{project_set}({project_ids[3]})"},
202-
{"new_Title": "Security audit", "new_Hours": 6, "new_Done": False, "new_Priority": 3, "new_ProjectId@odata.bind": f"/{project_set}({project_ids[4]})"},
197+
{
198+
"new_Title": "Design mockups",
199+
"new_Hours": 8,
200+
"new_Done": True,
201+
"new_Priority": 2,
202+
"new_ProjectId@odata.bind": f"/{project_set}({project_ids[0]})",
203+
},
204+
{
205+
"new_Title": "Write unit tests",
206+
"new_Hours": 12,
207+
"new_Done": False,
208+
"new_Priority": 3,
209+
"new_ProjectId@odata.bind": f"/{project_set}({project_ids[0]})",
210+
},
211+
{
212+
"new_Title": "Code review",
213+
"new_Hours": 3,
214+
"new_Done": True,
215+
"new_Priority": 1,
216+
"new_ProjectId@odata.bind": f"/{project_set}({project_ids[1]})",
217+
},
218+
{
219+
"new_Title": "Deploy to staging",
220+
"new_Hours": 5,
221+
"new_Done": False,
222+
"new_Priority": 3,
223+
"new_ProjectId@odata.bind": f"/{project_set}({project_ids[1]})",
224+
},
225+
{
226+
"new_Title": "Update docs",
227+
"new_Hours": 4,
228+
"new_Done": True,
229+
"new_Priority": 1,
230+
"new_ProjectId@odata.bind": f"/{project_set}({project_ids[2]})",
231+
},
232+
{
233+
"new_Title": "Performance tuning",
234+
"new_Hours": 10,
235+
"new_Done": False,
236+
"new_Priority": 2,
237+
"new_ProjectId@odata.bind": f"/{project_set}({project_ids[3]})",
238+
},
239+
{
240+
"new_Title": "Security audit",
241+
"new_Hours": 6,
242+
"new_Done": False,
243+
"new_Priority": 3,
244+
"new_ProjectId@odata.bind": f"/{project_set}({project_ids[4]})",
245+
},
203246
]
204247
task_ids = await backoff(lambda: client.records.create(task_table, tasks))
205248
print(f"[OK] Seeded {len(task_ids)} tasks")

examples/aio/advanced/file_upload.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from pathlib import Path
2222

2323
from PowerPlatform.Dataverse.aio.async_client import AsyncDataverseClient
24+
2425
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
2526
from _auth import AsyncInteractiveBrowserCredential
2627

@@ -111,6 +112,7 @@ async def ensure_table(client) -> dict:
111112

112113
# --- Main ---
113114

115+
114116
async def main():
115117
entered = input("Enter Dataverse org URL (e.g. https://yourorg.crm.dynamics.com): ").strip()
116118
if not entered:
@@ -271,7 +273,9 @@ async def main():
271273
content_chunk = await resp.read() if hasattr(resp, "read") else (resp.content or b"")
272274

273275
dst_hash_chunk = hashlib.sha256(content_chunk).hexdigest() if content_chunk else None
274-
hash_match_chunk = (dst_hash_chunk == src_hash_chunk) if (dst_hash_chunk and src_hash_chunk) else None
276+
hash_match_chunk = (
277+
(dst_hash_chunk == src_hash_chunk) if (dst_hash_chunk and src_hash_chunk) else None
278+
)
275279
print(
276280
{
277281
"chunk_source_size": src_size_chunk,
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
new_demoprojectce00be_budget,new_demoprojectce00be_status,new_name,new_demoprojectce00beid
2+
250000.0,Active,Cloud Migration,33f255c6-f34e-f111-bec3-6045bd0a9d1e
3+
500000.0,Active,ERP Upgrade,34f255c6-f34e-f111-bec3-6045bd0a9d1e
4+
150000.0,Planning,POS Modernization,35f255c6-f34e-f111-bec3-6045bd0a9d1e
5+
180000.0,Active,Data Analytics Platform,36f255c6-f34e-f111-bec3-6045bd0a9d1e
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
modifiedon,_owninguser_value,new_democustomerce00beid,overriddencreatedon,importsequencenumber,_modifiedonbehalfby_value,new_democustomerce00be_email,new_democustomerce00be_revenue,statecode,new_democustomerce00be_industry,versionnumber,utcconversiontimezonecode,_createdonbehalfby_value,_modifiedby_value,new_name,createdon,_owningbusinessunit_value,statuscode,_owningteam_value,_createdby_value,_ownerid_value,timezoneruleversionnumber
2+
2026-05-13T17:47:23Z,5b9afa50-6d10-f111-8342-6045bd027886,27f255c6-f34e-f111-bec3-6045bd0a9d1e,,,,info@contoso.com,5000000.0,0,Technology,6454305,,,5b9afa50-6d10-f111-8342-6045bd027886,Contoso Ltd,2026-05-13T17:47:23Z,18efff4a-6d10-f111-8342-6045bd027886,1,,5b9afa50-6d10-f111-8342-6045bd027886,5b9afa50-6d10-f111-8342-6045bd027886,
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
new_demotaskce00be_estimatedhours,new_demotaskce00be_status,new_demotaskce00be_priority,new_name,new_demotaskce00beid
2+
40.0,In Progress,1,Infrastructure Setup,68674ecc-f34e-f111-bec3-6045bd0a9d1e
3+
20.0,Not Started,2,Data Assessment,69674ecc-f34e-f111-bec3-6045bd0a9d1e
4+
60.0,Not Started,1,Testing & QA,6a674ecc-f34e-f111-bec3-6045bd0a9d1e
5+
30.0,Complete,1,Requirements Gathering,6b674ecc-f34e-f111-bec3-6045bd0a9d1e
6+
80.0,In Progress,1,Development Sprint 1,6c674ecc-f34e-f111-bec3-6045bd0a9d1e
7+
16.0,Not Started,3,User Training,6d674ecc-f34e-f111-bec3-6045bd0a9d1e

examples/aio/advanced/prodev_quick_start.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
warnings.filterwarnings("ignore", message="response_mode=.*form_post", category=UserWarning)
3434

3535
import pandas as pd
36+
3637
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
3738
from _auth import AsyncInteractiveBrowserCredential
3839

@@ -384,9 +385,7 @@ async def step4_query_and_analyze(client, customer_ids, primary_name_col, primar
384385

385386
# Fetch single customer record by ID
386387
first_id = customer_ids.iloc[0]
387-
single_result = await (
388-
client.query.builder(TABLE_CUSTOMER).where(col(primary_id_col) == first_id).execute()
389-
)
388+
single_result = await client.query.builder(TABLE_CUSTOMER).where(col(primary_id_col) == first_id).execute()
390389
single = single_result.to_dataframe()
391390
print(f"\n Single customer record (by ID):")
392391
print(f"{single.to_string(index=False)}")

0 commit comments

Comments
 (0)