UncountablePythonSDK 0.0.36__tar.gz → 0.0.38__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 UncountablePythonSDK might be problematic. Click here for more details.
- {uncountablepythonsdk-0.0.36/UncountablePythonSDK.egg-info → uncountablepythonsdk-0.0.38}/PKG-INFO +1 -1
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38/UncountablePythonSDK.egg-info}/PKG-INFO +1 -1
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/UncountablePythonSDK.egg-info/SOURCES.txt +1 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/core/client.py +37 -22
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/__init__.py +2 -0
- uncountablepythonsdk-0.0.38/uncountable/types/api/recipe_links/remove_recipe_link.py +38 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/client_base.py +26 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/.github/workflows/documentation.yml +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/.github/workflows/publish.yml +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/.gitignore +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/README.md +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/UncountablePythonSDK.egg-info/requires.txt +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/.gitignore +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/conf.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/index.md +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/justfile +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/quickstart.md +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/requirements.txt +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/android-chrome-192x192.png +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/android-chrome-512x512.png +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/apple-touch-icon.png +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/browserconfig.xml +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/favicon-16x16.png +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/favicon-32x32.png +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/manifest.json +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/mstile-150x150.png +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/safari-pinned-tab.svg +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/logo_blue.png +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/examples/async_batch.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/examples/create_entity.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/examples/edit_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/examples/upload_files.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/_is_enum.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/_is_namedtuple.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/argument_parser.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/case_convert.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/missing_sentry.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/opaque_key.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/serial_class.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/serial_union.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization_util/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization_util/serialization_helpers.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/strenum_compat/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/strenum_compat/strenum_compat.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/__main__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/actions_registry/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/actions_registry/__main__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/builder.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/config.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_io_ts.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_open_api.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_open_api_util.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_python.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_typescript.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_typescript_util.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/load_types.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/open_api_util.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/parts/base.py.prepart +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/parts/base.ts.prepart +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/test.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/type_info/__main__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/util.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/__main__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/convert_type.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/emit_python.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/types.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pyproject.toml +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/setup.cfg +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/core/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/core/async_batch.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/core/file_upload.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/core/types.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/construct_client.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/cron.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/db/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/db/connect.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/entrypoint.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/executors/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/executors/script_executor.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/job.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/server.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/types.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/py.typed +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/batch/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/batch/execute_batch.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/batch/execute_batch_load_async.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/chemical/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/chemical/convert_chemical_formats.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/create_entities.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/create_entity.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/get_entities_data.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/list_entities.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/lock_entity.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/resolve_entity_ids.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/set_values.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/transition_entity_phase.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/unlock_entity.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/field_options/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/field_options/upsert_field_options.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/id_source/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/id_source/list_id_source.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/id_source/match_id_source.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/input_groups/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/input_groups/get_input_group_names.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/create_inputs.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/get_input_data.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/get_input_names.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/get_inputs_data.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/set_input_attribute_values.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/set_input_category.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/set_input_subcategories.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/set_intermediate_type.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/material_families/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/material_families/update_entity_material_families.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/outputs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/outputs/get_output_data.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/outputs/get_output_names.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/permissions/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/permissions/set_core_permissions.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/project/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/project/get_projects.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/project/get_projects_data.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipe_links/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipe_links/create_recipe_link.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipe_metadata/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/add_recipe_to_project.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/archive_recipes.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/associate_recipe_as_input.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/create_recipe.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/create_recipes.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/edit_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/get_curve.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/get_recipe_calculations.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/get_recipe_links.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/get_recipe_names.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/get_recipe_output_metadata.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/get_recipes_data.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/lock_recipes.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/remove_recipe_from_project.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/set_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/set_recipe_metadata.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/set_recipe_output_annotations.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/set_recipe_outputs.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/set_recipe_tags.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/unarchive_recipes.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/recipes/unlock_recipes.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/triggers/__init__.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/triggers/run_trigger.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/async_batch.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/async_batch_processor.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/base.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/calculations.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/chemical_structure.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/curves.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/entity.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/experiment_groups.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/field_values.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/fields.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/id_source.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/identifier.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/input_attributes.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/inputs.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/outputs.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/permissions.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/phases.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/post_base.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_identifiers.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_links.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_metadata.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_output_metadata.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_tags.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_workflow_steps.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipes.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/response.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/units.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/users.py +0 -0
- {uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/workflows.py +0 -0
{uncountablepythonsdk-0.0.36/UncountablePythonSDK.egg-info → uncountablepythonsdk-0.0.38}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.38
|
|
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.36 → uncountablepythonsdk-0.0.38/UncountablePythonSDK.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.38
|
|
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
|
|
@@ -166,6 +166,7 @@ uncountable/types/api/project/get_projects.py
|
|
|
166
166
|
uncountable/types/api/project/get_projects_data.py
|
|
167
167
|
uncountable/types/api/recipe_links/__init__.py
|
|
168
168
|
uncountable/types/api/recipe_links/create_recipe_link.py
|
|
169
|
+
uncountable/types/api/recipe_links/remove_recipe_link.py
|
|
169
170
|
uncountable/types/api/recipe_metadata/__init__.py
|
|
170
171
|
uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py
|
|
171
172
|
uncountable/types/api/recipes/__init__.py
|
|
@@ -4,6 +4,7 @@ import typing
|
|
|
4
4
|
from dataclasses import dataclass
|
|
5
5
|
from datetime import datetime, timedelta
|
|
6
6
|
from enum import StrEnum
|
|
7
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
7
8
|
from urllib.parse import urljoin
|
|
8
9
|
from uuid import uuid4
|
|
9
10
|
|
|
@@ -20,6 +21,13 @@ from .types import AuthDetailsAll, AuthDetailsApiKey, AuthDetailsOAuth
|
|
|
20
21
|
|
|
21
22
|
DT = typing.TypeVar("DT")
|
|
22
23
|
UNC_REQUEST_ID_HEADER = "X-UNC-REQUEST-ID"
|
|
24
|
+
UNC_SDK_VERSION_HEADER = "X-UNC-SDK-VERSION"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
__version__ = version("uncountable")
|
|
29
|
+
except PackageNotFoundError:
|
|
30
|
+
__version__ = "unknown"
|
|
23
31
|
|
|
24
32
|
|
|
25
33
|
class EndpointMethod(StrEnum):
|
|
@@ -52,6 +60,8 @@ HTTPRequest = HTTPPostRequest | HTTPGetRequest
|
|
|
52
60
|
@dataclass(kw_only=True)
|
|
53
61
|
class ClientConfig:
|
|
54
62
|
allow_insecure_tls: bool = False
|
|
63
|
+
extra_headers: dict[str, str] | None = None
|
|
64
|
+
transform_request: typing.Callable[[requests.Request], requests.Request] | None = None
|
|
55
65
|
|
|
56
66
|
|
|
57
67
|
OAUTH_REFRESH_WINDOW_SECONDS = 60 * 5
|
|
@@ -136,6 +146,7 @@ class Client(ClientMethods):
|
|
|
136
146
|
_file_uploader: FileUploader
|
|
137
147
|
_cfg: ClientConfig
|
|
138
148
|
_oauth_bearer_token_cache: OAuthBearerTokenCache | None = None
|
|
149
|
+
_session: requests.Session
|
|
139
150
|
|
|
140
151
|
def __init__(
|
|
141
152
|
self,
|
|
@@ -148,6 +159,8 @@ class Client(ClientMethods):
|
|
|
148
159
|
self._base_url = base_url
|
|
149
160
|
self._file_uploader = FileUploader(self._base_url, self._auth_details)
|
|
150
161
|
self._cfg = config or ClientConfig()
|
|
162
|
+
self._session = requests.Session()
|
|
163
|
+
self._session.verify = not self._cfg.allow_insecure_tls
|
|
151
164
|
|
|
152
165
|
def _get_response_json(
|
|
153
166
|
self, response: requests.Response, request_id: str
|
|
@@ -157,7 +170,7 @@ class Client(ClientMethods):
|
|
|
157
170
|
try:
|
|
158
171
|
data = response.json()
|
|
159
172
|
if "error" in data:
|
|
160
|
-
extra_details = data
|
|
173
|
+
extra_details = data
|
|
161
174
|
except JSONDecodeError:
|
|
162
175
|
pass
|
|
163
176
|
raise APIResponseError.construct_error(
|
|
@@ -168,6 +181,15 @@ class Client(ClientMethods):
|
|
|
168
181
|
except JSONDecodeError as e:
|
|
169
182
|
raise SDKError("unable to process response", request_id=request_id) from e
|
|
170
183
|
|
|
184
|
+
def _send_request(self, request: requests.Request) -> requests.Response:
|
|
185
|
+
if self._cfg.extra_headers is not None:
|
|
186
|
+
request.headers = {**request.headers, **self._cfg.extra_headers}
|
|
187
|
+
if self._cfg.transform_request is not None:
|
|
188
|
+
request = self._cfg.transform_request(request)
|
|
189
|
+
prepared_request = request.prepare()
|
|
190
|
+
response = self._session.send(prepared_request)
|
|
191
|
+
return response
|
|
192
|
+
|
|
171
193
|
def do_request(self, *, api_request: APIRequest, return_type: type[DT]) -> DT:
|
|
172
194
|
request_id = str(uuid4())
|
|
173
195
|
http_request = self._build_http_request(
|
|
@@ -175,21 +197,15 @@ class Client(ClientMethods):
|
|
|
175
197
|
)
|
|
176
198
|
match http_request:
|
|
177
199
|
case HTTPGetRequest():
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
headers=http_request.headers,
|
|
181
|
-
params=http_request.query_params,
|
|
182
|
-
verify=not self._cfg.allow_insecure_tls,
|
|
183
|
-
)
|
|
200
|
+
request = requests.Request("GET", http_request.url)
|
|
201
|
+
request.params = http_request.query_params
|
|
184
202
|
case HTTPPostRequest():
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
headers=http_request.headers,
|
|
188
|
-
data=http_request.body,
|
|
189
|
-
verify=not self._cfg.allow_insecure_tls,
|
|
190
|
-
)
|
|
203
|
+
request = requests.Request("POST", http_request.url)
|
|
204
|
+
request.data = http_request.body
|
|
191
205
|
case _:
|
|
192
206
|
typing.assert_never(http_request)
|
|
207
|
+
request.headers = http_request.headers
|
|
208
|
+
response = self._send_request(request)
|
|
193
209
|
response_data = self._get_response_json(response, request_id=request_id)
|
|
194
210
|
cached_parser = self._get_cached_parser(return_type)
|
|
195
211
|
try:
|
|
@@ -212,15 +228,13 @@ class Client(ClientMethods):
|
|
|
212
228
|
< OAUTH_REFRESH_WINDOW_SECONDS
|
|
213
229
|
):
|
|
214
230
|
refresh_url = urljoin(self._base_url, "/token/get_bearer_token")
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
verify=not self._cfg.allow_insecure_tls,
|
|
223
|
-
)
|
|
231
|
+
request = requests.Request("POST", refresh_url)
|
|
232
|
+
request.data = {
|
|
233
|
+
"client_secret": oauth_details.refresh_token,
|
|
234
|
+
"scope": oauth_details.scope,
|
|
235
|
+
"grant_type": "client_credentials",
|
|
236
|
+
}
|
|
237
|
+
response = self._send_request(request)
|
|
224
238
|
data = self._get_response_json(response, request_id=str(uuid4()))
|
|
225
239
|
token_data = oauth_bearer_token_data_parser.parse_storage(data)
|
|
226
240
|
self._oauth_bearer_token_cache = OAuthBearerTokenCache(
|
|
@@ -247,6 +261,7 @@ class Client(ClientMethods):
|
|
|
247
261
|
) -> HTTPRequest:
|
|
248
262
|
headers = self._build_auth_headers()
|
|
249
263
|
headers[UNC_REQUEST_ID_HEADER] = request_id
|
|
264
|
+
headers[UNC_SDK_VERSION_HEADER] = __version__
|
|
250
265
|
method = api_request.method.lower()
|
|
251
266
|
data = {"data": json.dumps(serialize_for_api(api_request.args))}
|
|
252
267
|
match method:
|
|
@@ -65,6 +65,7 @@ from . import recipe_tags as recipe_tags_t
|
|
|
65
65
|
from . import recipe_workflow_steps as recipe_workflow_steps_t
|
|
66
66
|
from . import recipes as recipes_t
|
|
67
67
|
from .api.recipes import remove_recipe_from_project as remove_recipe_from_project_t
|
|
68
|
+
from .api.recipe_links import remove_recipe_link as remove_recipe_link_t
|
|
68
69
|
from .api.entity import resolve_entity_ids as resolve_entity_ids_t
|
|
69
70
|
from .api.outputs import resolve_output_conditions as resolve_output_conditions_t
|
|
70
71
|
from . import response as response_t
|
|
@@ -154,6 +155,7 @@ __all__: list[str] = [
|
|
|
154
155
|
"recipe_workflow_steps_t",
|
|
155
156
|
"recipes_t",
|
|
156
157
|
"remove_recipe_from_project_t",
|
|
158
|
+
"remove_recipe_link_t",
|
|
157
159
|
"resolve_entity_ids_t",
|
|
158
160
|
"resolve_output_conditions_t",
|
|
159
161
|
"response_t",
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
from dataclasses import dataclass
|
|
11
|
+
from ... import async_batch as async_batch_t
|
|
12
|
+
from ... import identifier as identifier_t
|
|
13
|
+
from ... import recipe_links as recipe_links_t
|
|
14
|
+
|
|
15
|
+
__all__: list[str] = [
|
|
16
|
+
"Arguments",
|
|
17
|
+
"Data",
|
|
18
|
+
"ENDPOINT_METHOD",
|
|
19
|
+
"ENDPOINT_PATH",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
ENDPOINT_METHOD = "POST"
|
|
23
|
+
ENDPOINT_PATH = "api/external/recipe_links/remove_recipe_link"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
27
|
+
@dataclass(kw_only=True)
|
|
28
|
+
class Arguments:
|
|
29
|
+
recipe_from_key: identifier_t.IdentifierKey
|
|
30
|
+
recipe_to_key: identifier_t.IdentifierKey
|
|
31
|
+
link_type: typing.Union[typing.Literal[recipe_links_t.RecipeLinkType.CHILD], typing.Literal[recipe_links_t.RecipeLinkType.CONTROL], typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK]]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
35
|
+
@dataclass(kw_only=True)
|
|
36
|
+
class Data(async_batch_t.AsyncBatchActionReturn):
|
|
37
|
+
pass
|
|
38
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/client_base.py
RENAMED
|
@@ -58,6 +58,7 @@ from uncountable.types import recipe_links as recipe_links_t
|
|
|
58
58
|
from uncountable.types import recipe_metadata as recipe_metadata_t
|
|
59
59
|
from uncountable.types import recipe_workflow_steps as recipe_workflow_steps_t
|
|
60
60
|
import uncountable.types.api.recipes.remove_recipe_from_project as remove_recipe_from_project_t
|
|
61
|
+
import uncountable.types.api.recipe_links.remove_recipe_link as remove_recipe_link_t
|
|
61
62
|
import uncountable.types.api.entity.resolve_entity_ids as resolve_entity_ids_t
|
|
62
63
|
import uncountable.types.api.outputs.resolve_output_conditions as resolve_output_conditions_t
|
|
63
64
|
import uncountable.types.api.triggers.run_trigger as run_trigger_t
|
|
@@ -987,6 +988,31 @@ class ClientMethods(ABC):
|
|
|
987
988
|
)
|
|
988
989
|
return self.do_request(api_request=api_request, return_type=remove_recipe_from_project_t.Data)
|
|
989
990
|
|
|
991
|
+
def remove_recipe_link(
|
|
992
|
+
self,
|
|
993
|
+
*,
|
|
994
|
+
recipe_from_key: identifier_t.IdentifierKey,
|
|
995
|
+
recipe_to_key: identifier_t.IdentifierKey,
|
|
996
|
+
link_type: typing.Union[typing.Literal[recipe_links_t.RecipeLinkType.CHILD], typing.Literal[recipe_links_t.RecipeLinkType.CONTROL], typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK]],
|
|
997
|
+
) -> remove_recipe_link_t.Data:
|
|
998
|
+
"""Remove a link between two recipes. Skip if the link doesn't already exist
|
|
999
|
+
|
|
1000
|
+
:param recipe_from_key: Identifier for the recipe the link comes from
|
|
1001
|
+
:param recipe_to_key: Identifier for the recipe the link goes to
|
|
1002
|
+
:param link_type: The type of link being removed
|
|
1003
|
+
"""
|
|
1004
|
+
args = remove_recipe_link_t.Arguments(
|
|
1005
|
+
recipe_from_key=recipe_from_key,
|
|
1006
|
+
recipe_to_key=recipe_to_key,
|
|
1007
|
+
link_type=link_type,
|
|
1008
|
+
)
|
|
1009
|
+
api_request = APIRequest(
|
|
1010
|
+
method=remove_recipe_link_t.ENDPOINT_METHOD,
|
|
1011
|
+
endpoint=remove_recipe_link_t.ENDPOINT_PATH,
|
|
1012
|
+
args=args,
|
|
1013
|
+
)
|
|
1014
|
+
return self.do_request(api_request=api_request, return_type=remove_recipe_link_t.Data)
|
|
1015
|
+
|
|
990
1016
|
def resolve_entity_ids(
|
|
991
1017
|
self,
|
|
992
1018
|
*,
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/.github/workflows/documentation.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/browserconfig.xml
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/favicon-16x16.png
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/favicon-32x32.png
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/manifest.json
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/docs/static/favicons/mstile-150x150.png
RENAMED
|
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.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/__init__.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/_is_enum.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/_is_namedtuple.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/argument_parser.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/argument_parser/case_convert.py
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/missing_sentry.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/opaque_key.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/serial_class.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization/serial_union.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/serialization_util/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/strenum_compat/strenum_compat.py
RENAMED
|
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.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_open_api_util.py
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_typescript.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/emit_typescript_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/parts/base.py.prepart
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/parts/base.ts.prepart
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/type_info/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/__init__.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/emit_python.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/pkgs/type_spec/value_spec/types.py
RENAMED
|
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.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/db/__init__.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/db/connect.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/entrypoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/server.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/integration/types.py
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/__init__.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/batch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/entity/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/api/inputs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/async_batch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/calculations.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/chemical_structure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/experiment_groups.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/field_values.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/input_attributes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_identifiers.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_inputs.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_links.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_metadata.py
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.36 → uncountablepythonsdk-0.0.38}/uncountable/types/recipe_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|