polygres-sdk 0.2.1__tar.gz → 0.4.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.
Files changed (81) hide show
  1. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/CONTRIBUTING.md +8 -5
  2. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/PKG-INFO +82 -4
  3. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/README.md +81 -3
  4. polygres_sdk-0.4.0/compatibility/0.2.1/README.md +8 -0
  5. {polygres_sdk-0.2.1/src/polygres/spec → polygres_sdk-0.4.0/compatibility/0.2.1}/python-sdk-v1.methods.json +7 -4
  6. polygres_sdk-0.4.0/compatibility/0.3.0/README.md +10 -0
  7. polygres_sdk-0.4.0/compatibility/0.3.0/python-sdk-v1.methods.json +4892 -0
  8. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/docs/reference-v1.md +528 -1
  9. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/migrations/README.md +4 -0
  10. polygres_sdk-0.4.0/migrations/pgcontext-0.2.0-names.md +71 -0
  11. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/pyproject.toml +1 -1
  12. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/__init__.py +8 -0
  13. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_method_metadata.py +2 -2
  14. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/auth/enums.py +20 -0
  15. polygres_sdk-0.4.0/src/polygres/_vendor/polygres_lib/auth/errors.py +230 -0
  16. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/auth/principals.py +2 -0
  17. polygres_sdk-0.4.0/src/polygres/_vendor/polygres_lib/context/errors.py +103 -0
  18. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/context/models.py +750 -3
  19. polygres_sdk-0.4.0/src/polygres/_vendor/polygres_lib/errors/__init__.py +27 -0
  20. polygres_sdk-0.4.0/src/polygres/_vendor/polygres_lib/errors/catalog.py +205 -0
  21. polygres_sdk-0.4.0/src/polygres/_vendor/polygres_lib/errors/generated.py +9752 -0
  22. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/client.py +94 -11
  23. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/context.py +1442 -38
  24. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/context_validation.py +12 -0
  25. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/context_wait.py +23 -14
  26. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/errors.py +32 -32
  27. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/models.py +99 -0
  28. polygres_sdk-0.4.0/src/polygres/rows.py +384 -0
  29. polygres_sdk-0.4.0/src/polygres/spec/pgcontext-0.2.0-compatibility.json +1960 -0
  30. polygres_sdk-0.4.0/src/polygres/spec/python-sdk-v1.methods.json +8083 -0
  31. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/spec/python-sdk-v1.methods.schema.json +20 -3
  32. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/spec/runtime-v1.openapi.json +10865 -3042
  33. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/fixtures/context/contract-fixtures.json +332 -15
  34. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/test_client.py +206 -2
  35. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/test_context.py +450 -2
  36. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/test_method_spec.py +5 -3
  37. polygres_sdk-0.4.0/tests/test_release_workflow.py +105 -0
  38. polygres_sdk-0.4.0/tests/test_rows.py +279 -0
  39. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/test_version.py +6 -6
  40. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/test_version_notices.py +9 -9
  41. polygres_sdk-0.4.0/tools/check_pgcontext_compatibility.py +166 -0
  42. polygres_sdk-0.4.0/tools/extract_release_notes.py +57 -0
  43. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tools/generate_runtime_openapi_snapshot.py +0 -1
  44. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tools/generate_sdk_method_spec.py +4 -0
  45. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tools/runtime_operation_exclusions.json +12 -0
  46. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tools/verify_distribution.py +2 -0
  47. polygres_sdk-0.2.1/src/polygres/_vendor/polygres_lib/auth/errors.py +0 -895
  48. polygres_sdk-0.2.1/src/polygres/_vendor/polygres_lib/context/errors.py +0 -266
  49. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/.gitignore +0 -0
  50. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/LICENSE +0 -0
  51. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/compatibility/0.1.0/README.md +0 -0
  52. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/compatibility/0.1.0/python-sdk-v1.methods.json +0 -0
  53. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/migrations/vector-configuration-creation.md +0 -0
  54. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_api_version.py +0 -0
  55. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/__init__.py +0 -0
  56. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/__init__.py +0 -0
  57. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/api_versions.py +0 -0
  58. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/auth/__init__.py +0 -0
  59. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/auth/api_keys.py +0 -0
  60. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/auth/models.py +0 -0
  61. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/auth/ports.py +0 -0
  62. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/auth/records.py +0 -0
  63. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/auth/types.py +0 -0
  64. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/context/__init__.py +0 -0
  65. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/context/enums.py +0 -0
  66. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/context/validation.py +0 -0
  67. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/core/__init__.py +0 -0
  68. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/core/models.py +0 -0
  69. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_vendor/polygres_lib/core/types.py +0 -0
  70. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/_version.py +0 -0
  71. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/context_models.py +0 -0
  72. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/py.typed +0 -0
  73. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/spec/__init__.py +0 -0
  74. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/src/polygres/version_notices.py +0 -0
  75. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/conftest.py +0 -0
  76. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/test_compatibility.py +0 -0
  77. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tests/test_packaged_resources.py +0 -0
  78. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tools/check_sdk_compatibility.py +0 -0
  79. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tools/run_context_live_test.sh +0 -0
  80. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tools/test_context_live.py +0 -0
  81. {polygres_sdk-0.2.1 → polygres_sdk-0.4.0}/tools/verify_release_version.py +0 -0
@@ -23,7 +23,7 @@ python tools/generate_runtime_openapi_snapshot.py --check
23
23
  python tools/generate_sdk_method_spec.py --check
24
24
  python tools/generate_sdk_method_spec.py --validate-only
25
25
  python tools/check_sdk_compatibility.py \
26
- --baseline compatibility/0.1.0/python-sdk-v1.methods.json
26
+ --baseline compatibility/0.3.0/python-sdk-v1.methods.json
27
27
  python -m build
28
28
  python tools/verify_distribution.py dist/*.whl dist/*.tar.gz
29
29
  ```
@@ -60,7 +60,7 @@ Release rehearsal happens first on TestPyPI:
60
60
  /tmp/polygres-sdk-testpypi/bin/python -m pip install \
61
61
  --index-url https://test.pypi.org/simple/ \
62
62
  --extra-index-url https://pypi.org/simple/ \
63
- polygres-sdk==0.2.1
63
+ polygres-sdk==0.4.0
64
64
  /tmp/polygres-sdk-testpypi/bin/python - <<'PY'
65
65
  import importlib.metadata
66
66
  from polygres import Polygres
@@ -74,12 +74,15 @@ Publish to PyPI only after the same commit has passed TestPyPI validation. Push
74
74
  a release tag from the public repository:
75
75
 
76
76
  ```bash
77
- git tag polygres-sdk-v0.2.1
78
- git push origin polygres-sdk-v0.2.1
77
+ git tag polygres-sdk-v0.4.0
78
+ git push origin polygres-sdk-v0.4.0
79
79
  ```
80
80
 
81
81
  The `pypi` GitHub environment must be approved before the upload proceeds.
82
- Project URLs in `pyproject.toml` must use valid HTTPS URLs accepted by PyPI.
82
+ After PyPI accepts the package, the workflow creates the matching GitHub
83
+ Release from the version's changelog entry and attaches the wheel and source
84
+ distribution. Project URLs in `pyproject.toml` must use valid HTTPS URLs
85
+ accepted by PyPI.
83
86
 
84
87
  ## Scope
85
88
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: polygres-sdk
3
- Version: 0.2.1
3
+ Version: 0.4.0
4
4
  Summary: Python SDK for Polygres
5
5
  Project-URL: Homepage, https://polygres.com
6
6
  Project-URL: Documentation, https://docs.polygres.com/sdk
@@ -81,6 +81,23 @@ print(readiness.graph, readiness.vector, readiness.hybrid)
81
81
 
82
82
  Use the Runtime API URL with the SDK. Do not use a direct or pooled PostgreSQL connection string.
83
83
 
84
+ ## Synchronized PostgreSQL projects
85
+
86
+ For a synchronized project, the Runtime does not expose connection information.
87
+ That surface raises `PolygresPermissionError` with code
88
+ `SYNCED_PROJECT_SURFACE_UNAVAILABLE`. Readiness, `project.vector`,
89
+ `project.hybrid`, graph, text-search, and pgContext remain available after
90
+ synchronization is ready.
91
+
92
+ If your application already has the authoritative control-plane project payload,
93
+ pass its mode to the SDK to reject a connection-information call before building
94
+ a Runtime request. The Runtime enforces the same boundary when no mode hint is
95
+ supplied.
96
+
97
+ ```python
98
+ project = client.project(project_mode="synced")
99
+ ```
100
+
84
101
  ## Choose a retrieval method
85
102
 
86
103
  | Need | Method |
@@ -97,6 +114,41 @@ New vector setup uses `project.context.create_collection()` with a native
97
114
  `pgcontext.vector` column. Existing `project.vector` retrieval methods remain available
98
115
  for applications using previously registered vector configurations.
99
116
 
117
+ ## pgContext-aligned names
118
+
119
+ SDK 0.4.0 adds pgContext 0.2.0 terminology while keeping every SDK 0.3.0
120
+ Context method available. Existing applications can upgrade without changing
121
+ their calls.
122
+
123
+ The stable pgContext 0.2.0 inventory is fully classified and has no missing SDK
124
+ entries. Database-native vector operators remain SQL-only, and five
125
+ backend-wide or privileged instrumentation functions remain available through
126
+ direct SQL rather than the project-scoped Runtime API. See the
127
+ [migration and coverage notes](migrations/pgcontext-0.2.0-names.md).
128
+
129
+ ```python
130
+ operation = project.context.register_vector(
131
+ collection_id,
132
+ "title_embedding",
133
+ 768,
134
+ )
135
+ project.context.register_filter_column(
136
+ collection_id,
137
+ "tenant_id",
138
+ "tenant_id",
139
+ )
140
+ results = project.context.query(
141
+ "support_docs",
142
+ query_embedding,
143
+ query="refund policy",
144
+ )
145
+ ```
146
+
147
+ The earlier `add_vector()`, `add_filter_column()`, and `text_hybrid()` names
148
+ remain silent compatibility aliases with unchanged behavior. See the
149
+ [pgContext naming migration](migrations/pgcontext-0.2.0-names.md) for the full
150
+ mapping.
151
+
100
152
  ## Vector retrieval
101
153
 
102
154
  Generate the query embedding with the same model and dimensions used by the saved vector configuration.
@@ -274,7 +326,9 @@ Keep the request ID when reporting a problem. Never log or send the Project API
274
326
 
275
327
  ## Connection information
276
328
 
277
- `connection_info()` returns project hosts and passwordless connection strings. It never returns the database password.
329
+ For a standard project, `connection_info()` returns project hosts and passwordless
330
+ connection strings. It never returns the database password. It raises
331
+ `PolygresPermissionError` for a synchronized project.
278
332
 
279
333
  ```python
280
334
  connection = project.connection_info()
@@ -285,13 +339,37 @@ print(connection.direct_url_without_password)
285
339
 
286
340
  Use a PostgreSQL driver such as psycopg or SQLAlchemy when your application needs a database connection. The Polygres SDK is an HTTP retrieval client and does not bundle a PostgreSQL driver.
287
341
 
342
+ ## Single-row writes
343
+
344
+ Use `project.rows` for one JSON-native row. Context reconciliation is explicit:
345
+ omit both Context options for a generic table, or select one collection so the
346
+ same operation writes the row and creates its pgContext point.
347
+
348
+ ```python
349
+ result = project.rows.upsert(
350
+ schema="public",
351
+ table="memories",
352
+ row={"id": "memory_123", "content": "Remember the deployment window."},
353
+ conflict_columns=["id"],
354
+ returning=["id"],
355
+ context_collection_id="2e172638-bd77-4a2c-bc42-406f4f2938d7",
356
+ idempotency_key="memory-123-v1",
357
+ wait_for_context=True,
358
+ )
359
+ ```
360
+
361
+ UUIDs and timestamps are JSON strings. Arrays and vectors are JSON arrays.
362
+ Never automatically retry a row-only write after a timeout; its outcome may be
363
+ ambiguous. A Context-backed request may be resumed only with the exact same
364
+ payload and idempotency key.
365
+
288
366
  ## Version and support
289
367
 
290
- Package version: [`0.2.1`](https://github.com/Evokoa/polygres-sdk/releases/tag/polygres-sdk-v0.2.1).
368
+ Package version: [`0.4.0`](https://github.com/Evokoa/polygres-sdk/releases/tag/polygres-sdk-v0.4.0).
291
369
 
292
370
  When contacting support, include the installed SDK version and the request ID.
293
371
 
294
- See the [SDK 0.2.1 release notes](https://github.com/Evokoa/polygres-sdk/releases/tag/polygres-sdk-v0.2.1) for release changes.
372
+ See the [SDK 0.4.0 release notes](https://github.com/Evokoa/polygres-sdk/releases/tag/polygres-sdk-v0.4.0) for release changes.
295
373
 
296
374
  ## Optional Agent Skill
297
375
 
@@ -39,6 +39,23 @@ print(readiness.graph, readiness.vector, readiness.hybrid)
39
39
 
40
40
  Use the Runtime API URL with the SDK. Do not use a direct or pooled PostgreSQL connection string.
41
41
 
42
+ ## Synchronized PostgreSQL projects
43
+
44
+ For a synchronized project, the Runtime does not expose connection information.
45
+ That surface raises `PolygresPermissionError` with code
46
+ `SYNCED_PROJECT_SURFACE_UNAVAILABLE`. Readiness, `project.vector`,
47
+ `project.hybrid`, graph, text-search, and pgContext remain available after
48
+ synchronization is ready.
49
+
50
+ If your application already has the authoritative control-plane project payload,
51
+ pass its mode to the SDK to reject a connection-information call before building
52
+ a Runtime request. The Runtime enforces the same boundary when no mode hint is
53
+ supplied.
54
+
55
+ ```python
56
+ project = client.project(project_mode="synced")
57
+ ```
58
+
42
59
  ## Choose a retrieval method
43
60
 
44
61
  | Need | Method |
@@ -55,6 +72,41 @@ New vector setup uses `project.context.create_collection()` with a native
55
72
  `pgcontext.vector` column. Existing `project.vector` retrieval methods remain available
56
73
  for applications using previously registered vector configurations.
57
74
 
75
+ ## pgContext-aligned names
76
+
77
+ SDK 0.4.0 adds pgContext 0.2.0 terminology while keeping every SDK 0.3.0
78
+ Context method available. Existing applications can upgrade without changing
79
+ their calls.
80
+
81
+ The stable pgContext 0.2.0 inventory is fully classified and has no missing SDK
82
+ entries. Database-native vector operators remain SQL-only, and five
83
+ backend-wide or privileged instrumentation functions remain available through
84
+ direct SQL rather than the project-scoped Runtime API. See the
85
+ [migration and coverage notes](migrations/pgcontext-0.2.0-names.md).
86
+
87
+ ```python
88
+ operation = project.context.register_vector(
89
+ collection_id,
90
+ "title_embedding",
91
+ 768,
92
+ )
93
+ project.context.register_filter_column(
94
+ collection_id,
95
+ "tenant_id",
96
+ "tenant_id",
97
+ )
98
+ results = project.context.query(
99
+ "support_docs",
100
+ query_embedding,
101
+ query="refund policy",
102
+ )
103
+ ```
104
+
105
+ The earlier `add_vector()`, `add_filter_column()`, and `text_hybrid()` names
106
+ remain silent compatibility aliases with unchanged behavior. See the
107
+ [pgContext naming migration](migrations/pgcontext-0.2.0-names.md) for the full
108
+ mapping.
109
+
58
110
  ## Vector retrieval
59
111
 
60
112
  Generate the query embedding with the same model and dimensions used by the saved vector configuration.
@@ -232,7 +284,9 @@ Keep the request ID when reporting a problem. Never log or send the Project API
232
284
 
233
285
  ## Connection information
234
286
 
235
- `connection_info()` returns project hosts and passwordless connection strings. It never returns the database password.
287
+ For a standard project, `connection_info()` returns project hosts and passwordless
288
+ connection strings. It never returns the database password. It raises
289
+ `PolygresPermissionError` for a synchronized project.
236
290
 
237
291
  ```python
238
292
  connection = project.connection_info()
@@ -243,13 +297,37 @@ print(connection.direct_url_without_password)
243
297
 
244
298
  Use a PostgreSQL driver such as psycopg or SQLAlchemy when your application needs a database connection. The Polygres SDK is an HTTP retrieval client and does not bundle a PostgreSQL driver.
245
299
 
300
+ ## Single-row writes
301
+
302
+ Use `project.rows` for one JSON-native row. Context reconciliation is explicit:
303
+ omit both Context options for a generic table, or select one collection so the
304
+ same operation writes the row and creates its pgContext point.
305
+
306
+ ```python
307
+ result = project.rows.upsert(
308
+ schema="public",
309
+ table="memories",
310
+ row={"id": "memory_123", "content": "Remember the deployment window."},
311
+ conflict_columns=["id"],
312
+ returning=["id"],
313
+ context_collection_id="2e172638-bd77-4a2c-bc42-406f4f2938d7",
314
+ idempotency_key="memory-123-v1",
315
+ wait_for_context=True,
316
+ )
317
+ ```
318
+
319
+ UUIDs and timestamps are JSON strings. Arrays and vectors are JSON arrays.
320
+ Never automatically retry a row-only write after a timeout; its outcome may be
321
+ ambiguous. A Context-backed request may be resumed only with the exact same
322
+ payload and idempotency key.
323
+
246
324
  ## Version and support
247
325
 
248
- Package version: [`0.2.1`](https://github.com/Evokoa/polygres-sdk/releases/tag/polygres-sdk-v0.2.1).
326
+ Package version: [`0.4.0`](https://github.com/Evokoa/polygres-sdk/releases/tag/polygres-sdk-v0.4.0).
249
327
 
250
328
  When contacting support, include the installed SDK version and the request ID.
251
329
 
252
- See the [SDK 0.2.1 release notes](https://github.com/Evokoa/polygres-sdk/releases/tag/polygres-sdk-v0.2.1) for release changes.
330
+ See the [SDK 0.4.0 release notes](https://github.com/Evokoa/polygres-sdk/releases/tag/polygres-sdk-v0.4.0) for release changes.
253
331
 
254
332
  ## Optional Agent Skill
255
333
 
@@ -0,0 +1,8 @@
1
+ # SDK compatibility baseline 0.2.1
2
+
3
+ `python-sdk-v1.methods.json` is the explicit released 0.2.1 public network
4
+ surface used by CI and release checks for 0.3.0. It is copied byte-for-byte
5
+ from the generated method contract at the 0.2.1 release boundary.
6
+
7
+ Release automation must name this file with `--baseline`; the compatibility
8
+ tool refuses to infer a baseline from an arbitrary local artifact.
@@ -3653,7 +3653,8 @@
3653
3653
  "limit",
3654
3654
  "max_depth",
3655
3655
  "relationship_types",
3656
- "start"
3656
+ "start",
3657
+ "target_table"
3657
3658
  ],
3658
3659
  "required_fields": [
3659
3660
  "start"
@@ -3723,7 +3724,8 @@
3723
3724
  "limit",
3724
3725
  "max_depth",
3725
3726
  "relationship_types",
3726
- "start"
3727
+ "start",
3728
+ "target_table"
3727
3729
  ],
3728
3730
  "required_fields": [
3729
3731
  "start"
@@ -3862,7 +3864,8 @@
3862
3864
  "limit",
3863
3865
  "max_depth",
3864
3866
  "relationship_types",
3865
- "start"
3867
+ "start",
3868
+ "target_table"
3866
3869
  ],
3867
3870
  "required_fields": [
3868
3871
  "start"
@@ -4454,7 +4457,7 @@
4454
4457
  "stability": "stable"
4455
4458
  }
4456
4459
  ],
4457
- "openapi_sha256": "7a0960535e680ffd590776b2f6fea4188cb857c75bf5f5568680e6189f746b5f",
4460
+ "openapi_sha256": "7dac7258e9dd8e7c92019025effee85ec71a19bca98154d20d7c00f7d8450f8a",
4458
4461
  "schema_version": 1,
4459
4462
  "sdk": "polygres-sdk",
4460
4463
  "sdk_version": "0.2.1"
@@ -0,0 +1,10 @@
1
+ # SDK compatibility baseline 0.3.0
2
+
3
+ `python-sdk-v1.methods.json` is the explicit released SDK 0.3.0 public network
4
+ surface. It is copied byte-for-byte from the generated method contract at the
5
+ 0.3.0 release boundary.
6
+
7
+ SDK 0.4.0 compatibility and release checks must name this file with
8
+ `--baseline`. The compatibility tool must classify the pgContext-aligned method
9
+ names as additive and must report no removals or breaking changes to this
10
+ baseline.