UncountablePythonSDK 0.0.35__tar.gz → 0.0.36__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.35/UncountablePythonSDK.egg-info → uncountablepythonsdk-0.0.36}/PKG-INFO +1 -1
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36/UncountablePythonSDK.egg-info}/PKG-INFO +1 -1
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/UncountablePythonSDK.egg-info/SOURCES.txt +1 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/builder.py +21 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_open_api.py +11 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_open_api_util.py +4 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/__init__.py +2 -0
- uncountablepythonsdk-0.0.36/uncountable/types/api/recipes/lock_recipes.py +53 -0
- uncountablepythonsdk-0.0.36/uncountable/types/api/recipes/unlock_recipes.py +43 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/async_batch.py +2 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/client_base.py +44 -3
- uncountablepythonsdk-0.0.35/uncountable/types/api/recipes/lock_recipes.py +0 -89
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/.github/workflows/documentation.yml +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/.github/workflows/publish.yml +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/.gitignore +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/README.md +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/UncountablePythonSDK.egg-info/requires.txt +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/.gitignore +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/conf.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/index.md +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/justfile +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/quickstart.md +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/requirements.txt +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/android-chrome-192x192.png +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/android-chrome-512x512.png +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/apple-touch-icon.png +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/browserconfig.xml +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/favicon-16x16.png +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/favicon-32x32.png +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/manifest.json +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/mstile-150x150.png +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/safari-pinned-tab.svg +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/logo_blue.png +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/examples/async_batch.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/examples/create_entity.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/examples/edit_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/examples/upload_files.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/_is_enum.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/_is_namedtuple.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/argument_parser.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/case_convert.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/missing_sentry.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/opaque_key.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/serial_class.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/serial_union.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization_util/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization_util/serialization_helpers.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/strenum_compat/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/strenum_compat/strenum_compat.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/__main__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/actions_registry/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/actions_registry/__main__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/config.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_io_ts.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_python.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_typescript.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_typescript_util.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/load_types.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/open_api_util.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/parts/base.py.prepart +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/parts/base.ts.prepart +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/test.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/type_info/__main__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/util.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/value_spec/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/value_spec/__main__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/value_spec/convert_type.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/value_spec/emit_python.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/value_spec/types.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pyproject.toml +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/setup.cfg +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/core/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/core/async_batch.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/core/client.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/core/file_upload.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/core/types.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/construct_client.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/cron.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/db/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/db/connect.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/entrypoint.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/executors/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/executors/script_executor.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/job.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/server.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/types.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/py.typed +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/batch/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/batch/execute_batch.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/batch/execute_batch_load_async.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/chemical/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/chemical/convert_chemical_formats.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/create_entities.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/create_entity.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/get_entities_data.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/list_entities.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/lock_entity.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/resolve_entity_ids.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/set_values.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/transition_entity_phase.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/entity/unlock_entity.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/field_options/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/field_options/upsert_field_options.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/id_source/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/id_source/list_id_source.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/id_source/match_id_source.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/input_groups/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/input_groups/get_input_group_names.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/create_inputs.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/get_input_data.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/get_input_names.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/get_inputs_data.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/set_input_attribute_values.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/set_input_category.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/set_input_subcategories.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/inputs/set_intermediate_type.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/material_families/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/material_families/update_entity_material_families.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/outputs/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/outputs/get_output_data.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/outputs/get_output_names.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/permissions/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/permissions/set_core_permissions.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/project/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/project/get_projects.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/project/get_projects_data.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipe_links/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipe_links/create_recipe_link.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipe_metadata/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/add_recipe_to_project.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/archive_recipes.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/associate_recipe_as_input.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/create_recipe.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/create_recipes.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/edit_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/get_curve.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/get_recipe_calculations.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/get_recipe_links.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/get_recipe_names.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/get_recipe_output_metadata.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/get_recipes_data.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/remove_recipe_from_project.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/set_recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/set_recipe_metadata.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/set_recipe_output_annotations.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/set_recipe_outputs.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/set_recipe_tags.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/recipes/unarchive_recipes.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/triggers/__init__.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/api/triggers/run_trigger.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/async_batch_processor.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/base.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/calculations.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/chemical_structure.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/curves.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/entity.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/experiment_groups.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/field_values.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/fields.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/id_source.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/identifier.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/input_attributes.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/inputs.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/outputs.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/permissions.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/phases.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/post_base.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/recipe_identifiers.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/recipe_inputs.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/recipe_links.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/recipe_metadata.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/recipe_output_metadata.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/recipe_tags.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/recipe_workflow_steps.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/recipes.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/response.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/units.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/users.py +0 -0
- {uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/workflows.py +0 -0
{uncountablepythonsdk-0.0.35/UncountablePythonSDK.egg-info → uncountablepythonsdk-0.0.36}/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.36
|
|
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.35 → uncountablepythonsdk-0.0.36/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.36
|
|
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
|
|
@@ -191,5 +191,6 @@ uncountable/types/api/recipes/set_recipe_output_annotations.py
|
|
|
191
191
|
uncountable/types/api/recipes/set_recipe_outputs.py
|
|
192
192
|
uncountable/types/api/recipes/set_recipe_tags.py
|
|
193
193
|
uncountable/types/api/recipes/unarchive_recipes.py
|
|
194
|
+
uncountable/types/api/recipes/unlock_recipes.py
|
|
194
195
|
uncountable/types/api/triggers/__init__.py
|
|
195
196
|
uncountable/types/api/triggers/run_trigger.py
|
|
@@ -18,6 +18,17 @@ from .util import parse_type_str, unused
|
|
|
18
18
|
RawDict = dict[Any, Any]
|
|
19
19
|
|
|
20
20
|
|
|
21
|
+
class StabilityLevel(StrEnum):
|
|
22
|
+
"""These are currently used for open api,
|
|
23
|
+
see: https://github.com/Tufin/oasdiff/blob/main/docs/STABILITY.md
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
draft = "draft"
|
|
27
|
+
alpha = "alpha"
|
|
28
|
+
beta = "beta"
|
|
29
|
+
stable = "stable"
|
|
30
|
+
|
|
31
|
+
|
|
21
32
|
class PropertyExtant(StrEnum):
|
|
22
33
|
required = "required"
|
|
23
34
|
optional = "optional"
|
|
@@ -791,6 +802,7 @@ class SpecEndpoint:
|
|
|
791
802
|
data_loader: bool
|
|
792
803
|
is_sdk: bool
|
|
793
804
|
is_beta: bool
|
|
805
|
+
stability_level: StabilityLevel | None
|
|
794
806
|
# Don't emit TypeScript endpoint code
|
|
795
807
|
suppress_ts: bool
|
|
796
808
|
function: Optional[str]
|
|
@@ -816,6 +828,7 @@ class SpecEndpoint:
|
|
|
816
828
|
"data_loader",
|
|
817
829
|
"is_sdk",
|
|
818
830
|
"is_beta",
|
|
831
|
+
"stability_level",
|
|
819
832
|
"async_batch_path",
|
|
820
833
|
"function",
|
|
821
834
|
"suppress_ts",
|
|
@@ -857,6 +870,14 @@ class SpecEndpoint:
|
|
|
857
870
|
assert isinstance(is_beta, bool)
|
|
858
871
|
self.is_beta = is_beta
|
|
859
872
|
|
|
873
|
+
stability_level_raw = data.get("stability_level")
|
|
874
|
+
assert stability_level_raw is None or isinstance(stability_level_raw, str)
|
|
875
|
+
self.stability_level = (
|
|
876
|
+
StabilityLevel(stability_level_raw)
|
|
877
|
+
if stability_level_raw is not None
|
|
878
|
+
else None
|
|
879
|
+
)
|
|
880
|
+
|
|
860
881
|
async_batch_path = data.get("async_batch_path")
|
|
861
882
|
if async_batch_path is not None:
|
|
862
883
|
assert isinstance(async_batch_path, str)
|
|
@@ -23,6 +23,7 @@ from .emit_open_api_util import (
|
|
|
23
23
|
EmitOpenAPIGuide,
|
|
24
24
|
EmitOpenAPIPath,
|
|
25
25
|
EmitOpenAPIServer,
|
|
26
|
+
EmitOpenAPIStabilityLevel,
|
|
26
27
|
EmitOpenAPITag,
|
|
27
28
|
GlobalContextInfo,
|
|
28
29
|
TagGroupToNamedTags,
|
|
@@ -256,6 +257,14 @@ def _emit_is_beta(is_beta: bool) -> DictApiSchema:
|
|
|
256
257
|
return {}
|
|
257
258
|
|
|
258
259
|
|
|
260
|
+
def _emit_stability_level(
|
|
261
|
+
stability_level: EmitOpenAPIStabilityLevel | None,
|
|
262
|
+
) -> DictApiSchema:
|
|
263
|
+
if stability_level is not None:
|
|
264
|
+
return {"x-stability-level": str(stability_level)}
|
|
265
|
+
return {}
|
|
266
|
+
|
|
267
|
+
|
|
259
268
|
def _emit_endpoint_request_body(
|
|
260
269
|
endpoint: EmitOpenAPIEndpoint,
|
|
261
270
|
arguments_type: OpenAPIType | None,
|
|
@@ -349,6 +358,7 @@ def _emit_namespace(
|
|
|
349
358
|
}
|
|
350
359
|
| _emit_endpoint_description(endpoint.description, ctx.endpoint.guides)
|
|
351
360
|
| _emit_is_beta(endpoint.is_beta)
|
|
361
|
+
| _emit_stability_level(endpoint.stability_level)
|
|
352
362
|
| _emit_endpoint_parameters(endpoint, argument_type, ctx.endpoint.examples)
|
|
353
363
|
| _emit_endpoint_request_body(endpoint, argument_type, ctx.endpoint.examples)
|
|
354
364
|
| {
|
|
@@ -564,6 +574,7 @@ def _emit_endpoint(
|
|
|
564
574
|
summary=f"{'/'.join(namespace.path[path_cutoff:])}",
|
|
565
575
|
description=description,
|
|
566
576
|
is_beta=namespace.endpoint.is_beta,
|
|
577
|
+
stability_level=namespace.endpoint.stability_level,
|
|
567
578
|
examples=[
|
|
568
579
|
EmitOpenAPIEndpointExample(
|
|
569
580
|
ref_name=f"ex_{i}",
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_open_api_util.py
RENAMED
|
@@ -72,6 +72,9 @@ class EmitOpenAPIEndpointExample:
|
|
|
72
72
|
data: dict[str, object]
|
|
73
73
|
|
|
74
74
|
|
|
75
|
+
EmitOpenAPIStabilityLevel = builder.StabilityLevel
|
|
76
|
+
|
|
77
|
+
|
|
75
78
|
@dataclass
|
|
76
79
|
class EmitOpenAPIEndpoint:
|
|
77
80
|
method: str
|
|
@@ -79,6 +82,7 @@ class EmitOpenAPIEndpoint:
|
|
|
79
82
|
summary: str
|
|
80
83
|
description: str
|
|
81
84
|
is_beta: bool
|
|
85
|
+
stability_level: EmitOpenAPIStabilityLevel | None
|
|
82
86
|
examples: list[EmitOpenAPIEndpointExample]
|
|
83
87
|
guides: list[EmitOpenAPIGuide]
|
|
84
88
|
|
|
@@ -84,6 +84,7 @@ from .api.entity import transition_entity_phase as transition_entity_phase_t
|
|
|
84
84
|
from .api.recipes import unarchive_recipes as unarchive_recipes_t
|
|
85
85
|
from . import units as units_t
|
|
86
86
|
from .api.entity import unlock_entity as unlock_entity_t
|
|
87
|
+
from .api.recipes import unlock_recipes as unlock_recipes_t
|
|
87
88
|
from .api.material_families import update_entity_material_families as update_entity_material_families_t
|
|
88
89
|
from .api.field_options import upsert_field_options as upsert_field_options_t
|
|
89
90
|
from . import users as users_t
|
|
@@ -172,6 +173,7 @@ __all__: list[str] = [
|
|
|
172
173
|
"unarchive_recipes_t",
|
|
173
174
|
"units_t",
|
|
174
175
|
"unlock_entity_t",
|
|
176
|
+
"unlock_recipes_t",
|
|
175
177
|
"update_entity_material_families_t",
|
|
176
178
|
"upsert_field_options_t",
|
|
177
179
|
"users_t",
|
|
@@ -0,0 +1,53 @@
|
|
|
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 pkgs.strenum_compat import StrEnum
|
|
11
|
+
from dataclasses import dataclass
|
|
12
|
+
from ... import identifier as identifier_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"Arguments",
|
|
16
|
+
"Data",
|
|
17
|
+
"ENDPOINT_METHOD",
|
|
18
|
+
"ENDPOINT_PATH",
|
|
19
|
+
"RecipeLockBase",
|
|
20
|
+
"RecipeLockType",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
ENDPOINT_METHOD = "POST"
|
|
24
|
+
ENDPOINT_PATH = "api/external/recipes/lock_recipes"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
28
|
+
class RecipeLockType(StrEnum):
|
|
29
|
+
ALL = "all"
|
|
30
|
+
INPUTS_ONLY = "inputs_only"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
+
@dataclass(kw_only=True)
|
|
35
|
+
class RecipeLockBase:
|
|
36
|
+
recipe: identifier_t.IdentifierKey
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
40
|
+
@dataclass(kw_only=True)
|
|
41
|
+
class Arguments:
|
|
42
|
+
type: RecipeLockType = RecipeLockType.ALL
|
|
43
|
+
recipes: list[identifier_t.IdentifierKey]
|
|
44
|
+
globally_removable: bool
|
|
45
|
+
lock_samples: typing.Optional[bool] = None
|
|
46
|
+
comments: typing.Optional[str] = None
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
50
|
+
@dataclass(kw_only=True)
|
|
51
|
+
class Data:
|
|
52
|
+
pass
|
|
53
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,43 @@
|
|
|
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 pkgs.strenum_compat import StrEnum
|
|
11
|
+
from dataclasses import dataclass
|
|
12
|
+
from ... import identifier as identifier_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"Arguments",
|
|
16
|
+
"Data",
|
|
17
|
+
"ENDPOINT_METHOD",
|
|
18
|
+
"ENDPOINT_PATH",
|
|
19
|
+
"RecipeUnlockType",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
ENDPOINT_METHOD = "POST"
|
|
23
|
+
ENDPOINT_PATH = "api/external/recipes/unlock_recipes"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
27
|
+
class RecipeUnlockType(StrEnum):
|
|
28
|
+
STANDARD = "standard"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
32
|
+
@dataclass(kw_only=True)
|
|
33
|
+
class Arguments:
|
|
34
|
+
type: RecipeUnlockType = RecipeUnlockType.STANDARD
|
|
35
|
+
recipes: list[identifier_t.IdentifierKey]
|
|
36
|
+
unlock_samples: typing.Optional[bool] = None
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
40
|
+
@dataclass(kw_only=True)
|
|
41
|
+
class Data:
|
|
42
|
+
pass
|
|
43
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/async_batch.py
RENAMED
|
@@ -27,6 +27,8 @@ class AsyncBatchRequestPath(StrEnum):
|
|
|
27
27
|
SET_RECIPE_TAGS = "recipes/set_recipe_tags"
|
|
28
28
|
EDIT_RECIPE_INPUTS = "recipes/edit_recipe_inputs"
|
|
29
29
|
ARCHIVE_RECIPES = "recipes/archive"
|
|
30
|
+
LOCK_RECIPES = "recipes/lock_recipes"
|
|
31
|
+
UNLOCK_RECIPES = "recipes/unlock_recipes"
|
|
30
32
|
|
|
31
33
|
|
|
32
34
|
# DO NOT MODIFY -- This file is generated by type_spec
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/types/client_base.py
RENAMED
|
@@ -75,6 +75,7 @@ import uncountable.types.api.entity.set_values as set_values_t
|
|
|
75
75
|
import uncountable.types.api.entity.transition_entity_phase as transition_entity_phase_t
|
|
76
76
|
import uncountable.types.api.recipes.unarchive_recipes as unarchive_recipes_t
|
|
77
77
|
import uncountable.types.api.entity.unlock_entity as unlock_entity_t
|
|
78
|
+
import uncountable.types.api.recipes.unlock_recipes as unlock_recipes_t
|
|
78
79
|
import uncountable.types.api.material_families.update_entity_material_families as update_entity_material_families_t
|
|
79
80
|
import uncountable.types.api.field_options.upsert_field_options as upsert_field_options_t
|
|
80
81
|
from abc import ABC, abstractmethod
|
|
@@ -911,14 +912,29 @@ class ClientMethods(ABC):
|
|
|
911
912
|
def lock_recipes(
|
|
912
913
|
self,
|
|
913
914
|
*,
|
|
914
|
-
|
|
915
|
+
type: lock_recipes_t.RecipeLockType = lock_recipes_t.RecipeLockType.ALL,
|
|
916
|
+
recipes: list[identifier_t.IdentifierKey],
|
|
917
|
+
globally_removable: bool,
|
|
918
|
+
lock_samples: typing.Optional[bool] = None,
|
|
919
|
+
comments: typing.Optional[str] = None,
|
|
915
920
|
) -> lock_recipes_t.Data:
|
|
916
921
|
"""Lock experiments. Experiments will require unlocking to be editable. Edits to the experiments are blocked while they are locked.
|
|
917
922
|
|
|
918
|
-
:param
|
|
923
|
+
:param type: The type of lock to set.
|
|
924
|
+
All = both inputs and measurements are locked.
|
|
925
|
+
Inputs Only = only inputs are locked from editing.
|
|
926
|
+
|
|
927
|
+
:param recipes: The recipes to lock, a maximum of 100 can be sent
|
|
928
|
+
:param globally_removable: If true any user can unlock the experiment. If false the locking user is the only user that can unlock.
|
|
929
|
+
:param lock_samples: Should associated experiment test samples also be locked.
|
|
930
|
+
:param comments: Optional comment describing the purpose of locking
|
|
919
931
|
"""
|
|
920
932
|
args = lock_recipes_t.Arguments(
|
|
921
|
-
|
|
933
|
+
type=type,
|
|
934
|
+
recipes=recipes,
|
|
935
|
+
globally_removable=globally_removable,
|
|
936
|
+
lock_samples=lock_samples,
|
|
937
|
+
comments=comments,
|
|
922
938
|
)
|
|
923
939
|
api_request = APIRequest(
|
|
924
940
|
method=lock_recipes_t.ENDPOINT_METHOD,
|
|
@@ -1333,6 +1349,31 @@ class ClientMethods(ABC):
|
|
|
1333
1349
|
)
|
|
1334
1350
|
return self.do_request(api_request=api_request, return_type=unlock_entity_t.Data)
|
|
1335
1351
|
|
|
1352
|
+
def unlock_recipes(
|
|
1353
|
+
self,
|
|
1354
|
+
*,
|
|
1355
|
+
type: unlock_recipes_t.RecipeUnlockType = unlock_recipes_t.RecipeUnlockType.STANDARD,
|
|
1356
|
+
recipes: list[identifier_t.IdentifierKey],
|
|
1357
|
+
unlock_samples: typing.Optional[bool] = None,
|
|
1358
|
+
) -> unlock_recipes_t.Data:
|
|
1359
|
+
"""Unlock experiments. Experiments will edtiable after unlocking if they are currently locked.
|
|
1360
|
+
|
|
1361
|
+
:param type: The method to unlock recipes. Default is standard.
|
|
1362
|
+
:param recipes: The recipes to unlock, a maximum of 100 can be sent
|
|
1363
|
+
:param unlock_samples: Should associated experiment test samples also be unlocked.
|
|
1364
|
+
"""
|
|
1365
|
+
args = unlock_recipes_t.Arguments(
|
|
1366
|
+
type=type,
|
|
1367
|
+
recipes=recipes,
|
|
1368
|
+
unlock_samples=unlock_samples,
|
|
1369
|
+
)
|
|
1370
|
+
api_request = APIRequest(
|
|
1371
|
+
method=unlock_recipes_t.ENDPOINT_METHOD,
|
|
1372
|
+
endpoint=unlock_recipes_t.ENDPOINT_PATH,
|
|
1373
|
+
args=args,
|
|
1374
|
+
)
|
|
1375
|
+
return self.do_request(api_request=api_request, return_type=unlock_recipes_t.Data)
|
|
1376
|
+
|
|
1336
1377
|
def update_entity_material_families(
|
|
1337
1378
|
self,
|
|
1338
1379
|
*,
|
|
@@ -1,89 +0,0 @@
|
|
|
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 pkgs.strenum_compat import StrEnum
|
|
11
|
-
from dataclasses import dataclass
|
|
12
|
-
from pkgs.serialization import serial_class
|
|
13
|
-
from pkgs.serialization import serial_union_annotation
|
|
14
|
-
from ... import identifier as identifier_t
|
|
15
|
-
|
|
16
|
-
__all__: list[str] = [
|
|
17
|
-
"Arguments",
|
|
18
|
-
"Data",
|
|
19
|
-
"ENDPOINT_METHOD",
|
|
20
|
-
"ENDPOINT_PATH",
|
|
21
|
-
"RecipeLock",
|
|
22
|
-
"RecipeLockAll",
|
|
23
|
-
"RecipeLockBase",
|
|
24
|
-
"RecipeLockInputs",
|
|
25
|
-
"RecipeLockType",
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
ENDPOINT_METHOD = "POST"
|
|
29
|
-
ENDPOINT_PATH = "api/external/recipes/lock_recipes"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
33
|
-
class RecipeLockType(StrEnum):
|
|
34
|
-
ALL = "all"
|
|
35
|
-
INPUTS_ONLY = "inputs_only"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
39
|
-
@dataclass(kw_only=True)
|
|
40
|
-
class RecipeLockBase:
|
|
41
|
-
recipe: identifier_t.IdentifierKey
|
|
42
|
-
globally_removable: bool
|
|
43
|
-
type: RecipeLockType
|
|
44
|
-
lock_samples: typing.Optional[bool] = None
|
|
45
|
-
comments: typing.Optional[str] = None
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
49
|
-
@serial_class(
|
|
50
|
-
parse_require={"type"},
|
|
51
|
-
)
|
|
52
|
-
@dataclass(kw_only=True)
|
|
53
|
-
class RecipeLockAll(RecipeLockBase):
|
|
54
|
-
type: typing.Literal[RecipeLockType.ALL] = RecipeLockType.ALL
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
58
|
-
@serial_class(
|
|
59
|
-
parse_require={"type"},
|
|
60
|
-
)
|
|
61
|
-
@dataclass(kw_only=True)
|
|
62
|
-
class RecipeLockInputs(RecipeLockBase):
|
|
63
|
-
type: typing.Literal[RecipeLockType.INPUTS_ONLY] = RecipeLockType.INPUTS_ONLY
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
67
|
-
RecipeLock = typing.Annotated[
|
|
68
|
-
typing.Union[RecipeLockAll, RecipeLockInputs],
|
|
69
|
-
serial_union_annotation(
|
|
70
|
-
discriminator="type",
|
|
71
|
-
discriminator_map={
|
|
72
|
-
"all": RecipeLockAll,
|
|
73
|
-
"inputs_only": RecipeLockInputs,
|
|
74
|
-
},
|
|
75
|
-
),
|
|
76
|
-
]
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
80
|
-
@dataclass(kw_only=True)
|
|
81
|
-
class Arguments:
|
|
82
|
-
locks: list[RecipeLock]
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
86
|
-
@dataclass(kw_only=True)
|
|
87
|
-
class Data:
|
|
88
|
-
pass
|
|
89
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/.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.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/browserconfig.xml
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/favicon-16x16.png
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/favicon-32x32.png
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/docs/static/favicons/manifest.json
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/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.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/__init__.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/_is_enum.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/_is_namedtuple.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/argument_parser.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/argument_parser/case_convert.py
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/missing_sentry.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/opaque_key.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/serial_class.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization/serial_union.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/serialization_util/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/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
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_typescript.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/emit_typescript_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/parts/base.py.prepart
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/parts/base.ts.prepart
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/type_info/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/value_spec/__init__.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/value_spec/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/pkgs/type_spec/value_spec/emit_python.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/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
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/db/__init__.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/db/connect.py
RENAMED
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/entrypoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uncountablepythonsdk-0.0.35 → uncountablepythonsdk-0.0.36}/uncountable/integration/server.py
RENAMED
|
File without changes
|