Skip to content

feat: add Property binding resource support to SDK#1486

Open
ionmincu wants to merge 1 commit intomainfrom
feat/property-bindings-support
Open

feat: add Property binding resource support to SDK#1486
ionmincu wants to merge 1 commit intomainfrom
feat/property-bindings-support

Conversation

@ionmincu
Copy link
Contributor

@ionmincu ionmincu commented Mar 24, 2026

Summary

  • Adds sdk.bindings.get_property(key, sub_property?) — a generic API for reading connector-defined Property binding values from bindings.json at runtime
  • Extends BindingResourceValue with optional description and propertyName fields present in Property bindings
  • Adds PropertyResourceOverwrite to the resource overwrite discriminated union so runtime overwrites work for Property resources
  • Documents Property as the 7th resource type in bindings.spec.md
  • Replaces the need for user-maintained helpers like the get_binding_property() function seen in vertical solutions

Changes

  • runtime_schema.pyBindingResourceValue gains optional description / propertyName fields
  • _bindings.py — new PropertyResourceOverwrite class; added to ResourceOverwriteUnion
  • _bindings_service.py (new) — BindingsService.get_property() reads bindings.json, supports exact and suffix key matching, and honours runtime overwrites via the existing _resource_overwrites ContextVar
  • _uipath.py — exposes sdk.bindings as a cached_property
  • bindings.spec.md — full documentation for the Property resource type including key format, value structure, metadata fields, and SDK usage examples
  • test_property_bindings.py (new) — 13 unit tests covering happy paths, suffix matching, runtime overwrites, and error cases

Test plan

  • All 1636 existing tests pass
  • 13 new unit tests for BindingsService and PropertyResourceOverwrite
  • Suffix key matching verified
  • Runtime overwrite path verified
  • KeyError raised for unknown keys and sub-properties

Development Packages

uipath-platform

[project]
dependencies = [
  # Exact version:
  "uipath-platform==0.1.8.dev1014865578",

  # Any version from PR
  "uipath-platform>=0.1.8.dev1014860000,<0.1.8.dev1014870000"
]

[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
explicit = true

[tool.uv.sources]
uipath-platform = { index = "testpypi" }

uipath

[project]
dependencies = [
  # Exact version:
  "uipath==2.10.29.dev1014865567",

  # Any version from PR
  "uipath>=2.10.29.dev1014860000,<2.10.29.dev1014870000"
]

[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
explicit = true

[tool.uv.sources]
uipath = { index = "testpypi" }

@github-actions github-actions bot added test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-llamaindex Triggers tests in the uipath-llamaindex-python repository labels Mar 24, 2026
@ionmincu ionmincu added the build:dev Create a dev build from the pr label Mar 24, 2026
Adds support for the Property resource type in bindings.json, enabling
users to read connector-defined property values (e.g. SharePoint folder
IDs) without writing custom helpers.

- Extend BindingResourceValue with optional description/propertyName fields
- Add PropertyResourceOverwrite to the resource overwrite discriminated union
- Add BindingsService with get_property() that reads from bindings.json
  and respects runtime resource overwrites via the existing ContextVar
- Expose sdk.bindings as a cached_property on the UiPath class
- Update bindings.spec.md to document Property as the 7th resource type
- Add unit tests covering file reads, suffix key matching, runtime
  overwrites, and error cases
@ionmincu ionmincu force-pushed the feat/property-bindings-support branch from 2590e00 to 42d2acc Compare March 24, 2026 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build:dev Create a dev build from the pr test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-llamaindex Triggers tests in the uipath-llamaindex-python repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant