UncountablePythonSDK 0.0.163__tar.gz → 0.0.164__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.
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/.github/workflows/documentation.yml +1 -1
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/.github/workflows/publish.yml +1 -1
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/PKG-INFO +1 -1
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/UncountablePythonSDK.egg-info/PKG-INFO +1 -1
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/UncountablePythonSDK.egg-info/SOURCES.txt +2 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/pyproject.toml +1 -1
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/argument_parser/__init__.py +1 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/argument_parser/argument_parser.py +22 -2
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/argument_parser/parser_error.py +37 -2
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/client.py +3 -4
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/construct_client.py +13 -19
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/worker.py +12 -1
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/__init__.py +2 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/async_batch_processor.py +8 -8
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/client_base.py +16 -16
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/entity_t.py +8 -0
- uncountablepythonsdk-0.0.164/uncountable/types/request_headers.py +9 -0
- uncountablepythonsdk-0.0.164/uncountable/types/request_headers_t.py +33 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/.gitignore +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/.python-version +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/README.md +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/UncountablePythonSDK.egg-info/requires.txt +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/.gitignore +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/conf.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/index.md +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/integration_examples/add_file_to_folder.md +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/integration_examples/create_ingredient.md +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/integration_examples/create_output.md +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/integration_examples/index.md +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/integration_examples/upload_file.md +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/justfile +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/requirements.txt +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/android-chrome-192x192.png +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/android-chrome-512x512.png +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/apple-touch-icon.png +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/browserconfig.xml +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/favicon-16x16.png +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/favicon-32x32.png +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/manifest.json +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/mstile-150x150.png +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/favicons/safari-pinned-tab.svg +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/static/logo_blue.png +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/async_batch.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/async_batch_large_parse.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/basic_auth.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/create_entity.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/create_ingredient_sdk.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/download_files.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/edit_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/concurrent_cron.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/example_cron.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/example_http.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/example_instrument.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/example_parse.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/example_predictions.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/example_wh.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/integration-server/jobs/materials_auto/profile.yaml +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/invoke_uploader.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/oauth.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/set_input_pdf_attribute.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/set_recipe_metadata_file.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/set_recipe_output_file_sdk.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/examples/upload_files.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/argument_parser/_is_enum.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/argument_parser/_is_namedtuple.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/argument_parser/case_convert.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/_blob_session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/_file_share_session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/_gdrive_session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/_local_session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/_s3_session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/_sftp_session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/file_type_utils.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/filesystem_utils/filesystem_session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/py.typed +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/annotation.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/missing_sentry.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/opaque_key.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/serial_alias.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/serial_class.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/serial_generic.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/serial_union.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/unknown.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization/yaml.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization_util/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization_util/dataclasses.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/serialization_util/serialization_helpers.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/strenum_compat/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/strenum_compat/strenum_compat.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/__main__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/actions_registry/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/actions_registry/__main__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/builder.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/builder_types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/config.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/cross_output_links.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/emit_io_ts.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/emit_open_api.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/emit_open_api_util.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/emit_python.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/emit_typescript.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/emit_typescript_util.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/load_types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/non_discriminated_union_exceptions.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/open_api_util.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/parts/base.py.prepart +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/parts/base.ts.prepart +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/test.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/type_info/__main__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/ui_entry_actions/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/util.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/value_spec/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/value_spec/__main__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/value_spec/convert_type.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/value_spec/emit_python.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/type_spec/value_spec/types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pyproject.toml +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/setup.cfg +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/async_batch.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/environment.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/file_upload.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/query/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/query/builder.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/query/column.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/query/row.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/query/types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/core/types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/cli.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/cron.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/db/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/db/connect.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/db/session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/entrypoint.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/executors/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/executors/executors.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/executors/generic_upload_executor.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/executors/script_executor.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/http_server/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/http_server/types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/job.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/command_client.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/command_server.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/constants.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/protocol/command_server.proto +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/command_server/types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/datastore/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/datastore/datastore_sqlite.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/datastore/interface.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/datastore/model.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/job_scheduler.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/queue_runner.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/queue_runner/types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/request_context.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/scan_profiles.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/scheduler.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/secret_retrieval/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/secret_retrieval/retrieve_secret.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/server.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/telemetry.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/integration/webhook_server/entrypoint.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/py.typed +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/batch/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/batch/execute_batch.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/batch/execute_batch_load_async.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/chemical/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/chemical/convert_chemical_formats.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/condition_parameters/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/condition_parameters/upsert_condition_match.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/create_entities.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/create_entity.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/create_or_update_entity.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/export_entities.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/get_entities_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/grant_entity_permissions.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/list_aggregate.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/list_entities.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/lock_entity.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/lookup_entity.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/resolve_entity_ids.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/set_barcode.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/set_entity_field_values.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/set_values.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/transition_entity_phase.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/entity/unlock_entity.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/equipment/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/equipment/associate_equipment_input.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/field_options/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/field_options/upsert_field_options.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/file_folders/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/file_folders/add_file_to_folder.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/file_folders/modify_file_system.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/files/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/files/download_file.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/id_source/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/id_source/list_id_source.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/id_source/match_id_source.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/input_groups/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/input_groups/get_input_group_names.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/create_inputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/get_input_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/get_input_names.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/get_inputs_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/set_input_attribute_values.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/set_input_category.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/set_input_subcategories.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/inputs/set_intermediate_type.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/integrations/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/integrations/publish_realtime_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/integrations/push_notification.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/integrations/register_sockets_token.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/listing/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/listing/export_listing.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/listing/fetch_listing.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/material_families/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/material_families/update_entity_material_families.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/notebooks/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/notebooks/add_notebook_content.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/notebooks/get_notebook_content.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/outputs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/outputs/get_output_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/outputs/get_output_names.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/outputs/get_output_organization.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/outputs/update_output_condition_parameter.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/permissions/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/permissions/set_core_permissions.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/permissions/set_entity_permission.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/project/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/project/get_projects.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/project/get_projects_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipe_links/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipe_links/create_recipe_link.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipe_links/remove_recipe_link.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipe_metadata/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/add_recipe_to_project.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/add_time_series_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/archive_recipes.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/associate_recipe_as_input.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/clear_recipe_outputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/create_mix_order.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/create_recipe.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/create_recipes.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/edit_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/get_column_calculation_values.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/get_curve.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/get_recipe_calculations.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/get_recipe_links.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/get_recipe_names.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/get_recipe_output_metadata.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/get_recipes_data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/lock_recipes.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/remove_recipe_from_project.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/set_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/set_recipe_metadata.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/set_recipe_output_annotations.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/set_recipe_output_file.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/set_recipe_outputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/set_recipe_tags.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/set_recipe_total.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/unarchive_recipes.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/unlock_recipes.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/upsert_recipe_workflow_step.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/recipes/upsert_step_relationships.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/runsheet/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/runsheet/complete_async_upload.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/runsheet/export_default_runsheet.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/triggers/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/triggers/run_trigger.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/uploader/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/uploader/complete_async_parse.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/uploader/invoke_uploader.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/user/__init__.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/api/user/get_current_user_info.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/async_batch.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/async_batch_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/async_jobs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/async_jobs_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/auth_retrieval.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/auth_retrieval_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/base.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/base_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/calculations.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/calculations_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/chemical_structure.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/chemical_structure_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/client_config.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/client_config_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/curves.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/curves_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/data.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/data_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/entity.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/experiment_groups.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/experiment_groups_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/exports.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/exports_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/field_values.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/field_values_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/fields.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/fields_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/generic_upload.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/generic_upload_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/id_source.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/id_source_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/identifier.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/identifier_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/input_attributes.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/input_attributes_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/inputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/inputs_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/integration_server.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/integration_server_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/integration_session.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/integration_session_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/integrations.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/integrations_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/job_definition.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/job_definition_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/listing.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/listing_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/notices.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/notices_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/notifications.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/notifications_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/outputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/outputs_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/overrides.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/overrides_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/permissions.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/permissions_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/phases.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/phases_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/post_base.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/post_base_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/queued_job.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/queued_job_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_identifiers.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_identifiers_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_inputs_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_links.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_links_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_metadata.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_metadata_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_output_metadata.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_output_metadata_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_step_relationships.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_step_relationships_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_tags.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_tags_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_workflow_step_types.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_workflow_step_types_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_workflow_steps.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipe_workflow_steps_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipes.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/recipes_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/response.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/response_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/runsheet.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/runsheet_format.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/runsheet_format_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/runsheet_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/secret_retrieval.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/secret_retrieval_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/sockets.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/sockets_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/specs.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/specs_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/step_relationships.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/step_relationships_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/units.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/units_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/uploader.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/uploader_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/users.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/users_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/webhook_job.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/webhook_job_t.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/workflows.py +0 -0
- {uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/workflows_t.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.164
|
|
4
4
|
Summary: Uncountable SDK
|
|
5
5
|
Project-URL: Homepage, https://github.com/uncountableinc/uncountable-python-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/uncountableinc/uncountable-python-sdk.git
|
{uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/UncountablePythonSDK.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.164
|
|
4
4
|
Summary: Uncountable SDK
|
|
5
5
|
Project-URL: Homepage, https://github.com/uncountableinc/uncountable-python-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/uncountableinc/uncountable-python-sdk.git
|
|
@@ -259,6 +259,8 @@ uncountable/types/recipe_workflow_steps.py
|
|
|
259
259
|
uncountable/types/recipe_workflow_steps_t.py
|
|
260
260
|
uncountable/types/recipes.py
|
|
261
261
|
uncountable/types/recipes_t.py
|
|
262
|
+
uncountable/types/request_headers.py
|
|
263
|
+
uncountable/types/request_headers_t.py
|
|
262
264
|
uncountable/types/response.py
|
|
263
265
|
uncountable/types/response_t.py
|
|
264
266
|
uncountable/types/runsheet.py
|
{uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/argument_parser/__init__.py
RENAMED
|
@@ -11,6 +11,7 @@ from .argument_parser import is_union as is_union
|
|
|
11
11
|
from .case_convert import camel_to_snake_case as camel_to_snake_case
|
|
12
12
|
from .case_convert import kebab_to_pascal_case as kebab_to_pascal_case
|
|
13
13
|
from .case_convert import snake_to_camel_case as snake_to_camel_case
|
|
14
|
+
from .parser_error import ParserEnumError as ParserEnumError
|
|
14
15
|
from .parser_error import ParserError as ParserError
|
|
15
16
|
from .parser_error import ParserExtraFieldsError as ParserExtraFieldsError
|
|
16
17
|
from .parser_error import ParserTypeError as ParserTypeError
|
|
@@ -26,7 +26,12 @@ from pkgs.serialization import (
|
|
|
26
26
|
from ._is_enum import is_string_enum_class
|
|
27
27
|
from ._is_namedtuple import is_namedtuple_type
|
|
28
28
|
from .case_convert import camel_to_snake_case, snake_to_camel_case
|
|
29
|
-
from .parser_error import
|
|
29
|
+
from .parser_error import (
|
|
30
|
+
ParserEnumError,
|
|
31
|
+
ParserError,
|
|
32
|
+
ParserExtraFieldsError,
|
|
33
|
+
ParserTypeError,
|
|
34
|
+
)
|
|
30
35
|
|
|
31
36
|
T = typing.TypeVar("T")
|
|
32
37
|
ParserFunction = typing.Callable[[typing.Any], T]
|
|
@@ -500,9 +505,24 @@ def _build_parser_inner(
|
|
|
500
505
|
|
|
501
506
|
return parse_as_numeric_type
|
|
502
507
|
|
|
503
|
-
if parsed_type in (dict, bool)
|
|
508
|
+
if parsed_type in (dict, bool):
|
|
504
509
|
return lambda value: parsed_type(value) # type: ignore
|
|
505
510
|
|
|
511
|
+
if is_string_enum_class(parsed_type):
|
|
512
|
+
assert issubclass(parsed_type, Enum)
|
|
513
|
+
enum_values: set[str] = set(member.value for member in parsed_type)
|
|
514
|
+
|
|
515
|
+
def parse_enum(value: typing.Any) -> T:
|
|
516
|
+
if not isinstance(value, str) or value not in enum_values:
|
|
517
|
+
raise ParserEnumError(
|
|
518
|
+
value=value,
|
|
519
|
+
enum_type=parsed_type,
|
|
520
|
+
valid_values=enum_values,
|
|
521
|
+
)
|
|
522
|
+
return parsed_type(value)
|
|
523
|
+
|
|
524
|
+
return parse_enum
|
|
525
|
+
|
|
506
526
|
if parsed_type is MissingSentryType:
|
|
507
527
|
|
|
508
528
|
def error(value: typing.Any) -> T:
|
{uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/pkgs/argument_parser/parser_error.py
RENAMED
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import reprlib
|
|
3
4
|
import typing
|
|
4
5
|
|
|
5
6
|
_UNSET = object()
|
|
7
|
+
_VALUE_REPR_MAX_LENGTH = 120
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def _format_value(value: object) -> str:
|
|
11
|
+
value_repr = reprlib.Repr(
|
|
12
|
+
maxstring=_VALUE_REPR_MAX_LENGTH, maxother=_VALUE_REPR_MAX_LENGTH
|
|
13
|
+
).repr(value)
|
|
14
|
+
if len(value_repr) <= _VALUE_REPR_MAX_LENGTH:
|
|
15
|
+
return value_repr
|
|
16
|
+
return f"{value_repr[: _VALUE_REPR_MAX_LENGTH - 3]}..."
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def _format_message(message: str, value: object) -> str:
|
|
20
|
+
if value is _UNSET:
|
|
21
|
+
return message
|
|
22
|
+
return f"{message} (value: {_format_value(value)})"
|
|
6
23
|
|
|
7
24
|
|
|
8
25
|
class ParserError(ValueError):
|
|
@@ -22,6 +39,9 @@ class ParserError(ValueError):
|
|
|
22
39
|
self.field_name = field_name
|
|
23
40
|
super().__init__(message)
|
|
24
41
|
|
|
42
|
+
def __str__(self) -> str:
|
|
43
|
+
return _format_message(self.error_message, self.value)
|
|
44
|
+
|
|
25
45
|
def error_chain(self) -> list[ParserError]:
|
|
26
46
|
errors: list[ParserError] = []
|
|
27
47
|
current: BaseException | None = self
|
|
@@ -35,14 +55,14 @@ class ParserError(ValueError):
|
|
|
35
55
|
current: BaseException | None = self
|
|
36
56
|
while current is not None:
|
|
37
57
|
if isinstance(current, ParserError):
|
|
38
|
-
messages.append(current.error_message)
|
|
58
|
+
messages.append(_format_message(current.error_message, current.value))
|
|
39
59
|
current = current.__cause__
|
|
40
60
|
else:
|
|
41
61
|
messages.append(str(current))
|
|
42
62
|
break
|
|
43
63
|
|
|
44
64
|
if len(messages) <= 1:
|
|
45
|
-
return self.error_message
|
|
65
|
+
return _format_message(self.error_message, self.value)
|
|
46
66
|
|
|
47
67
|
return " → ".join(messages)
|
|
48
68
|
|
|
@@ -57,4 +77,19 @@ class ParserExtraFieldsError(ParserError):
|
|
|
57
77
|
)
|
|
58
78
|
|
|
59
79
|
|
|
80
|
+
class ParserEnumError(ParserError):
|
|
81
|
+
valid_values: set[str]
|
|
82
|
+
|
|
83
|
+
def __init__(
|
|
84
|
+
self,
|
|
85
|
+
*,
|
|
86
|
+
value: object,
|
|
87
|
+
enum_type: type,
|
|
88
|
+
valid_values: set[str],
|
|
89
|
+
) -> None:
|
|
90
|
+
self.valid_values = valid_values
|
|
91
|
+
message = f"'{value}' is not a valid string enum of type {enum_type.__name__}."
|
|
92
|
+
super().__init__(message, value=value, expected_type=enum_type)
|
|
93
|
+
|
|
94
|
+
|
|
60
95
|
class ParserTypeError(ParserError): ...
|
|
@@ -24,13 +24,12 @@ from uncountable.types import download_file_t
|
|
|
24
24
|
from uncountable.types.client_base import APIRequest, ClientMethods
|
|
25
25
|
from uncountable.types.client_config import ClientConfigOptions
|
|
26
26
|
from uncountable.types.client_config_t import RequestContext
|
|
27
|
+
from uncountable.types.request_headers_t import InternalRequestHeaders, VersionHeaders
|
|
27
28
|
|
|
28
29
|
from .file_upload import FileUpload, FileUploader, UploadedFile
|
|
29
30
|
from .types import AuthDetailsAll, AuthDetailsApiKey, AuthDetailsOAuth
|
|
30
31
|
|
|
31
32
|
DT = typing.TypeVar("DT")
|
|
32
|
-
UNC_REQUEST_ID_HEADER = "X-UNC-REQUEST-ID"
|
|
33
|
-
UNC_SDK_VERSION_HEADER = "X-UNC-SDK-VERSION"
|
|
34
33
|
|
|
35
34
|
|
|
36
35
|
class EndpointMethod(StrEnum):
|
|
@@ -328,8 +327,8 @@ class Client(ClientMethods):
|
|
|
328
327
|
self, *, api_request: APIRequest, request_id: str
|
|
329
328
|
) -> HTTPRequest:
|
|
330
329
|
headers = self._build_auth_headers()
|
|
331
|
-
headers[
|
|
332
|
-
headers[
|
|
330
|
+
headers[InternalRequestHeaders.REQUEST_ID] = request_id
|
|
331
|
+
headers[VersionHeaders.UNC_SDK_VERSION] = get_version()
|
|
333
332
|
if self._cfg.request_context is not None:
|
|
334
333
|
if self._cfg.request_context.user_locale is not None:
|
|
335
334
|
headers["X-User-Locale"] = self._cfg.request_context.user_locale
|
|
@@ -30,34 +30,28 @@ def _construct_auth_details(profile_meta: ProfileMetadata) -> AuthDetailsAll:
|
|
|
30
30
|
return AuthDetailsApiKey(api_id=api_id, api_secret_key=api_key)
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
def _construct_client_config(
|
|
34
|
-
*,
|
|
35
|
-
profile_meta: ProfileMetadata,
|
|
36
|
-
job_logger: JobLogger,
|
|
37
|
-
request_context: RequestContext | None = None,
|
|
38
|
-
) -> ClientConfig:
|
|
39
|
-
if profile_meta.client_options is None:
|
|
40
|
-
return ClientConfig(logger=job_logger, request_context=request_context)
|
|
41
|
-
return ClientConfig(
|
|
42
|
-
allow_insecure_tls=profile_meta.client_options.allow_insecure_tls,
|
|
43
|
-
extra_headers=profile_meta.client_options.extra_headers,
|
|
44
|
-
logger=job_logger,
|
|
45
|
-
request_context=request_context,
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
|
|
49
33
|
def construct_uncountable_client(
|
|
50
34
|
profile_meta: ProfileMetadata,
|
|
51
35
|
logger: JobLogger,
|
|
52
36
|
*,
|
|
53
37
|
request_context: RequestContext | None = None,
|
|
38
|
+
headers: dict[str, str] | None = None,
|
|
54
39
|
) -> Client:
|
|
40
|
+
extra_headers = {}
|
|
41
|
+
allow_insecure_tls = False
|
|
42
|
+
if profile_meta.client_options is not None:
|
|
43
|
+
extra_headers.update(profile_meta.client_options.extra_headers or {})
|
|
44
|
+
allow_insecure_tls = profile_meta.client_options.allow_insecure_tls
|
|
45
|
+
|
|
46
|
+
extra_headers.update(headers or {})
|
|
47
|
+
|
|
55
48
|
return Client(
|
|
56
49
|
base_url=profile_meta.base_url,
|
|
57
50
|
auth_details=_construct_auth_details(profile_meta),
|
|
58
|
-
config=
|
|
59
|
-
|
|
60
|
-
|
|
51
|
+
config=ClientConfig(
|
|
52
|
+
allow_insecure_tls=allow_insecure_tls,
|
|
53
|
+
extra_headers=extra_headers,
|
|
54
|
+
logger=logger,
|
|
61
55
|
request_context=request_context,
|
|
62
56
|
),
|
|
63
57
|
app_base_url=profile_meta.app_base_url,
|
|
@@ -23,7 +23,13 @@ from uncountable.integration.queue_runner.datastore.interface import Datastore
|
|
|
23
23
|
from uncountable.integration.queue_runner.types import ListenQueue, ResultQueue
|
|
24
24
|
from uncountable.integration.scan_profiles import load_profiles
|
|
25
25
|
from uncountable.integration.telemetry import JobLogger, Logger, get_otel_tracer
|
|
26
|
-
from uncountable.types import
|
|
26
|
+
from uncountable.types import (
|
|
27
|
+
base_t,
|
|
28
|
+
client_config_t,
|
|
29
|
+
job_definition_t,
|
|
30
|
+
queued_job_t,
|
|
31
|
+
request_headers_t,
|
|
32
|
+
)
|
|
27
33
|
|
|
28
34
|
|
|
29
35
|
class Worker:
|
|
@@ -123,6 +129,11 @@ def run_queued_job(
|
|
|
123
129
|
profile_meta=job_details.profile_metadata,
|
|
124
130
|
logger=job_logger,
|
|
125
131
|
request_context=request_context,
|
|
132
|
+
headers={
|
|
133
|
+
request_headers_t.IntegrationServerHeaders.JOB_UUID: queued_job.queued_job_uuid,
|
|
134
|
+
request_headers_t.IntegrationServerHeaders.JOB_ID: job_details.job_definition.id,
|
|
135
|
+
request_headers_t.IntegrationServerHeaders.JOB_NAME: job_details.job_definition.name,
|
|
136
|
+
},
|
|
126
137
|
)
|
|
127
138
|
batch_processor = AsyncBatchProcessor(client=client)
|
|
128
139
|
|
|
@@ -108,6 +108,7 @@ from . import recipes_t as recipes_t
|
|
|
108
108
|
from .api.integrations import register_sockets_token as register_sockets_token_t
|
|
109
109
|
from .api.recipes import remove_recipe_from_project as remove_recipe_from_project_t
|
|
110
110
|
from .api.recipe_links import remove_recipe_link as remove_recipe_link_t
|
|
111
|
+
from . import request_headers_t as request_headers_t
|
|
111
112
|
from .api.entity import resolve_entity_ids as resolve_entity_ids_t
|
|
112
113
|
from .api.outputs import resolve_output_conditions as resolve_output_conditions_t
|
|
113
114
|
from . import response_t as response_t
|
|
@@ -258,6 +259,7 @@ __all__: list[str] = [
|
|
|
258
259
|
"register_sockets_token_t",
|
|
259
260
|
"remove_recipe_from_project_t",
|
|
260
261
|
"remove_recipe_link_t",
|
|
262
|
+
"request_headers_t",
|
|
261
263
|
"resolve_entity_ids_t",
|
|
262
264
|
"resolve_output_conditions_t",
|
|
263
265
|
"response_t",
|
|
@@ -324,7 +324,7 @@ class AsyncBatchProcessorBase(ABC):
|
|
|
324
324
|
depends_on: list[str] | None = None,
|
|
325
325
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
326
326
|
) -> async_batch_t.QueuedAsyncBatchRequest:
|
|
327
|
-
"""Creates or updates field values
|
|
327
|
+
"""Creates a new entity or updates an existing one. If the entity already exists, updates its field values. Otherwise, creates a new entity under the specified definition. Returns the entity ID and whether a modification was made.
|
|
328
328
|
|
|
329
329
|
:param on_create_init_field_values: Field values set only when the entity is created (will be ignored if entity already exists)
|
|
330
330
|
:param depends_on: A list of batch reference keys to process before processing this request
|
|
@@ -460,7 +460,7 @@ class AsyncBatchProcessorBase(ABC):
|
|
|
460
460
|
depends_on: list[str] | None = None,
|
|
461
461
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
462
462
|
) -> async_batch_t.QueuedAsyncBatchRequest:
|
|
463
|
-
"""
|
|
463
|
+
"""Grants permissions on an entity. Only permissions that do not already exist are added. Returns whether any new permissions were granted.
|
|
464
464
|
|
|
465
465
|
:param depends_on: A list of batch reference keys to process before processing this request
|
|
466
466
|
"""
|
|
@@ -538,7 +538,7 @@ class AsyncBatchProcessorBase(ABC):
|
|
|
538
538
|
depends_on: list[str] | None = None,
|
|
539
539
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
540
540
|
) -> async_batch_t.QueuedAsyncBatchRequest:
|
|
541
|
-
"""
|
|
541
|
+
"""Locks an entity to prevent modifications. Recipe entity types are not supported and must use the dedicated lock_recipes endpoint instead. Attempting to lock an already locked entity is a no-op.
|
|
542
542
|
|
|
543
543
|
:param entity_key: Identifier for the entity
|
|
544
544
|
:param globally_removable: Should the lock be removable by any user or just admins
|
|
@@ -623,7 +623,7 @@ class AsyncBatchProcessorBase(ABC):
|
|
|
623
623
|
depends_on: list[str] | None = None,
|
|
624
624
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
625
625
|
) -> async_batch_t.QueuedAsyncBatchRequest:
|
|
626
|
-
"""
|
|
626
|
+
"""Looks up an entity by matching field values. Only text and ID field types are supported for matching. Returns the matched entity ID, or null if no match is found. Fails if multiple entities match. Excludes archived entities from results.
|
|
627
627
|
|
|
628
628
|
:param depends_on: A list of batch reference keys to process before processing this request
|
|
629
629
|
"""
|
|
@@ -737,7 +737,7 @@ class AsyncBatchProcessorBase(ABC):
|
|
|
737
737
|
depends_on: list[str] | None = None,
|
|
738
738
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
739
739
|
) -> async_batch_t.QueuedAsyncBatchRequest:
|
|
740
|
-
"""Sets the barcode for an entity
|
|
740
|
+
"""Sets the barcode value for an entity. Returns whether the new barcode value was set.
|
|
741
741
|
|
|
742
742
|
:param depends_on: A list of batch reference keys to process before processing this request
|
|
743
743
|
"""
|
|
@@ -771,7 +771,7 @@ class AsyncBatchProcessorBase(ABC):
|
|
|
771
771
|
depends_on: list[str] | None = None,
|
|
772
772
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
773
773
|
) -> async_batch_t.QueuedAsyncBatchRequest:
|
|
774
|
-
"""Sets field values
|
|
774
|
+
"""Sets field values on an entity. Returns whether the field values were modified.
|
|
775
775
|
|
|
776
776
|
:param entity_identifier: Entity to update
|
|
777
777
|
:param field_values: Field values to set
|
|
@@ -844,7 +844,7 @@ class AsyncBatchProcessorBase(ABC):
|
|
|
844
844
|
depends_on: list[str] | None = None,
|
|
845
845
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
846
846
|
) -> async_batch_t.QueuedAsyncBatchRequest:
|
|
847
|
-
"""Transitions an entity from one phase to another
|
|
847
|
+
"""Transitions an entity from one workflow phase to another. Fails if no valid transition exists between the specified phases, or if multiple transitions exist for the same phase pair.
|
|
848
848
|
|
|
849
849
|
:param entity: Entity to transition. If entity_identifier is provided, this should be omitted.
|
|
850
850
|
:param entity_identifier: Identifier of the entity to transition. If entity is provided, this should be omitted.
|
|
@@ -882,7 +882,7 @@ class AsyncBatchProcessorBase(ABC):
|
|
|
882
882
|
depends_on: list[str] | None = None,
|
|
883
883
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
884
884
|
) -> async_batch_t.QueuedAsyncBatchRequest:
|
|
885
|
-
"""
|
|
885
|
+
"""Removes the lock from an entity, allowing modifications again. Recipe entity types are not supported and must use the dedicated unlock_recipes endpoint instead. Attempting to unlock an already unlocked entity is a no-op.
|
|
886
886
|
|
|
887
887
|
:param entity_key: Identifier for the entity
|
|
888
888
|
:param depends_on: A list of batch reference keys to process before processing this request
|
{uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/uncountable/types/client_base.py
RENAMED
|
@@ -443,7 +443,7 @@ class ClientMethods(ABC):
|
|
|
443
443
|
definition_key: identifier_t.IdentifierKey | None = None,
|
|
444
444
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
445
445
|
) -> create_entities_t.Data:
|
|
446
|
-
"""
|
|
446
|
+
"""Batch creates new entities of a specified type within a definition. Returns the list of created entity IDs and types.
|
|
447
447
|
|
|
448
448
|
:param definition_id: Definition id for the entities to create
|
|
449
449
|
:param definition_key: Key for the definition of the entities to create
|
|
@@ -474,7 +474,7 @@ class ClientMethods(ABC):
|
|
|
474
474
|
parent_entity: entity_t.Entity | None = None,
|
|
475
475
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
476
476
|
) -> create_entity_t.Data:
|
|
477
|
-
"""Creates a new
|
|
477
|
+
"""Creates a single new entity of a specified type within a definition. Returns the created entity's ID and type.
|
|
478
478
|
|
|
479
479
|
:param definition_id: Definition id of the entity to create
|
|
480
480
|
:param definition_key: Key for the definition of the entity to create
|
|
@@ -549,7 +549,7 @@ class ClientMethods(ABC):
|
|
|
549
549
|
on_create_init_field_values: list[field_values_t.FieldArgumentValue] | None = None,
|
|
550
550
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
551
551
|
) -> create_or_update_entity_t.Data:
|
|
552
|
-
"""Creates or updates field values
|
|
552
|
+
"""Creates a new entity or updates an existing one. If the entity already exists, updates its field values. Otherwise, creates a new entity under the specified definition. Returns the entity ID and whether a modification was made.
|
|
553
553
|
|
|
554
554
|
:param on_create_init_field_values: Field values set only when the entity is created (will be ignored if entity already exists)
|
|
555
555
|
"""
|
|
@@ -792,7 +792,7 @@ class ClientMethods(ABC):
|
|
|
792
792
|
attributes: list[export_entities_t.ListingAttribute] | None = None,
|
|
793
793
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
794
794
|
) -> export_entities_t.Data:
|
|
795
|
-
"""
|
|
795
|
+
"""Queues an asynchronous export of entities using a structured loading configuration. Fails if the export would return more than 1 million rows. Returns an async job ID that can be used to poll for export completion.
|
|
796
796
|
|
|
797
797
|
:param config_key: The configuration reference for the listing config
|
|
798
798
|
:param limit: The number of data points to return. If not filled in, all filtered entities will be included in the export.
|
|
@@ -944,7 +944,7 @@ class ClientMethods(ABC):
|
|
|
944
944
|
entity_type: entity_t.EntityType,
|
|
945
945
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
946
946
|
) -> get_entities_data_t.Data:
|
|
947
|
-
"""
|
|
947
|
+
"""Retrieves field values for entities of the same type. All requested entities must share the same entity type.
|
|
948
948
|
|
|
949
949
|
:param entity_ids: Ids of the entity to retrieve
|
|
950
950
|
:param entity_type: The type of the entities requested, e.g. lab_request or approval
|
|
@@ -1381,7 +1381,7 @@ class ClientMethods(ABC):
|
|
|
1381
1381
|
all_users: bool | None = None,
|
|
1382
1382
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
1383
1383
|
) -> grant_entity_permissions_t.Data:
|
|
1384
|
-
"""
|
|
1384
|
+
"""Grants permissions on an entity. Only permissions that do not already exist are added. Returns whether any new permissions were granted.
|
|
1385
1385
|
|
|
1386
1386
|
"""
|
|
1387
1387
|
args = grant_entity_permissions_t.Arguments(
|
|
@@ -1436,7 +1436,7 @@ class ClientMethods(ABC):
|
|
|
1436
1436
|
limit: int | None = None,
|
|
1437
1437
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
1438
1438
|
) -> list_aggregate_t.Data:
|
|
1439
|
-
"""
|
|
1439
|
+
"""Queries aggregated data using a structured loading configuration. The referenced configuration must be an aggregation listing. Returns column metadata and aggregated row results.
|
|
1440
1440
|
|
|
1441
1441
|
:param config_reference: The configuration reference name for the listing config
|
|
1442
1442
|
:param attribute_values: Attributes to pass to the configuration for parameterizing filters
|
|
@@ -1468,7 +1468,7 @@ class ClientMethods(ABC):
|
|
|
1468
1468
|
additional_filter_configs: list[list_entities_t.AdditionalFilterConfig] | None = None,
|
|
1469
1469
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
1470
1470
|
) -> list_entities_t.Data:
|
|
1471
|
-
"""
|
|
1471
|
+
"""Lists entities using a structured loading configuration. Returns column metadata and entity results with their column values.
|
|
1472
1472
|
|
|
1473
1473
|
:param entity_type: DEPRECATED: The type of the entities requested, e.g. lab_request, recipe
|
|
1474
1474
|
:param config_reference: The configuration reference name for the listing config
|
|
@@ -1531,7 +1531,7 @@ class ClientMethods(ABC):
|
|
|
1531
1531
|
globally_removable: bool | None = None,
|
|
1532
1532
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
1533
1533
|
) -> lock_entity_t.Data:
|
|
1534
|
-
"""
|
|
1534
|
+
"""Locks an entity to prevent modifications. Recipe entity types are not supported and must use the dedicated lock_recipes endpoint instead. Attempting to lock an already locked entity is a no-op.
|
|
1535
1535
|
|
|
1536
1536
|
:param entity_key: Identifier for the entity
|
|
1537
1537
|
:param globally_removable: Should the lock be removable by any user or just admins
|
|
@@ -1592,7 +1592,7 @@ class ClientMethods(ABC):
|
|
|
1592
1592
|
query: lookup_entity_t.LookupEntityQuery,
|
|
1593
1593
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
1594
1594
|
) -> lookup_entity_t.Data:
|
|
1595
|
-
"""
|
|
1595
|
+
"""Looks up an entity by matching field values. Only text and ID field types are supported for matching. Returns the matched entity ID, or null if no match is found. Fails if multiple entities match. Excludes archived entities from results.
|
|
1596
1596
|
|
|
1597
1597
|
"""
|
|
1598
1598
|
args = lookup_entity_t.Arguments(
|
|
@@ -1780,7 +1780,7 @@ class ClientMethods(ABC):
|
|
|
1780
1780
|
entity_type: entity_t.EntityType,
|
|
1781
1781
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
1782
1782
|
) -> resolve_entity_ids_t.Data:
|
|
1783
|
-
"""
|
|
1783
|
+
"""Resolves entity IDs to their display names. All requested entities must share the same entity type.
|
|
1784
1784
|
|
|
1785
1785
|
:param entity_ids: Ids of the entity to retrieve
|
|
1786
1786
|
:param entity_type: The type of the entities requested
|
|
@@ -1850,7 +1850,7 @@ class ClientMethods(ABC):
|
|
|
1850
1850
|
barcode_value: str,
|
|
1851
1851
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
1852
1852
|
) -> set_barcode_t.Data:
|
|
1853
|
-
"""Sets the barcode for an entity
|
|
1853
|
+
"""Sets the barcode value for an entity. Returns whether the new barcode value was set.
|
|
1854
1854
|
|
|
1855
1855
|
"""
|
|
1856
1856
|
args = set_barcode_t.Arguments(
|
|
@@ -1904,7 +1904,7 @@ class ClientMethods(ABC):
|
|
|
1904
1904
|
field_values: list[field_values_t.FieldArgumentValue],
|
|
1905
1905
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
1906
1906
|
) -> set_entity_field_values_t.Data:
|
|
1907
|
-
"""Sets field values
|
|
1907
|
+
"""Sets field values on an entity. Returns whether the field values were modified.
|
|
1908
1908
|
|
|
1909
1909
|
:param entity_identifier: Entity to update
|
|
1910
1910
|
:param field_values: Field values to set
|
|
@@ -2219,7 +2219,7 @@ class ClientMethods(ABC):
|
|
|
2219
2219
|
values: list[field_values_t.ArgumentValueRefName],
|
|
2220
2220
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
2221
2221
|
) -> set_values_t.Data:
|
|
2222
|
-
"""Sets field values
|
|
2222
|
+
"""Sets field values on an entity. Returns an empty response on success.
|
|
2223
2223
|
|
|
2224
2224
|
"""
|
|
2225
2225
|
args = set_values_t.Arguments(
|
|
@@ -2242,7 +2242,7 @@ class ClientMethods(ABC):
|
|
|
2242
2242
|
entity_identifier: entity_t.EntityIdentifier | None = None,
|
|
2243
2243
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
2244
2244
|
) -> transition_entity_phase_t.Data:
|
|
2245
|
-
"""Transitions an entity from one phase to another
|
|
2245
|
+
"""Transitions an entity from one workflow phase to another. Fails if no valid transition exists between the specified phases, or if multiple transitions exist for the same phase pair.
|
|
2246
2246
|
|
|
2247
2247
|
:param entity: Entity to transition. If entity_identifier is provided, this should be omitted.
|
|
2248
2248
|
:param entity_identifier: Identifier of the entity to transition. If entity is provided, this should be omitted.
|
|
@@ -2289,7 +2289,7 @@ class ClientMethods(ABC):
|
|
|
2289
2289
|
entity_type: entity_t.EntityType,
|
|
2290
2290
|
_request_options: client_config_t.RequestOptions | None = None,
|
|
2291
2291
|
) -> unlock_entity_t.Data:
|
|
2292
|
-
"""
|
|
2292
|
+
"""Removes the lock from an entity, allowing modifications again. Recipe entity types are not supported and must use the dedicated unlock_recipes endpoint instead. Attempting to unlock an already unlocked entity is a no-op.
|
|
2293
2293
|
|
|
2294
2294
|
:param entity_key: Identifier for the entity
|
|
2295
2295
|
"""
|
|
@@ -148,6 +148,8 @@ __all__: list[str] = [
|
|
|
148
148
|
"permission": "Permission",
|
|
149
149
|
"permissions_recipe_link_inheritance": "Permissions Recipe Link Inheritance",
|
|
150
150
|
"phase_workflow": "Phase Workflow",
|
|
151
|
+
"pipeline_step": "Pipeline Step",
|
|
152
|
+
"pipeline": "Pipeline",
|
|
151
153
|
"platform_config": "Platform Config",
|
|
152
154
|
"portal_form": "Portal Form",
|
|
153
155
|
"predictive_model": "Predictive Model",
|
|
@@ -192,6 +194,7 @@ __all__: list[str] = [
|
|
|
192
194
|
"rlw_phase": "Phase",
|
|
193
195
|
"rlw_trigger": "Trigger",
|
|
194
196
|
"rlw_trigger_set": "Trigger Set",
|
|
197
|
+
"definition_trigger_set": "Definition Trigger Set",
|
|
195
198
|
"runsheet_configuration": "Runsheet Configuration",
|
|
196
199
|
"safety_data_sheet": "Safety Data Sheet",
|
|
197
200
|
"scheduled_notification": "Scheduled Notification",
|
|
@@ -212,6 +215,7 @@ __all__: list[str] = [
|
|
|
212
215
|
"test_entity": "Test Entity",
|
|
213
216
|
"time_series_segment": "Time Series Segment",
|
|
214
217
|
"timesheet_entry": "Timesheet Entry",
|
|
218
|
+
"training_module": "Training Module",
|
|
215
219
|
"training_run": "Analyze Experiment",
|
|
216
220
|
"training_run_template": "Scheduled Training Run",
|
|
217
221
|
"training_set": "Training Set",
|
|
@@ -378,6 +382,8 @@ class EntityType(StrEnum):
|
|
|
378
382
|
PERMISSION = "permission"
|
|
379
383
|
PERMISSIONS_RECIPE_LINK_INHERITANCE = "permissions_recipe_link_inheritance"
|
|
380
384
|
PHASE_WORKFLOW = "phase_workflow"
|
|
385
|
+
PIPELINE_STEP = "pipeline_step"
|
|
386
|
+
PIPELINE = "pipeline"
|
|
381
387
|
PLATFORM_CONFIG = "platform_config"
|
|
382
388
|
PORTAL_FORM = "portal_form"
|
|
383
389
|
PREDICTIVE_MODEL = "predictive_model"
|
|
@@ -422,6 +428,7 @@ class EntityType(StrEnum):
|
|
|
422
428
|
RLW_PHASE = "rlw_phase"
|
|
423
429
|
RLW_TRIGGER = "rlw_trigger"
|
|
424
430
|
RLW_TRIGGER_SET = "rlw_trigger_set"
|
|
431
|
+
DEFINITION_TRIGGER_SET = "definition_trigger_set"
|
|
425
432
|
RUNSHEET_CONFIGURATION = "runsheet_configuration"
|
|
426
433
|
SAFETY_DATA_SHEET = "safety_data_sheet"
|
|
427
434
|
SCHEDULED_NOTIFICATION = "scheduled_notification"
|
|
@@ -442,6 +449,7 @@ class EntityType(StrEnum):
|
|
|
442
449
|
TEST_ENTITY = "test_entity"
|
|
443
450
|
TIME_SERIES_SEGMENT = "time_series_segment"
|
|
444
451
|
TIMESHEET_ENTRY = "timesheet_entry"
|
|
452
|
+
TRAINING_MODULE = "training_module"
|
|
445
453
|
TRAINING_RUN = "training_run"
|
|
446
454
|
TRAINING_RUN_TEMPLATE = "training_run_template"
|
|
447
455
|
TRAINING_SET = "training_set"
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# ruff: noqa: E402 Q003
|
|
2
|
+
# fmt: off
|
|
3
|
+
# isort: skip_file
|
|
4
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
5
|
+
# Kept only for SDK backwards compatibility
|
|
6
|
+
from .request_headers_t import VersionHeaders as VersionHeaders
|
|
7
|
+
from .request_headers_t import IntegrationServerHeaders as IntegrationServerHeaders
|
|
8
|
+
from .request_headers_t import InternalRequestHeaders as InternalRequestHeaders
|
|
9
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
import typing # noqa: F401
|
|
7
|
+
import datetime # noqa: F401
|
|
8
|
+
from decimal import Decimal # noqa: F401
|
|
9
|
+
from enum import StrEnum
|
|
10
|
+
|
|
11
|
+
__all__: list[str] = [
|
|
12
|
+
"IntegrationServerHeaders",
|
|
13
|
+
"InternalRequestHeaders",
|
|
14
|
+
"VersionHeaders",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
19
|
+
class VersionHeaders(StrEnum):
|
|
20
|
+
UNC_SDK_VERSION = "X-UNC-SDK-VERSION"
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
24
|
+
class IntegrationServerHeaders(StrEnum):
|
|
25
|
+
JOB_UUID = "X-UNC-INTEGRATION-JOB-UUID"
|
|
26
|
+
JOB_ID = "X-UNC-INTEGRATION-JOB-ID"
|
|
27
|
+
JOB_NAME = "X-UNC-INTEGRATION-JOB-NAME"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
31
|
+
class InternalRequestHeaders(StrEnum):
|
|
32
|
+
REQUEST_ID = "X-UNC-REQUEST-ID"
|
|
33
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
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
|
{uncountablepythonsdk-0.0.163 → uncountablepythonsdk-0.0.164}/docs/integration_examples/index.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|