Skip to content

Commit 2e596d0

Browse files
committed
chore: simplify redundant dict comprehensions (C416, C420)
Replace `{k: v for k in iter}` with `dict.fromkeys(iter, v)` (C420, 4x) and `{k: v for k, v in zip(a, b)}` with `dict(zip(a, b))` (C416, 4x). These are pure idiom cleanups flagged by ruff's flake8-comprehensions rules. `dict.fromkeys` and `dict()` are marginally faster and more readable, with identical behavior. Verified: same keys, same values, same order. Files touched: - m_flow/eval/report.py - m_flow/ingestion/documents/classify_documents.py - m_flow/retrieval/episodic/bundle_search.py - m_flow/retrieval/utils/fine_grained_triplet_search.py - m_flow/retrieval/utils/procedural_bundle_search.py - m_flow/tests/test_relational_db_migration.py
1 parent 9df82e8 commit 2e596d0

6 files changed

Lines changed: 11 additions & 28 deletions

File tree

m_flow/eval/report.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def _analyze_failures(
120120
) -> tuple[List[FailureCase], Dict[str, int]]:
121121
"""Analyze failure samples and bucket them."""
122122
failures = []
123-
buckets: Dict[str, int] = {k: 0 for k in FAILURE_BUCKETS}
123+
buckets: Dict[str, int] = dict.fromkeys(FAILURE_BUCKETS, 0)
124124

125125
for case, result in zip(cases, results):
126126
if not result.ok:

m_flow/ingestion/documents/classify_documents.py

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -33,33 +33,16 @@
3333
}
3434

3535
# Office document formats
36-
_OFFICE_EXTS = {ext: UnstructuredDocument for ext in ["docx", "doc", "odt", "xls", "xlsx", "ppt", "pptx", "odp", "ods"]}
36+
_OFFICE_EXTS = dict.fromkeys(["docx", "doc", "odt", "xls", "xlsx", "ppt", "pptx", "odp", "ods"], UnstructuredDocument)
3737

3838
# Image formats
39-
_IMAGE_EXTS = {
40-
ext: ImageDocument
41-
for ext in [
42-
"png",
43-
"dwg",
44-
"xcf",
45-
"jpg",
46-
"jpx",
47-
"apng",
48-
"gif",
49-
"webp",
50-
"cr2",
51-
"tif",
52-
"bmp",
53-
"jxr",
54-
"psd",
55-
"ico",
56-
"heic",
57-
"avif",
58-
]
59-
}
39+
_IMAGE_EXTS = dict.fromkeys(
40+
["png", "dwg", "xcf", "jpg", "jpx", "apng", "gif", "webp", "cr2", "tif", "bmp", "jxr", "psd", "ico", "heic", "avif"],
41+
ImageDocument,
42+
)
6043

6144
# Audio formats
62-
_AUDIO_EXTS = {ext: AudioDocument for ext in ["aac", "mid", "mp3", "m4a", "ogg", "flac", "wav", "amr", "aiff"]}
45+
_AUDIO_EXTS = dict.fromkeys(["aac", "mid", "mp3", "m4a", "ogg", "flac", "wav", "amr", "aiff"], AudioDocument)
6346

6447
# Merged mapping table
6548
_DOC_TYPE_MAP = {**_TEXT_EXTS, **_OFFICE_EXTS, **_IMAGE_EXTS, **_AUDIO_EXTS}

m_flow/retrieval/episodic/bundle_search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ async def search_in_collection(collection_name: str):
338338

339339
results = await asyncio.gather(*[search_in_collection(c) for c in cfg.collections])
340340

341-
node_distances = {c: r for c, r in zip(cfg.collections, results)}
341+
node_distances = dict(zip(cfg.collections, results))
342342
edge_distances = node_distances.get("RelationType_relationship_name", None)
343343

344344
return node_distances, edge_distances

m_flow/retrieval/utils/fine_grained_triplet_search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ async def search_in_collection(collection_name: str):
252252
f"Vector collection retrieval completed: Retrieved distances from {sum(1 for res in results if res)} collections in {vector_collection_search_time:.2f}s"
253253
)
254254

255-
node_distances = {collection: result for collection, result in zip(collections, results)}
255+
node_distances = dict(zip(collections, results))
256256

257257
edge_distances = node_distances.get("RelationType_relationship_name", None)
258258

m_flow/retrieval/utils/procedural_bundle_search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ async def search_col(col: str):
286286
if all(not r for r in results):
287287
return ([], []) if return_bundles else []
288288

289-
node_distances: Dict[str, list] = {c: r for c, r in zip(collections, results)}
289+
node_distances: Dict[str, list] = dict(zip(collections, results))
290290
edge_distances = node_distances.get("RelationType_relationship_name")
291291

292292
# Apply bonuses

m_flow/tests/test_relational_db_migration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121

2222
def _nodes_dict(nodes):
23-
return {n_id: data for (n_id, data) in nodes}
23+
return dict(nodes)
2424

2525

2626
def _normalize_name(name: str) -> str:

0 commit comments

Comments
 (0)