Python SDK: UrlTools: URLs and parameters
ctx.url() builds and parses URLs locally. It does not make a network request.
Examples are fragments inside def run(ctx):. All SDK methods are synchronous; do not add await.
Methods
absolutize
ctx.url().absolutize(base, relative) -> str
| Argument | Type | Required | Purpose |
|---|---|---|---|
base |
str |
Yes | Original absolute URL. |
relative |
str |
Yes | Relative or absolute URL to resolve. |
Result: str.
Resolve a relative link against a known page address.
result = ctx.url().absolutize('https://example.com/catalog', '/product')
param
ctx.url().param(url, name) -> str | None
| Argument | Type | Required | Purpose |
|---|---|---|---|
url |
str |
Yes | Permitted source HTTP(S) URL. |
name |
str |
Yes | Field, header, file, credential, or metric name, depending on the method. |
Result: str | None.
Read a string query parameter from a URL.
result = ctx.url().param('https://example.com/catalog?page=2', 'page')
with_param
ctx.url().with_param(url, name, value) -> str
| Argument | Type | Required | Purpose |
|---|---|---|---|
url |
str |
Yes | Permitted source HTTP(S) URL. |
name |
str |
Yes | Field, header, file, credential, or metric name, depending on the method. |
value |
Any |
Yes | Method-specific value; see its result description. |
Result: str.
Add or replace one query parameter.
result = ctx.url().with_param('https://example.com/catalog', 'page', 2)
page
ctx.url().page(template, page) -> str
| Argument | Type | Required | Purpose |
|---|---|---|---|
template |
str |
Yes | URL template containing {page}. |
page |
int |
Yes | Page number within the configured bound. |
Result: str.
Replace {page} in a template with a page number.
result = ctx.url().page('https://example.com/catalog?page={page}', 2)
Errors and execution context
All calls are synchronous. Invalid arguments or malformed source data can raise ValueError/TypeError; a platform refusal or unavailable service raises RuntimeError. Missing elements/values return None or an empty collection only where explicitly documented. Do not convert every exception into an empty successful result. External-service methods are unavailable in export transformations; see transformation limits and environment.