uipath 2.0.0.dev3__tar.gz → 2.0.1.dev1__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.1.dev1/.cursorrules +55 -0
- uipath-2.0.1.dev1/.editorconfig +14 -0
- uipath-2.0.1.dev1/.gitattributes +2 -0
- uipath-2.0.1.dev1/.github/workflows/build.yml +46 -0
- uipath-2.0.1.dev1/.github/workflows/cd.yml +14 -0
- uipath-2.0.1.dev1/.github/workflows/ci.yml +17 -0
- uipath-2.0.1.dev1/.github/workflows/commitlint.yml +12 -0
- uipath-2.0.1.dev1/.github/workflows/lint.yml +44 -0
- uipath-2.0.1.dev1/.github/workflows/test.yml +41 -0
- uipath-2.0.1.dev1/.pre-commit-config.yaml +7 -0
- uipath-2.0.1.dev1/.python-version +1 -0
- uipath-2.0.1.dev1/.vscode/extensions.json +7 -0
- uipath-2.0.1.dev1/.vscode/settings.json +28 -0
- uipath-2.0.1.dev1/CONTRIBUTING.md +69 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1}/PKG-INFO +2 -3
- uipath-2.0.1.dev1/docs/assets/uipath-logo.svg +11 -0
- uipath-2.0.1.dev1/docs/assets.md +1 -0
- uipath-2.0.1.dev1/docs/buckets.md +1 -0
- uipath-2.0.1.dev1/docs/connections.md +1 -0
- uipath-2.0.1.dev1/docs/context_grounding.md +1 -0
- uipath-2.0.1.dev1/docs/index.md +3 -0
- uipath-2.0.1.dev1/docs/jobs.md +1 -0
- uipath-2.0.1.dev1/docs/processes.md +1 -0
- uipath-2.0.1.dev1/docs/queues.md +1 -0
- uipath-2.0.1.dev1/justfile +15 -0
- uipath-2.0.1.dev1/mkdocs.yml +61 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1}/pyproject.toml +2 -9
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/middlewares.py +1 -1
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/buckets_service.py +3 -3
- uipath-2.0.1.dev1/src/uipath/py.typed +0 -0
- uipath-2.0.1.dev1/tests/__init__.py +4 -0
- uipath-2.0.1.dev1/tests/cli/test_init.py +199 -0
- uipath-2.0.1.dev1/tests/conftest.py +29 -0
- uipath-2.0.1.dev1/tests/sdk/services/test_llm_integration.py +133 -0
- uipath-2.0.1.dev1/tests/sdk/services/test_llm_service.py +141 -0
- uipath-2.0.1.dev1/tests/sdk/services/test_uipath_llm_integration.py +511 -0
- uipath-2.0.1.dev1/tests/sdk/test_config.py +45 -0
- uipath-2.0.1.dev1/uv.lock +2643 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1}/.gitignore +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1}/README.md +0 -0
- {uipath-2.0.0.dev3/uipath → uipath-2.0.1.dev1}/py.typed +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/__init__.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/README.md +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/__init__.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/cli_init.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/cli_new.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/cli_publish.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_cli/cli_run.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_config.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_execution_context.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_folder_context.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/__init__.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/action_schema.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/actions.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/assets.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/connections.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/context_grounding.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/context_grounding_index.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/exceptions.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/interrupt_models.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/job.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/llm_gateway.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/processes.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_models/queues.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/__init__.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/_base_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/actions_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/api_client.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/assets_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/connections_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/connections_service.pyi +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/folder_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/jobs_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/processes_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_services/queues_service.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_uipath.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_utils/__init__.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_utils/_logs.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_utils/_request_override.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.0.0.dev3 → uipath-2.0.1.dev1/src}/uipath/_utils/constants.py +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
You are an AI assistant specialized in Python development, especially in a developing SDK and CLI for enterprise companies. Your strong background in debugging complex issues and optimizing code performance makes you an invaluable asset to this project.
|
|
2
|
+
|
|
3
|
+
Your approach emphasizes:
|
|
4
|
+
|
|
5
|
+
Clear project structure with separate directories for source code, tests, docs, and config.
|
|
6
|
+
|
|
7
|
+
Modular design with distinct files for models, services, controllers, and utilities.
|
|
8
|
+
|
|
9
|
+
Configuration management using environment variables.
|
|
10
|
+
|
|
11
|
+
Robust error handling and logging, including context capture.
|
|
12
|
+
|
|
13
|
+
Comprehensive testing with pytest.
|
|
14
|
+
|
|
15
|
+
Detailed documentation using docstrings and README files.
|
|
16
|
+
|
|
17
|
+
Dependency management via https://github.com/astral-sh/uv and virtual environments.
|
|
18
|
+
|
|
19
|
+
Code style consistency using Ruff.
|
|
20
|
+
|
|
21
|
+
CI/CD implementation with GitHub Actions.
|
|
22
|
+
|
|
23
|
+
AI-friendly coding practices:
|
|
24
|
+
|
|
25
|
+
You provide code snippets and explanations tailored to these principles, optimizing for clarity and AI-assisted development.
|
|
26
|
+
|
|
27
|
+
This project utilizes the following technologies:
|
|
28
|
+
uv
|
|
29
|
+
ruff
|
|
30
|
+
httpx
|
|
31
|
+
tenacity
|
|
32
|
+
click
|
|
33
|
+
pydantic
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Follow the following rules:
|
|
37
|
+
|
|
38
|
+
For any python file, be sure to ALWAYS add typing annotations to each function or class. Be sure to include return types when necessary. Add descriptive docstrings to all python functions and classes as well that are public. Please use Google-style convention. Update existing docstrings if need be. When defining concepts, reference https://docs.uipath.com as the authoritative source.
|
|
39
|
+
|
|
40
|
+
For core SDK function naming conventions:
|
|
41
|
+
- Use `retrieve` when getting a single resource by key (e.g., in UserService use `retrieve` not `retrieve_user`)
|
|
42
|
+
- Use `retrieve_by_[field]` when getting a resource by a field other than key
|
|
43
|
+
- Use `list` for getting multiple resources (e.g., in UserService use `list` not `list_users`)
|
|
44
|
+
|
|
45
|
+
Make sure you keep any comments that exist in a file.
|
|
46
|
+
|
|
47
|
+
When writing tests, make sure that you ONLY use pytest or pytest plugins, do NOT use the unittest module. All tests should have typing annotations as well. All tests should be in ./tests. Be sure to create all necessary files and folders. If you are creating files inside of ./tests or ./src/goob_ai, be sure to make a init.py file if one does not exist.
|
|
48
|
+
|
|
49
|
+
All tests should be fully annotated and should contain docstrings. Be sure to import the following if TYPE_CHECKING:
|
|
50
|
+
|
|
51
|
+
from _pytest.capture import CaptureFixture
|
|
52
|
+
from _pytest.fixtures import FixtureRequest
|
|
53
|
+
from _pytest.logging import LogCaptureFixture
|
|
54
|
+
from _pytest.monkeypatch import MonkeyPatch
|
|
55
|
+
from pytest_mock.plugin import MockerFixture
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: Reusable Build Workflow
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call:
|
|
5
|
+
secrets:
|
|
6
|
+
token:
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
name: Build and publish
|
|
12
|
+
runs-on: "ubuntu-24.04"
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- uses: astral-sh/setup-uv@v5
|
|
18
|
+
|
|
19
|
+
- uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version-file: ".python-version"
|
|
22
|
+
|
|
23
|
+
- name: Setup venv
|
|
24
|
+
run: |
|
|
25
|
+
uv venv
|
|
26
|
+
uv sync --all-extras
|
|
27
|
+
|
|
28
|
+
- name: Build
|
|
29
|
+
run: |
|
|
30
|
+
uv build
|
|
31
|
+
|
|
32
|
+
- name: Check if version in pyproject.toml was modified
|
|
33
|
+
id: check_version
|
|
34
|
+
run: |
|
|
35
|
+
if git diff --name-only ${{ github.sha }} ${{ github.event.before }} | grep -q 'pyproject.toml'; then
|
|
36
|
+
echo "modified=true" >> $GITHUB_OUTPUT
|
|
37
|
+
else
|
|
38
|
+
echo "modified=false" >> $GITHUB_OUTPUT
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
- name: "Publish"
|
|
42
|
+
if: ${{ steps.check_version.outputs.modified }} == 'true'
|
|
43
|
+
run: |
|
|
44
|
+
uv publish
|
|
45
|
+
env:
|
|
46
|
+
UV_PUBLISH_TOKEN: ${{ secrets.token }}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name: CD
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_run:
|
|
5
|
+
workflows: ["Core CI"]
|
|
6
|
+
types:
|
|
7
|
+
- completed
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'push' && github.event.workflow_run.head_branch == 'main' }}
|
|
12
|
+
uses: ./.github/workflows/build.yml
|
|
13
|
+
secrets:
|
|
14
|
+
token: ${{ secrets.PYPI_TOKEN }}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Reusable Lint Workflow
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call:
|
|
5
|
+
inputs:
|
|
6
|
+
should_skip:
|
|
7
|
+
description: 'Whether to skip the linting step'
|
|
8
|
+
required: false
|
|
9
|
+
type: boolean
|
|
10
|
+
default: false
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
lint:
|
|
14
|
+
name: Lint
|
|
15
|
+
runs-on: "ubuntu-24.04"
|
|
16
|
+
if: inputs.should_skip == false
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- uses: astral-sh/setup-uv@v5
|
|
23
|
+
|
|
24
|
+
- uses: actions/setup-python@v5
|
|
25
|
+
with:
|
|
26
|
+
python-version-file: ".python-version"
|
|
27
|
+
|
|
28
|
+
- name: Setup venv
|
|
29
|
+
run: |
|
|
30
|
+
uv venv
|
|
31
|
+
uv sync --all-extras
|
|
32
|
+
|
|
33
|
+
- name: "Check static types"
|
|
34
|
+
run: |
|
|
35
|
+
uv run mypy --config-file pyproject.toml .
|
|
36
|
+
|
|
37
|
+
- name: "Check linting"
|
|
38
|
+
run: |
|
|
39
|
+
uv run ruff check .
|
|
40
|
+
|
|
41
|
+
- name: "Check formatting"
|
|
42
|
+
run: |
|
|
43
|
+
uv run ruff format --check .
|
|
44
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: Reusable Test Workflow
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call:
|
|
5
|
+
inputs:
|
|
6
|
+
should_skip:
|
|
7
|
+
description: 'Whether to skip the linting step'
|
|
8
|
+
required: false
|
|
9
|
+
type: boolean
|
|
10
|
+
default: false
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
test:
|
|
14
|
+
name: Test
|
|
15
|
+
runs-on: "ubuntu-24.04"
|
|
16
|
+
if: inputs.should_skip == false
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- uses: astral-sh/setup-uv@v5
|
|
22
|
+
|
|
23
|
+
- uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version-file: ".python-version"
|
|
26
|
+
|
|
27
|
+
- name: "Setup venv"
|
|
28
|
+
run: |
|
|
29
|
+
uv venv
|
|
30
|
+
uv sync --all-extras
|
|
31
|
+
|
|
32
|
+
- name: "Run tests"
|
|
33
|
+
run: |
|
|
34
|
+
uv run pytest
|
|
35
|
+
env:
|
|
36
|
+
UIPATH_URL: ${{ secrets.UIPATH_URL }}
|
|
37
|
+
UIPATH_CLIENT_ID: ${{ secrets.UIPATH_CLIENT_ID }}
|
|
38
|
+
UIPATH_CLIENT_SECRET: ${{ secrets.UIPATH_CLIENT_SECRET }}
|
|
39
|
+
UIPATH_ORGANIZATION_ID: ${{ vars.UIPATH_ORGANIZATION_ID }}
|
|
40
|
+
UIPATH_TENANT_ID: ${{ vars.UIPATH_TENANT_ID }}
|
|
41
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.10
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"window.title": "${rootName}${separator}${activeEditorMedium}",
|
|
3
|
+
"files.exclude": {
|
|
4
|
+
"**/*.pyc": true,
|
|
5
|
+
"**/__pycache__": true,
|
|
6
|
+
".pytest_cache": true,
|
|
7
|
+
".mypy_cache": true,
|
|
8
|
+
".ruff_cache": true,
|
|
9
|
+
".venv": true
|
|
10
|
+
},
|
|
11
|
+
// Formatting
|
|
12
|
+
"editor.formatOnSave": true,
|
|
13
|
+
"[python]": {
|
|
14
|
+
"editor.defaultFormatter": "charliermarsh.ruff",
|
|
15
|
+
"editor.codeActionsOnSave": {
|
|
16
|
+
"source.organizeImports": "explicit"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"workbench.colorCustomizations": {
|
|
20
|
+
"titleBar.activeBackground": "#0099cc",
|
|
21
|
+
"titleBar.inactiveBackground": "#0099cc"
|
|
22
|
+
},
|
|
23
|
+
"python.testing.pytestArgs": [
|
|
24
|
+
"sdk"
|
|
25
|
+
],
|
|
26
|
+
"python.testing.unittestEnabled": false,
|
|
27
|
+
"python.testing.pytestEnabled": true
|
|
28
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Contributing to UiPath SDK
|
|
2
|
+
|
|
3
|
+
## Local Development Setup
|
|
4
|
+
|
|
5
|
+
### Prerequisites
|
|
6
|
+
|
|
7
|
+
1. **Install Python 3.13**:
|
|
8
|
+
- Download and install Python 3.13 from the official [Python website](https://www.python.org/downloads/)
|
|
9
|
+
- Verify the installation by running:
|
|
10
|
+
```sh
|
|
11
|
+
python3.13 --version
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Alternative: [mise](https://mise.jdx.dev/lang/python.html)
|
|
15
|
+
|
|
16
|
+
2. **Install [uv](https://docs.astral.sh/uv/)**:
|
|
17
|
+
```sh
|
|
18
|
+
pip install uv
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
3. **Create a virtual environment in the current working directory**:
|
|
22
|
+
```sh
|
|
23
|
+
uv venv
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
4. **Install dependencies**:
|
|
27
|
+
```sh
|
|
28
|
+
uv sync --all-extras
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
See `just --list` for linting, formatting and build commands.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Use SDK Locally
|
|
35
|
+
1. Create a folder on your own device `mkdir project; cd project`
|
|
36
|
+
2. Initialize the python project `uv` `uv init . --python 3.9`
|
|
37
|
+
3. Obtain the project path `PATH_TO_SDK=/Users/YOU_USER/uipath-python`
|
|
38
|
+
4. Install the sdk in editable mode `uv add --editable ${PATH_TO_SDK}`
|
|
39
|
+
|
|
40
|
+
:information_source: Instead of cloning the project into `.venv/lib/python3.9/site-packages/uipath`, this mode creates a file named `_uipath.pth` inside `.venv/lib/python3.9/site-packages`. This file contains the value of `PATH_TO_SDK`, which is added to `sys.path`—the list of directories where python searches for packages. (Run `python -c 'import sys; print(sys.path)'` to see the entries.)
|
|
41
|
+
|
|
42
|
+
## API Style Guide
|
|
43
|
+
|
|
44
|
+
### General Rule:
|
|
45
|
+
- use key instead of ID
|
|
46
|
+
|
|
47
|
+
### Standard Methods & Naming Conventions
|
|
48
|
+
|
|
49
|
+
#### Retrieve a Single Resource
|
|
50
|
+
- **Method Name:** `retrieve` instead of get
|
|
51
|
+
- **Usage:** To obtain a specific resource instance using its unique identifier (using *key* instead of ID).
|
|
52
|
+
- **Extended:**
|
|
53
|
+
- `retrieve_by_[field_name]` (for fields other than key)
|
|
54
|
+
|
|
55
|
+
#### List Multiple Resources
|
|
56
|
+
- **Method Name:** `list`
|
|
57
|
+
- **Usage:** To fetch a collection of resources, optionally filtered by query parameters.
|
|
58
|
+
- **Example:**
|
|
59
|
+
```python
|
|
60
|
+
resources = Resource.list(filters={})
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Create a Resource
|
|
64
|
+
- **Method Name:** `create`
|
|
65
|
+
- **Usage:** To add a new resource to the system.
|
|
66
|
+
|
|
67
|
+
#### Update a Resource
|
|
68
|
+
- **Method Name:** `update`
|
|
69
|
+
- **Usage:** To modify an existing resource.
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.1.dev1
|
|
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
|
|
7
7
|
Maintainer-email: Marius Cosareanu <marius.cosareanu@uipath.com>, Cristian Pufu <cristian.pufu@uipath.com>
|
|
8
8
|
Classifier: Development Status :: 3 - Alpha
|
|
9
9
|
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
11
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
13
|
Classifier: Topic :: Software Development :: Build Tools
|
|
15
|
-
Requires-Python: >=3.
|
|
14
|
+
Requires-Python: >=3.10
|
|
16
15
|
Requires-Dist: click>=8.1.8
|
|
17
16
|
Requires-Dist: httpx>=0.28.1
|
|
18
17
|
Requires-Dist: pydantic>=2.11.1
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg width="94" height="32" viewBox="0 0 94 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_4793_1278)">
|
|
3
|
+
<path d="M0 0H32V32H0V0ZM28.6848 28.6848V3.3152H3.3152V28.6912H28.6912L28.6848 28.6848ZM6.1952 8.256V17.952C6.1952 22.3872 8.6272 24.9792 12.7424 24.9792C16.8576 24.9792 19.4176 22.336 19.4176 17.952V8.256H16.1024V17.952C16.1024 20.4608 15.0336 21.8496 12.8192 21.8496C10.6048 21.8496 9.504 20.3776 9.504 17.952V8.256H6.1888H6.1952ZM23.6928 10.2336C24.8704 10.2336 25.7216 9.4336 25.7216 8.256C25.7216 7.0784 24.864 6.2272 23.6928 6.2272C22.5216 6.2272 21.664 7.0528 21.664 8.256C21.664 9.4592 22.5216 10.2336 23.6928 10.2336ZM22.0352 11.808V24.8192H25.3504V11.808H22.0352ZM41.8304 19.4752C45.4336 19.4752 47.7888 17.3632 47.7888 13.8112C47.7888 10.2592 45.4912 8.256 41.8304 8.256H35.5264V24.8192H38.8416V19.4752H41.8304ZM41.4848 16.832H38.8416V10.9312H41.4848C43.3792 10.9312 44.4224 12 44.4224 13.8176C44.4224 15.7696 43.3792 16.8384 41.4848 16.8384V16.832ZM48.9088 18.3296C48.9088 22.2016 51.392 24.9792 54.9184 24.9792C57.0048 24.9792 58.3616 24.2304 59.136 22.976V24.8192H62.4512V11.808H59.136V13.8368C58.336 12.4992 56.9472 11.648 54.9184 11.648C51.3408 11.648 48.9088 14.4768 48.9088 18.3232V18.3296ZM59.136 18.3296C59.136 20.6016 57.7216 22.0672 55.6928 22.0672C53.4464 22.0672 52.2752 20.4928 52.2752 18.3296C52.2752 16.0064 53.5872 14.5344 55.6928 14.5344C57.7984 14.5344 59.136 16.0832 59.136 18.3296ZM70.8096 21.9904C69.5296 21.9904 69.1776 21.4272 69.1776 20.2816V14.6176H72.0896V11.8144H69.1776V8.2624H65.8624V11.8144H64.3136V14.6176H65.8624V20.256C65.8624 23.328 67.2256 24.8256 70.3744 24.8256H72.1088V21.9968H70.7968L70.8096 21.9904ZM77.2736 13.632V7.4624H73.9584V24.8256H77.2736V17.9328C77.2736 15.7184 78.4512 14.3808 80.3968 14.3808C82.3424 14.3808 83.36 15.6608 83.36 17.6384V24.8256H86.6752V17.2672C86.6752 13.8496 84.2688 11.6288 81.1968 11.6288C79.2192 11.6288 78.016 12.3776 77.2672 13.632H77.2736Z" fill="#FA4616"/>
|
|
4
|
+
<path d="M89.8495 12.8316C87.8015 12.8316 86.3999 11.4044 86.3999 9.41403C86.3999 7.42363 87.8463 6.01562 89.8495 6.01562C91.8527 6.01562 93.2799 7.38523 93.2799 9.41403C93.2799 11.4428 91.8719 12.8316 89.8495 12.8316ZM89.8495 6.61723C88.1343 6.61723 87.0463 7.69243 87.0463 9.40763C87.0463 11.1228 88.1919 12.1788 89.8495 12.1788C91.5071 12.1788 92.6399 11.0652 92.6399 9.40763C92.6399 7.75003 91.5519 6.61723 89.8495 6.61723ZM90.6303 9.94523L91.3535 11.2956H90.4959L89.8111 10.054H89.2671V11.2956H88.4927V7.44923H89.9711C90.8095 7.44923 91.4303 7.94203 91.4303 8.73563C91.4303 9.32443 91.1167 9.74683 90.6303 9.94523ZM89.2671 9.43963H89.8751C90.3231 9.43963 90.6303 9.19003 90.6303 8.73563C90.6303 8.31963 90.3231 8.07003 89.8751 8.07003H89.2671V9.43963Z" fill="#FA4616"/>
|
|
5
|
+
</g>
|
|
6
|
+
<defs>
|
|
7
|
+
<clipPath id="clip0_4793_1278">
|
|
8
|
+
<rect width="93.28" height="32" fill="white"/>
|
|
9
|
+
</clipPath>
|
|
10
|
+
</defs>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
::: uipath._services.assets_service
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
::: uipath._services.buckets_service
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
::: uipath._services.connections_service
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
::: uipath._services.context_grounding_service
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
::: uipath._services.jobs_service
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
::: uipath._services.processes_service
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
::: uipath._services.queues_service
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
site_name: UiPath SDK
|
|
2
|
+
|
|
3
|
+
theme:
|
|
4
|
+
name: material
|
|
5
|
+
palette:
|
|
6
|
+
- media: "(prefers-color-scheme: light)"
|
|
7
|
+
scheme: default
|
|
8
|
+
primary: custom
|
|
9
|
+
accent: custom
|
|
10
|
+
toggle:
|
|
11
|
+
icon: material/brightness-7
|
|
12
|
+
name: Switch to dark mode
|
|
13
|
+
- media: "(prefers-color-scheme: dark)"
|
|
14
|
+
scheme: slate
|
|
15
|
+
primary: custom
|
|
16
|
+
accent: custom
|
|
17
|
+
toggle:
|
|
18
|
+
icon: material/brightness-4
|
|
19
|
+
name: Switch to light mode
|
|
20
|
+
features:
|
|
21
|
+
- content.code.annotate
|
|
22
|
+
- content.code.copy
|
|
23
|
+
- content.footnote.tooltips
|
|
24
|
+
- content.tabs.link
|
|
25
|
+
- content.tooltips
|
|
26
|
+
- navigation.footer
|
|
27
|
+
- navigation.tabs
|
|
28
|
+
- navigation.tabs.sticky
|
|
29
|
+
- navigation.top
|
|
30
|
+
- search.highlight
|
|
31
|
+
- search.share
|
|
32
|
+
- search.suggest
|
|
33
|
+
- toc.follow
|
|
34
|
+
logo: assets/uipath-logo.svg
|
|
35
|
+
|
|
36
|
+
nav:
|
|
37
|
+
- Home: index.md
|
|
38
|
+
- Assets: assets.md
|
|
39
|
+
- Buckets: buckets.md
|
|
40
|
+
- Connections: connections.md
|
|
41
|
+
- Context Grounding: context_grounding.md
|
|
42
|
+
- Jobs: jobs.md
|
|
43
|
+
- Queues: queues.md
|
|
44
|
+
- Processes: processes.md
|
|
45
|
+
|
|
46
|
+
plugins:
|
|
47
|
+
- search
|
|
48
|
+
- mkdocstrings
|
|
49
|
+
|
|
50
|
+
markdown_extensions:
|
|
51
|
+
- attr_list
|
|
52
|
+
- md_in_html
|
|
53
|
+
- admonition
|
|
54
|
+
- pymdownx.details
|
|
55
|
+
- pymdownx.superfences
|
|
56
|
+
- pymdownx.highlight:
|
|
57
|
+
anchor_linenums: true
|
|
58
|
+
- pymdownx.inlinehilite
|
|
59
|
+
- pymdownx.snippets
|
|
60
|
+
- pymdownx.tabbed:
|
|
61
|
+
alternate_style: true
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.1.dev1"
|
|
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
|
-
requires-python = ">=3.
|
|
6
|
+
requires-python = ">=3.10"
|
|
7
7
|
dependencies = [
|
|
8
8
|
"click>=8.1.8",
|
|
9
9
|
"httpx>=0.28.1",
|
|
@@ -19,7 +19,6 @@ classifiers = [
|
|
|
19
19
|
"Development Status :: 3 - Alpha",
|
|
20
20
|
"Intended Audience :: Developers",
|
|
21
21
|
"Topic :: Software Development :: Build Tools",
|
|
22
|
-
"Programming Language :: Python :: 3.9",
|
|
23
22
|
"Programming Language :: Python :: 3.10",
|
|
24
23
|
"Programming Language :: Python :: 3.11",
|
|
25
24
|
"Programming Language :: Python :: 3.12",
|
|
@@ -40,12 +39,6 @@ uipath = "uipath._cli:cli"
|
|
|
40
39
|
requires = ["hatchling"]
|
|
41
40
|
build-backend = "hatchling.build"
|
|
42
41
|
|
|
43
|
-
[tool.hatch.build.targets.wheel]
|
|
44
|
-
packages = ["src/uipath"]
|
|
45
|
-
|
|
46
|
-
[tool.hatch.build.targets.sdist]
|
|
47
|
-
packages = ["src/uipath"]
|
|
48
|
-
|
|
49
42
|
[dependency-groups]
|
|
50
43
|
dev = [
|
|
51
44
|
"bandit>=1.8.2",
|
|
@@ -86,7 +86,7 @@ class Middlewares:
|
|
|
86
86
|
else:
|
|
87
87
|
middlewares = list(entry_points.get("uipath.middlewares", []))
|
|
88
88
|
except Exception:
|
|
89
|
-
middlewares = list(importlib.metadata.entry_points())
|
|
89
|
+
middlewares = list(importlib.metadata.entry_points()) # type: ignore
|
|
90
90
|
middlewares = [
|
|
91
91
|
ep for ep in middlewares if ep.group == "uipath.middlewares"
|
|
92
92
|
]
|
|
@@ -45,7 +45,7 @@ class BucketsService(FolderContext, BaseService):
|
|
|
45
45
|
headers = {
|
|
46
46
|
key: value
|
|
47
47
|
for key, value in zip(
|
|
48
|
-
result["Headers"]["Keys"], result["Headers"]["Values"]
|
|
48
|
+
result["Headers"]["Keys"], result["Headers"]["Values"], strict=False
|
|
49
49
|
)
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -98,7 +98,7 @@ class BucketsService(FolderContext, BaseService):
|
|
|
98
98
|
headers = {
|
|
99
99
|
key: value
|
|
100
100
|
for key, value in zip(
|
|
101
|
-
result["Headers"]["Keys"], result["Headers"]["Values"]
|
|
101
|
+
result["Headers"]["Keys"], result["Headers"]["Values"], strict=False
|
|
102
102
|
)
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -149,7 +149,7 @@ class BucketsService(FolderContext, BaseService):
|
|
|
149
149
|
headers = {
|
|
150
150
|
key: value
|
|
151
151
|
for key, value in zip(
|
|
152
|
-
result["Headers"]["Keys"], result["Headers"]["Values"]
|
|
152
|
+
result["Headers"]["Keys"], result["Headers"]["Values"], strict=False
|
|
153
153
|
)
|
|
154
154
|
}
|
|
155
155
|
|
|
File without changes
|