interloper-toolkit 0.72.0__tar.gz → 0.74.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: interloper-toolkit
3
- Version: 0.72.0
3
+ Version: 0.74.0
4
4
  Summary: Interloper shared read-only tool functions for AI surfaces (agent, MCP)
5
5
  Author: Guillaume Onfroy
6
6
  Author-email: Guillaume Onfroy <guillaume@digitlcloud.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "interloper-toolkit"
3
- version = "0.72.0"
3
+ version = "0.74.0"
4
4
  description = "Interloper shared read-only tool functions for AI surfaces (agent, MCP)"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -27,6 +27,7 @@ workspace = true
27
27
  line-length = 120
28
28
 
29
29
  [tool.ruff.lint]
30
+ preview = true
30
31
  extend-select = [
31
32
  "E",
32
33
  "I",
@@ -34,8 +35,13 @@ extend-select = [
34
35
  "ANN001",
35
36
  "ANN201",
36
37
  "ANN202",
38
+ "DOC",
39
+ "D",
37
40
  ]
38
41
 
42
+ [tool.ruff.lint.pydocstyle]
43
+ convention = "google"
44
+
39
45
  [tool.ruff.lint.per-file-ignores]
40
46
  "__init__.py" = [
41
47
  "F401",
@@ -44,4 +50,13 @@ extend-select = [
44
50
  "tests/**" = [
45
51
  "ANN",
46
52
  "F811",
53
+ "D101",
54
+ "D102",
55
+ "D103",
56
+ "D104",
57
+ ]
58
+ "src/interloper_toolkit/{analytics,catalog,collection,lineage,scheduling}.py" = [
59
+ "D417",
60
+ "DOC201",
61
+ "BLE001",
47
62
  ]
@@ -3,7 +3,7 @@
3
3
  # ###############
4
4
  [project]
5
5
  name = "interloper-toolkit"
6
- version = "0.72.0"
6
+ version = "0.74.0"
7
7
  description = "Interloper shared read-only tool functions for AI surfaces (agent, MCP)"
8
8
  readme = "README.md"
9
9
  authors = [{ name = "Guillaume Onfroy", email = "guillaume@digitlcloud.com" }]
@@ -28,8 +28,13 @@ interloper-db = { workspace = true }
28
28
  line-length = 120
29
29
 
30
30
  [tool.ruff.lint]
31
- extend-select = ["E", "I", "UP", "ANN001", "ANN201", "ANN202"]
31
+ preview = true
32
+ extend-select = ["E", "I", "UP", "ANN001", "ANN201", "ANN202", "DOC", "D"]
33
+
34
+ [tool.ruff.lint.pydocstyle]
35
+ convention = "google"
32
36
 
33
37
  [tool.ruff.lint.per-file-ignores]
34
38
  "__init__.py" = ["F401", "F403"]
35
- "tests/**" = ["ANN", "F811"]
39
+ "tests/**" = ["ANN", "F811", "D101", "D102", "D103", "D104"]
40
+ "src/interloper_toolkit/{analytics,catalog,collection,lineage,scheduling}.py" = ["D417", "DOC201", "BLE001"]
@@ -11,4 +11,4 @@ descriptions.
11
11
  from interloper_toolkit.context import ToolkitContext, serialize
12
12
  from interloper_toolkit.models import ToolError
13
13
 
14
- __all__ = ["ToolkitContext", "ToolError", "serialize"]
14
+ __all__ = ["ToolError", "ToolkitContext", "serialize"]
@@ -34,6 +34,10 @@ def serialize(obj: Any) -> Any:
34
34
 
35
35
  Args:
36
36
  obj: A SQLModel row, dict, list, or primitive.
37
+
38
+ Returns:
39
+ The value with rows, UUIDs and datetimes rendered JSON-safe.
40
+
37
41
  """
38
42
  if obj is None:
39
43
  return None
@@ -224,7 +224,7 @@ def _build_adjacency(
224
224
  source_keys[a.parent_id] = a.parent.key
225
225
 
226
226
  # Add source_key to asset_info
227
- for uid, info in asset_info.items():
227
+ for info in asset_info.values():
228
228
  sid_str = info["source_id"]
229
229
  if sid_str:
230
230
  info["source_key"] = source_keys.get(UUID(sid_str), "unknown")