uipath 2.0.24__tar.gz → 2.0.25__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.
Potentially problematic release.
This version of uipath might be problematic. Click here for more details.
- {uipath-2.0.24 → uipath-2.0.25}/.github/workflows/publish-dev.yml +27 -11
- {uipath-2.0.24 → uipath-2.0.25}/PKG-INFO +1 -1
- {uipath-2.0.24 → uipath-2.0.25}/pyproject.toml +1 -1
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/tracing/_traced.py +42 -4
- {uipath-2.0.24 → uipath-2.0.25}/tests/tracing/test_tracing_manager.py +54 -0
- {uipath-2.0.24 → uipath-2.0.25}/uv.lock +1 -1
- {uipath-2.0.24 → uipath-2.0.25}/.cursorrules +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.editorconfig +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.gitattributes +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.github/workflows/build.yml +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.github/workflows/cd.yml +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.github/workflows/ci.yml +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.github/workflows/lint.yml +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.github/workflows/test.yml +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.gitignore +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.pre-commit-config.yaml +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.python-version +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.vscode/extensions.json +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/.vscode/settings.json +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/CONTRIBUTING.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/LICENSE +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/README.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/actions.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/assets/uipath-logo.svg +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/assets.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/buckets.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/connections.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/context_grounding.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/getting_started_agent.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/getting_started_cli.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/getting_started_sdk.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/index.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/jobs.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/processes.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/queues.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/docs/sdk.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/justfile +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/mkdocs.yml +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/py.typed +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/__init__.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/README.md +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/__init__.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_utils/_folders.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/_utils/_processes.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/cli_init.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/cli_invoke.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/cli_publish.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_config.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_execution_context.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_folder_context.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/buckets_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/connections_service.pyi +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_uipath.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/__init__.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/actions.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/assets.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/connections.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/job.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/processes.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/models/queues.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/py.typed +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/__init__.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/cli/test_init.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/conftest.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/sdk/test_config.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.0.24 → uipath-2.0.25}/tests/tracing/test_traced.py +0 -0
|
@@ -66,6 +66,8 @@ jobs:
|
|
|
66
66
|
Write-Output "Package version set to $DEV_VERSION"
|
|
67
67
|
|
|
68
68
|
$dependencyMessage = @"
|
|
69
|
+
## Development Package
|
|
70
|
+
|
|
69
71
|
- Add this package as a dependency in your pyproject.toml:
|
|
70
72
|
|
|
71
73
|
``````toml
|
|
@@ -79,26 +81,40 @@ jobs:
|
|
|
79
81
|
]
|
|
80
82
|
``````
|
|
81
83
|
"@
|
|
82
|
-
Write-Output $dependencyMessage
|
|
83
84
|
|
|
84
|
-
#
|
|
85
|
+
# Get the owner and repo from the GitHub repository
|
|
85
86
|
$owner = "${{ github.repository_owner }}"
|
|
86
87
|
$repo = "${{ github.repository }}".Split('/')[1]
|
|
87
|
-
$
|
|
88
|
-
|
|
89
|
-
$body = @{
|
|
90
|
-
body = $dependencyMessage
|
|
91
|
-
} | ConvertTo-Json
|
|
88
|
+
$prNumber = $PR_NUM
|
|
92
89
|
|
|
93
|
-
#
|
|
94
|
-
$
|
|
90
|
+
# Get the current PR description
|
|
91
|
+
$prUri = "https://api.github.com/repos/$owner/$repo/pulls/$prNumber"
|
|
95
92
|
$headers = @{
|
|
96
93
|
Authorization = "token $env:GITHUB_TOKEN"
|
|
97
94
|
Accept = "application/vnd.github.v3+json"
|
|
98
95
|
}
|
|
96
|
+
|
|
97
|
+
$pr = Invoke-RestMethod -Uri $prUri -Method Get -Headers $headers
|
|
98
|
+
$currentBody = $pr.body
|
|
99
|
+
|
|
100
|
+
# Check if there's already a development package section
|
|
101
|
+
if ($currentBody -match '## Development Package') {
|
|
102
|
+
# Replace the existing section with the new dependency message
|
|
103
|
+
$newBody = $currentBody -replace '## Development Package(\r?\n|.)*?(?=##|$)', $dependencyMessage
|
|
104
|
+
} else {
|
|
105
|
+
# Append the dependency message to the end of the description
|
|
106
|
+
$newBody = if ($currentBody) { "$currentBody`n`n$dependencyMessage" } else { $dependencyMessage }
|
|
107
|
+
}
|
|
99
108
|
|
|
100
|
-
|
|
101
|
-
|
|
109
|
+
# Update the PR description
|
|
110
|
+
$updateBody = @{
|
|
111
|
+
body = $newBody
|
|
112
|
+
} | ConvertTo-Json
|
|
113
|
+
|
|
114
|
+
Invoke-RestMethod -Uri $prUri -Method Patch -Headers $headers -Body $updateBody -ContentType "application/json"
|
|
115
|
+
|
|
116
|
+
Write-Output "Updated PR description with development package information"
|
|
117
|
+
|
|
102
118
|
- name: Build package
|
|
103
119
|
run: uv build
|
|
104
120
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.25
|
|
4
4
|
Summary: Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools.
|
|
5
5
|
Project-URL: Homepage, https://uipath.com
|
|
6
6
|
Project-URL: Repository, https://github.com/UiPath/uipath-python
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.25"
|
|
4
4
|
description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools."
|
|
5
5
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -51,8 +51,9 @@ class TracingManager:
|
|
|
51
51
|
|
|
52
52
|
Args:
|
|
53
53
|
tracer_implementation: A function that takes the same parameters as _opentelemetry_traced
|
|
54
|
-
and returns a decorator
|
|
54
|
+
and returns a decorator. If None, reverts to default implementation.
|
|
55
55
|
"""
|
|
56
|
+
tracer_implementation = tracer_implementation or _opentelemetry_traced
|
|
56
57
|
cls._custom_tracer_implementation = tracer_implementation
|
|
57
58
|
|
|
58
59
|
# Work with a copy of the registry to avoid modifying it during iteration
|
|
@@ -60,7 +61,10 @@ class TracingManager:
|
|
|
60
61
|
|
|
61
62
|
for original_func, decorated_func, params in registry_copy:
|
|
62
63
|
# Apply the new decorator with the same parameters
|
|
63
|
-
|
|
64
|
+
supported_params = _get_supported_params(tracer_implementation, params)
|
|
65
|
+
new_decorated_func = tracer_implementation(**supported_params)(
|
|
66
|
+
original_func
|
|
67
|
+
)
|
|
64
68
|
|
|
65
69
|
logger.debug(
|
|
66
70
|
f"Reapplying decorator to {original_func.__name__}, from {decorated_func.__name__}"
|
|
@@ -300,6 +304,36 @@ def _opentelemetry_traced(
|
|
|
300
304
|
return decorator
|
|
301
305
|
|
|
302
306
|
|
|
307
|
+
def _get_supported_params(tracer_impl, params):
|
|
308
|
+
"""Extract the parameters supported by the tracer implementation.
|
|
309
|
+
|
|
310
|
+
Args:
|
|
311
|
+
tracer_impl: The tracer implementation function or callable
|
|
312
|
+
params: Dictionary of parameters to check
|
|
313
|
+
|
|
314
|
+
Returns:
|
|
315
|
+
Dictionary containing only parameters supported by the tracer implementation
|
|
316
|
+
"""
|
|
317
|
+
supported_params = {}
|
|
318
|
+
if hasattr(tracer_impl, "__code__"):
|
|
319
|
+
# For regular functions
|
|
320
|
+
impl_signature = inspect.signature(tracer_impl)
|
|
321
|
+
for param_name, param_value in params.items():
|
|
322
|
+
if param_name in impl_signature.parameters and param_value is not None:
|
|
323
|
+
supported_params[param_name] = param_value
|
|
324
|
+
elif callable(tracer_impl):
|
|
325
|
+
# For callable objects
|
|
326
|
+
impl_signature = inspect.signature(tracer_impl.__call__)
|
|
327
|
+
for param_name, param_value in params.items():
|
|
328
|
+
if param_name in impl_signature.parameters and param_value is not None:
|
|
329
|
+
supported_params[param_name] = param_value
|
|
330
|
+
else:
|
|
331
|
+
# If we can't inspect, pass all parameters and let the function handle it
|
|
332
|
+
supported_params = params
|
|
333
|
+
|
|
334
|
+
return supported_params
|
|
335
|
+
|
|
336
|
+
|
|
303
337
|
def traced(
|
|
304
338
|
name: Optional[str] = None,
|
|
305
339
|
run_type: Optional[str] = None,
|
|
@@ -343,8 +377,12 @@ def traced(
|
|
|
343
377
|
)
|
|
344
378
|
|
|
345
379
|
def decorator(func):
|
|
346
|
-
#
|
|
347
|
-
|
|
380
|
+
# Check which parameters are supported by the tracer_impl
|
|
381
|
+
supported_params = _get_supported_params(tracer_impl, params)
|
|
382
|
+
|
|
383
|
+
# Decorate the function with only supported parameters
|
|
384
|
+
decorated_func = tracer_impl(**supported_params)(func)
|
|
385
|
+
|
|
348
386
|
# Register both original and decorated function with parameters
|
|
349
387
|
TracingManager.register_traced_function(func, decorated_func, params)
|
|
350
388
|
return decorated_func
|
|
@@ -64,6 +64,30 @@ def custom_tracer_with_counter(call_counter, **kwargs):
|
|
|
64
64
|
return decorator
|
|
65
65
|
|
|
66
66
|
|
|
67
|
+
# Helper function for testing custom tracer without name parameter
|
|
68
|
+
def custom_tracer_without_name_param(
|
|
69
|
+
run_type=None,
|
|
70
|
+
span_type=None,
|
|
71
|
+
input_processor=None,
|
|
72
|
+
output_processor=None,
|
|
73
|
+
):
|
|
74
|
+
"""Custom tracer implementation that doesn't accept the 'name' parameter."""
|
|
75
|
+
|
|
76
|
+
def decorator(func):
|
|
77
|
+
@wraps(func)
|
|
78
|
+
def wrapper(*args, **kwargs):
|
|
79
|
+
result = func(*args, **kwargs)
|
|
80
|
+
if isinstance(result, dict):
|
|
81
|
+
result["custom_tracer_without_name"] = True
|
|
82
|
+
if run_type:
|
|
83
|
+
result["run_type"] = run_type
|
|
84
|
+
return result
|
|
85
|
+
|
|
86
|
+
return wrapper
|
|
87
|
+
|
|
88
|
+
return decorator
|
|
89
|
+
|
|
90
|
+
|
|
67
91
|
# Define the test classes
|
|
68
92
|
class TestClassForMethodTest:
|
|
69
93
|
@traced()
|
|
@@ -163,3 +187,33 @@ def test_reapply_to_module_level_functions():
|
|
|
163
187
|
|
|
164
188
|
# Verify both functions were processed
|
|
165
189
|
assert call_counter["count"] == 2
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
def test_custom_tracer_without_name_param():
|
|
193
|
+
"""Test that a custom tracer without the 'name' parameter works correctly."""
|
|
194
|
+
TracingManager.reapply_traced_decorator(donothing_custom_tracer)
|
|
195
|
+
|
|
196
|
+
# Create a function with @traced
|
|
197
|
+
@traced(name="explicit_name")
|
|
198
|
+
def function_with_name():
|
|
199
|
+
return {"status": "original"}
|
|
200
|
+
|
|
201
|
+
# Initial call with default implementation
|
|
202
|
+
result1 = function_with_name()
|
|
203
|
+
assert result1 == {"status": "original"}
|
|
204
|
+
|
|
205
|
+
# Apply custom implementation that doesn't support 'name'
|
|
206
|
+
TracingManager.reapply_traced_decorator(custom_tracer_without_name_param)
|
|
207
|
+
|
|
208
|
+
# Create a new function with the same decorator
|
|
209
|
+
# This tests that new decorations use the custom implementation properly
|
|
210
|
+
@traced(name="this_will_be_ignored", run_type="special_run")
|
|
211
|
+
def another_function():
|
|
212
|
+
return {"status": "success"}
|
|
213
|
+
|
|
214
|
+
result3 = another_function()
|
|
215
|
+
|
|
216
|
+
# Verify parameters are correctly filtered
|
|
217
|
+
assert "custom_tracer_without_name" in result3
|
|
218
|
+
assert "run_type" in result3
|
|
219
|
+
assert result3["run_type"] == "special_run"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|