UncountablePythonSDK 0.0.24__py3-none-any.whl → 0.0.131__py3-none-any.whl
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.
- docs/conf.py +60 -8
- docs/index.md +107 -4
- docs/integration_examples/create_ingredient.md +43 -0
- docs/integration_examples/create_output.md +56 -0
- docs/integration_examples/index.md +6 -0
- docs/justfile +2 -2
- docs/requirements.txt +7 -5
- examples/async_batch.py +5 -6
- examples/basic_auth.py +7 -0
- examples/create_entity.py +4 -6
- examples/create_ingredient_sdk.py +34 -0
- examples/download_files.py +26 -0
- examples/edit_recipe_inputs.py +50 -0
- examples/integration-server/jobs/materials_auto/concurrent_cron.py +11 -0
- examples/integration-server/jobs/materials_auto/example_cron.py +21 -0
- examples/integration-server/jobs/materials_auto/example_http.py +47 -0
- examples/integration-server/jobs/materials_auto/example_instrument.py +100 -0
- examples/integration-server/jobs/materials_auto/example_parse.py +140 -0
- examples/integration-server/jobs/materials_auto/example_predictions.py +61 -0
- examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +39 -0
- examples/integration-server/jobs/materials_auto/example_wh.py +23 -0
- examples/integration-server/jobs/materials_auto/profile.yaml +104 -0
- examples/integration-server/pyproject.toml +224 -0
- examples/invoke_uploader.py +26 -0
- examples/oauth.py +7 -0
- examples/set_recipe_metadata_file.py +40 -0
- examples/set_recipe_output_file_sdk.py +26 -0
- examples/upload_files.py +2 -3
- pkgs/argument_parser/__init__.py +9 -0
- pkgs/argument_parser/_is_namedtuple.py +3 -0
- pkgs/argument_parser/argument_parser.py +295 -74
- pkgs/argument_parser/case_convert.py +4 -3
- pkgs/filesystem_utils/__init__.py +20 -0
- pkgs/filesystem_utils/_blob_session.py +144 -0
- pkgs/filesystem_utils/_gdrive_session.py +309 -0
- pkgs/filesystem_utils/_local_session.py +69 -0
- pkgs/filesystem_utils/_s3_session.py +118 -0
- pkgs/filesystem_utils/_sftp_session.py +151 -0
- pkgs/filesystem_utils/file_type_utils.py +91 -0
- pkgs/filesystem_utils/filesystem_session.py +39 -0
- pkgs/py.typed +0 -0
- pkgs/serialization/__init__.py +8 -1
- pkgs/serialization/annotation.py +64 -0
- pkgs/serialization/missing_sentry.py +1 -1
- pkgs/serialization/opaque_key.py +1 -1
- pkgs/serialization/serial_alias.py +47 -0
- pkgs/serialization/serial_class.py +69 -54
- pkgs/serialization/serial_generic.py +16 -0
- pkgs/serialization/serial_union.py +84 -0
- pkgs/serialization/yaml.py +57 -0
- pkgs/serialization_util/__init__.py +7 -7
- pkgs/serialization_util/convert_to_snakecase.py +27 -0
- pkgs/serialization_util/dataclasses.py +14 -0
- pkgs/serialization_util/serialization_helpers.py +117 -71
- pkgs/type_spec/actions_registry/__main__.py +0 -4
- pkgs/type_spec/actions_registry/emit_typescript.py +5 -5
- pkgs/type_spec/builder.py +438 -109
- pkgs/type_spec/builder_types.py +9 -0
- pkgs/type_spec/config.py +52 -24
- pkgs/type_spec/cross_output_links.py +99 -0
- pkgs/type_spec/emit_io_ts.py +1 -1
- pkgs/type_spec/emit_open_api.py +160 -41
- pkgs/type_spec/emit_open_api_util.py +13 -7
- pkgs/type_spec/emit_python.py +450 -136
- pkgs/type_spec/emit_typescript.py +117 -250
- pkgs/type_spec/emit_typescript_util.py +293 -4
- pkgs/type_spec/load_types.py +20 -5
- pkgs/type_spec/non_discriminated_union_exceptions.py +14 -0
- pkgs/type_spec/open_api_util.py +29 -4
- pkgs/type_spec/parts/base.py.prepart +13 -10
- pkgs/type_spec/parts/base.ts.prepart +4 -0
- pkgs/type_spec/type_info/__main__.py +3 -1
- pkgs/type_spec/type_info/emit_type_info.py +161 -32
- pkgs/type_spec/ui_entry_actions/__init__.py +4 -0
- pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +308 -0
- pkgs/type_spec/util.py +4 -4
- pkgs/type_spec/value_spec/__main__.py +27 -10
- pkgs/type_spec/value_spec/convert_type.py +21 -1
- pkgs/type_spec/value_spec/emit_python.py +25 -7
- pkgs/type_spec/value_spec/types.py +1 -1
- uncountable/__init__.py +1 -2
- uncountable/core/__init__.py +11 -3
- uncountable/core/async_batch.py +16 -1
- uncountable/core/client.py +247 -52
- uncountable/core/environment.py +41 -0
- uncountable/core/file_upload.py +67 -22
- uncountable/core/types.py +8 -13
- uncountable/integration/cli.py +142 -0
- uncountable/integration/construct_client.py +43 -27
- uncountable/integration/cron.py +12 -11
- uncountable/integration/db/connect.py +12 -2
- uncountable/integration/db/session.py +25 -0
- uncountable/integration/entrypoint.py +4 -34
- uncountable/integration/executors/executors.py +147 -0
- uncountable/integration/executors/generic_upload_executor.py +336 -0
- uncountable/integration/executors/script_executor.py +15 -9
- uncountable/integration/http_server/__init__.py +5 -0
- uncountable/integration/http_server/types.py +69 -0
- uncountable/integration/job.py +246 -19
- uncountable/integration/queue_runner/__init__.py +0 -0
- uncountable/integration/queue_runner/command_server/__init__.py +28 -0
- uncountable/integration/queue_runner/command_server/command_client.py +133 -0
- uncountable/integration/queue_runner/command_server/command_server.py +142 -0
- uncountable/integration/queue_runner/command_server/constants.py +4 -0
- uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server.proto +58 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +57 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +114 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +264 -0
- uncountable/integration/queue_runner/command_server/types.py +75 -0
- uncountable/integration/queue_runner/datastore/__init__.py +3 -0
- uncountable/integration/queue_runner/datastore/datastore_sqlite.py +250 -0
- uncountable/integration/queue_runner/datastore/interface.py +29 -0
- uncountable/integration/queue_runner/datastore/model.py +24 -0
- uncountable/integration/queue_runner/job_scheduler.py +200 -0
- uncountable/integration/queue_runner/queue_runner.py +34 -0
- uncountable/integration/queue_runner/types.py +7 -0
- uncountable/integration/queue_runner/worker.py +116 -0
- uncountable/integration/scan_profiles.py +67 -0
- uncountable/integration/scheduler.py +199 -0
- uncountable/integration/secret_retrieval/__init__.py +3 -0
- uncountable/integration/secret_retrieval/retrieve_secret.py +93 -0
- uncountable/integration/server.py +103 -54
- uncountable/integration/telemetry.py +251 -0
- uncountable/integration/webhook_server/entrypoint.py +97 -0
- uncountable/types/__init__.py +149 -30
- uncountable/types/api/batch/execute_batch.py +16 -9
- uncountable/types/api/batch/execute_batch_load_async.py +13 -7
- uncountable/types/api/chemical/convert_chemical_formats.py +20 -8
- uncountable/types/api/condition_parameters/__init__.py +1 -0
- uncountable/types/api/condition_parameters/upsert_condition_match.py +72 -0
- uncountable/types/api/entity/create_entities.py +24 -12
- uncountable/types/api/entity/create_entity.py +22 -13
- uncountable/types/api/entity/create_or_update_entity.py +48 -0
- uncountable/types/api/entity/export_entities.py +59 -0
- uncountable/types/api/entity/get_entities_data.py +18 -9
- uncountable/types/api/entity/grant_entity_permissions.py +48 -0
- uncountable/types/api/entity/list_aggregate.py +79 -0
- uncountable/types/api/entity/list_entities.py +53 -14
- uncountable/types/api/entity/lock_entity.py +45 -0
- uncountable/types/api/entity/lookup_entity.py +116 -0
- uncountable/types/api/entity/resolve_entity_ids.py +19 -10
- uncountable/types/api/entity/set_entity_field_values.py +44 -0
- uncountable/types/api/entity/set_values.py +15 -8
- uncountable/types/api/entity/transition_entity_phase.py +27 -12
- uncountable/types/api/entity/unlock_entity.py +44 -0
- uncountable/types/api/equipment/__init__.py +1 -0
- uncountable/types/api/equipment/associate_equipment_input.py +43 -0
- uncountable/types/api/field_options/__init__.py +1 -0
- uncountable/types/api/field_options/upsert_field_options.py +55 -0
- uncountable/types/api/files/__init__.py +1 -0
- uncountable/types/api/files/download_file.py +77 -0
- uncountable/types/api/id_source/list_id_source.py +20 -11
- uncountable/types/api/id_source/match_id_source.py +15 -10
- uncountable/types/api/input_groups/get_input_group_names.py +16 -7
- uncountable/types/api/inputs/create_inputs.py +28 -14
- uncountable/types/api/inputs/get_input_data.py +34 -16
- uncountable/types/api/inputs/get_input_names.py +19 -10
- uncountable/types/api/inputs/get_inputs_data.py +29 -11
- uncountable/types/api/inputs/set_input_attribute_values.py +16 -10
- uncountable/types/api/inputs/set_input_category.py +44 -0
- uncountable/types/api/inputs/set_input_subcategories.py +45 -0
- uncountable/types/api/inputs/set_intermediate_type.py +50 -0
- uncountable/types/api/integrations/__init__.py +1 -0
- uncountable/types/api/integrations/publish_realtime_data.py +41 -0
- uncountable/types/api/integrations/push_notification.py +49 -0
- uncountable/types/api/integrations/register_sockets_token.py +41 -0
- uncountable/types/api/listing/__init__.py +1 -0
- uncountable/types/api/listing/fetch_listing.py +58 -0
- uncountable/types/api/material_families/__init__.py +1 -0
- uncountable/types/api/material_families/update_entity_material_families.py +47 -0
- uncountable/types/api/notebooks/__init__.py +1 -0
- uncountable/types/api/notebooks/add_notebook_content.py +119 -0
- uncountable/types/api/outputs/get_output_data.py +32 -17
- uncountable/types/api/outputs/get_output_names.py +18 -9
- uncountable/types/api/outputs/get_output_organization.py +173 -0
- uncountable/types/api/outputs/resolve_output_conditions.py +23 -11
- uncountable/types/api/permissions/set_core_permissions.py +31 -15
- uncountable/types/api/project/get_projects.py +20 -11
- uncountable/types/api/project/get_projects_data.py +23 -14
- uncountable/types/api/recipe_links/create_recipe_link.py +17 -10
- uncountable/types/api/recipe_links/remove_recipe_link.py +45 -0
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +19 -10
- uncountable/types/api/recipes/add_recipe_to_project.py +42 -0
- uncountable/types/api/recipes/add_time_series_data.py +64 -0
- uncountable/types/api/recipes/archive_recipes.py +14 -7
- uncountable/types/api/recipes/associate_recipe_as_input.py +16 -8
- uncountable/types/api/recipes/associate_recipe_as_lot.py +14 -7
- uncountable/types/api/recipes/clear_recipe_outputs.py +42 -0
- uncountable/types/api/recipes/create_mix_order.py +44 -0
- uncountable/types/api/recipes/create_recipe.py +21 -14
- uncountable/types/api/recipes/create_recipes.py +25 -13
- uncountable/types/api/recipes/disassociate_recipe_as_input.py +14 -7
- uncountable/types/api/recipes/edit_recipe_inputs.py +208 -19
- uncountable/types/api/recipes/get_column_calculation_values.py +57 -0
- uncountable/types/api/recipes/get_curve.py +15 -9
- uncountable/types/api/recipes/get_recipe_calculations.py +17 -11
- uncountable/types/api/recipes/get_recipe_links.py +14 -8
- uncountable/types/api/recipes/get_recipe_names.py +16 -7
- uncountable/types/api/recipes/get_recipe_output_metadata.py +16 -10
- uncountable/types/api/recipes/get_recipes_data.py +96 -45
- uncountable/types/api/recipes/lock_recipes.py +64 -0
- uncountable/types/api/recipes/remove_recipe_from_project.py +42 -0
- uncountable/types/api/recipes/set_recipe_inputs.py +19 -13
- uncountable/types/api/recipes/set_recipe_metadata.py +14 -7
- uncountable/types/api/recipes/set_recipe_output_annotations.py +114 -0
- uncountable/types/api/recipes/set_recipe_output_file.py +55 -0
- uncountable/types/api/recipes/set_recipe_outputs.py +40 -15
- uncountable/types/api/recipes/set_recipe_tags.py +30 -13
- uncountable/types/api/recipes/set_recipe_total.py +59 -0
- uncountable/types/api/recipes/unarchive_recipes.py +41 -0
- uncountable/types/api/recipes/unlock_recipes.py +51 -0
- uncountable/types/api/runsheet/__init__.py +1 -0
- uncountable/types/api/runsheet/complete_async_upload.py +41 -0
- uncountable/types/api/triggers/run_trigger.py +15 -8
- uncountable/types/api/uploader/__init__.py +1 -0
- uncountable/types/api/uploader/complete_async_parse.py +46 -0
- uncountable/types/api/uploader/invoke_uploader.py +46 -0
- uncountable/types/api/user/__init__.py +1 -0
- uncountable/types/api/user/get_current_user_info.py +40 -0
- uncountable/types/async_batch.py +8 -52
- uncountable/types/async_batch_processor.py +694 -18
- uncountable/types/async_batch_t.py +108 -0
- uncountable/types/async_jobs.py +8 -0
- uncountable/types/async_jobs_t.py +52 -0
- uncountable/types/auth_retrieval.py +11 -0
- uncountable/types/auth_retrieval_t.py +75 -0
- uncountable/types/base.py +5 -80
- uncountable/types/base_t.py +87 -0
- uncountable/types/calculations.py +3 -19
- uncountable/types/calculations_t.py +26 -0
- uncountable/types/chemical_structure.py +3 -23
- uncountable/types/chemical_structure_t.py +28 -0
- uncountable/types/client_base.py +1170 -88
- uncountable/types/client_config.py +8 -0
- uncountable/types/client_config_t.py +36 -0
- uncountable/types/curves.py +5 -43
- uncountable/types/curves_t.py +50 -0
- uncountable/types/data.py +12 -0
- uncountable/types/data_t.py +103 -0
- uncountable/types/entity.py +8 -270
- uncountable/types/entity_t.py +446 -0
- uncountable/types/experiment_groups.py +3 -19
- uncountable/types/experiment_groups_t.py +26 -0
- uncountable/types/exports.py +8 -0
- uncountable/types/exports_t.py +34 -0
- uncountable/types/field_values.py +25 -61
- uncountable/types/field_values_t.py +302 -0
- uncountable/types/fields.py +3 -20
- uncountable/types/fields_t.py +27 -0
- uncountable/types/generic_upload.py +14 -0
- uncountable/types/generic_upload_t.py +119 -0
- uncountable/types/id_source.py +7 -45
- uncountable/types/id_source_t.py +68 -0
- uncountable/types/identifier.py +6 -50
- uncountable/types/identifier_t.py +62 -0
- uncountable/types/input_attributes.py +3 -25
- uncountable/types/input_attributes_t.py +29 -0
- uncountable/types/inputs.py +6 -57
- uncountable/types/inputs_t.py +82 -0
- uncountable/types/integration_server.py +8 -0
- uncountable/types/integration_server_t.py +46 -0
- uncountable/types/integration_session.py +10 -0
- uncountable/types/integration_session_t.py +60 -0
- uncountable/types/integrations.py +10 -0
- uncountable/types/integrations_t.py +62 -0
- uncountable/types/job_definition.py +28 -0
- uncountable/types/job_definition_t.py +285 -0
- uncountable/types/listing.py +9 -0
- uncountable/types/listing_t.py +51 -0
- uncountable/types/notices.py +8 -0
- uncountable/types/notices_t.py +37 -0
- uncountable/types/notifications.py +11 -0
- uncountable/types/notifications_t.py +74 -0
- uncountable/types/outputs.py +3 -22
- uncountable/types/outputs_t.py +29 -0
- uncountable/types/overrides.py +9 -0
- uncountable/types/overrides_t.py +49 -0
- uncountable/types/permissions.py +3 -42
- uncountable/types/permissions_t.py +45 -0
- uncountable/types/phases.py +3 -19
- uncountable/types/phases_t.py +26 -0
- uncountable/types/post_base.py +3 -26
- uncountable/types/post_base_t.py +29 -0
- uncountable/types/queued_job.py +17 -0
- uncountable/types/queued_job_t.py +140 -0
- uncountable/types/recipe_identifiers.py +7 -58
- uncountable/types/recipe_identifiers_t.py +75 -0
- uncountable/types/recipe_inputs.py +4 -26
- uncountable/types/recipe_inputs_t.py +29 -0
- uncountable/types/recipe_links.py +4 -46
- uncountable/types/recipe_links_t.py +53 -0
- uncountable/types/recipe_metadata.py +5 -48
- uncountable/types/recipe_metadata_t.py +57 -0
- uncountable/types/recipe_output_metadata.py +3 -20
- uncountable/types/recipe_output_metadata_t.py +27 -0
- uncountable/types/recipe_tags.py +3 -19
- uncountable/types/recipe_tags_t.py +26 -0
- uncountable/types/recipe_workflow_steps.py +9 -73
- uncountable/types/recipe_workflow_steps_t.py +95 -0
- uncountable/types/recipes.py +7 -0
- uncountable/types/recipes_t.py +25 -0
- uncountable/types/response.py +3 -21
- uncountable/types/response_t.py +26 -0
- uncountable/types/secret_retrieval.py +11 -0
- uncountable/types/secret_retrieval_t.py +75 -0
- uncountable/types/sockets.py +20 -0
- uncountable/types/sockets_t.py +169 -0
- uncountable/types/structured_filters.py +25 -0
- uncountable/types/structured_filters_t.py +248 -0
- uncountable/types/units.py +3 -19
- uncountable/types/units_t.py +26 -0
- uncountable/types/uploader.py +24 -0
- uncountable/types/uploader_t.py +222 -0
- uncountable/types/users.py +3 -20
- uncountable/types/users_t.py +27 -0
- uncountable/types/webhook_job.py +9 -0
- uncountable/types/webhook_job_t.py +48 -0
- uncountable/types/workflows.py +4 -28
- uncountable/types/workflows_t.py +38 -0
- uncountablepythonsdk-0.0.131.dist-info/METADATA +64 -0
- uncountablepythonsdk-0.0.131.dist-info/RECORD +363 -0
- {UncountablePythonSDK-0.0.24.dist-info → uncountablepythonsdk-0.0.131.dist-info}/WHEEL +1 -1
- {UncountablePythonSDK-0.0.24.dist-info → uncountablepythonsdk-0.0.131.dist-info}/top_level.txt +0 -1
- UncountablePythonSDK-0.0.24.dist-info/METADATA +0 -47
- UncountablePythonSDK-0.0.24.dist-info/RECORD +0 -216
- docs/quickstart.md +0 -19
- examples/recipe-import/importer.py +0 -39
- type_spec/external/api/batch/execute_batch.yaml +0 -56
- type_spec/external/api/batch/execute_batch_load_async.yaml +0 -18
- type_spec/external/api/chemical/convert_chemical_formats.yaml +0 -33
- type_spec/external/api/entity/create_entities.yaml +0 -45
- type_spec/external/api/entity/create_entity.yaml +0 -51
- type_spec/external/api/entity/get_entities_data.yaml +0 -29
- type_spec/external/api/entity/list_entities.yaml +0 -52
- type_spec/external/api/entity/resolve_entity_ids.yaml +0 -29
- type_spec/external/api/entity/set_values.yaml +0 -18
- type_spec/external/api/entity/transition_entity_phase.yaml +0 -44
- type_spec/external/api/id_source/list_id_source.yaml +0 -35
- type_spec/external/api/id_source/match_id_source.yaml +0 -32
- type_spec/external/api/input_groups/get_input_group_names.yaml +0 -29
- type_spec/external/api/inputs/create_inputs.yaml +0 -48
- type_spec/external/api/inputs/get_input_data.yaml +0 -95
- type_spec/external/api/inputs/get_input_names.yaml +0 -38
- type_spec/external/api/inputs/get_inputs_data.yaml +0 -82
- type_spec/external/api/inputs/set_input_attribute_values.yaml +0 -33
- type_spec/external/api/outputs/get_output_data.yaml +0 -92
- type_spec/external/api/outputs/get_output_names.yaml +0 -35
- type_spec/external/api/outputs/resolve_output_conditions.yaml +0 -50
- type_spec/external/api/permissions/set_core_permissions.yaml +0 -69
- type_spec/external/api/project/get_projects.yaml +0 -42
- type_spec/external/api/project/get_projects_data.yaml +0 -50
- type_spec/external/api/recipe_links/create_recipe_link.yaml +0 -25
- type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +0 -41
- type_spec/external/api/recipes/archive_recipes.yaml +0 -20
- type_spec/external/api/recipes/associate_recipe_as_input.yaml +0 -19
- type_spec/external/api/recipes/associate_recipe_as_lot.yaml +0 -19
- type_spec/external/api/recipes/create_recipe.yaml +0 -39
- type_spec/external/api/recipes/create_recipes.yaml +0 -47
- type_spec/external/api/recipes/disassociate_recipe_as_input.yaml +0 -16
- type_spec/external/api/recipes/edit_recipe_inputs.yaml +0 -85
- type_spec/external/api/recipes/get_curve.yaml +0 -21
- type_spec/external/api/recipes/get_recipe_calculations.yaml +0 -39
- type_spec/external/api/recipes/get_recipe_links.yaml +0 -26
- type_spec/external/api/recipes/get_recipe_names.yaml +0 -29
- type_spec/external/api/recipes/get_recipe_output_metadata.yaml +0 -36
- type_spec/external/api/recipes/get_recipes_data.yaml +0 -244
- type_spec/external/api/recipes/set_recipe_inputs.yaml +0 -42
- type_spec/external/api/recipes/set_recipe_metadata.yaml +0 -20
- type_spec/external/api/recipes/set_recipe_outputs.yaml +0 -52
- type_spec/external/api/recipes/set_recipe_tags.yaml +0 -62
- type_spec/external/api/triggers/run_trigger.yaml +0 -18
- uncountable/integration/types.py +0 -89
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: get
|
|
4
|
-
path: ${external}/project/external_get_projects
|
|
5
|
-
function: main.site.app.external.project.get_projects.get_projects
|
|
6
|
-
desc: "Gets either all projects created in the platform, or the projects associated with a material family ID. Projects are where experiments are placed in Uncountable, similar to folders in a directory structure"
|
|
7
|
-
Arguments:
|
|
8
|
-
type: Object
|
|
9
|
-
properties:
|
|
10
|
-
all_material_families:
|
|
11
|
-
type: Boolean
|
|
12
|
-
desc: "Whether to get projects from all material families. Material families are high level groupings of data, usually separated by functional area"
|
|
13
|
-
material_family_id:
|
|
14
|
-
type: Optional<ObjectId>
|
|
15
|
-
desc: "The specific material family ID to get projects from. Only fill this in if all_material_families is set to false"
|
|
16
|
-
|
|
17
|
-
Project:
|
|
18
|
-
type: Object
|
|
19
|
-
properties:
|
|
20
|
-
id:
|
|
21
|
-
type: ObjectId
|
|
22
|
-
desc: "A unique identifier for the project. Used as foreign key to reference elsewhere."
|
|
23
|
-
name:
|
|
24
|
-
type: String
|
|
25
|
-
desc: "The name of the project"
|
|
26
|
-
material_family_id:
|
|
27
|
-
type: ObjectId
|
|
28
|
-
desc: "A unique identifier for the material family. Used as foreign key to reference elsewhere."
|
|
29
|
-
project_owner_id:
|
|
30
|
-
type: Optional<ObjectId>
|
|
31
|
-
desc: "The projects owner, as a user ID within the platform"
|
|
32
|
-
phase_id:
|
|
33
|
-
type: Optional<ObjectId>
|
|
34
|
-
desc: "The phase id corresponding to a phase workflow"
|
|
35
|
-
|
|
36
|
-
Data:
|
|
37
|
-
type: Object
|
|
38
|
-
properties:
|
|
39
|
-
projects:
|
|
40
|
-
type: List<Project>
|
|
41
|
-
phases:
|
|
42
|
-
type: List<phases.Phase>
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: get
|
|
4
|
-
path: ${external}/project/external_get_projects_data
|
|
5
|
-
function: main.site.app.external.project.get_projects_data.get_projects_data
|
|
6
|
-
desc: "Gets either all data associated with a set of projects created in the platform. Because Uncountables recipe structure is complex, various data values are exploded out to increase efficiency in parsing, and this page is paginated to prevent too large of return values"
|
|
7
|
-
Arguments:
|
|
8
|
-
type: Object
|
|
9
|
-
properties:
|
|
10
|
-
project_ids:
|
|
11
|
-
type: List<ObjectId>
|
|
12
|
-
desc: "The projects to get the data from"
|
|
13
|
-
offset?:
|
|
14
|
-
type: Optional<Integer>
|
|
15
|
-
desc: "Used for pagination. All pagination is done in order of Project ID"
|
|
16
|
-
limit?:
|
|
17
|
-
type: Optional<Integer>
|
|
18
|
-
desc: "The number of data points to return. If not filled in, it will be set to 100, and cannot be set higher than 100"
|
|
19
|
-
|
|
20
|
-
ProjectDetailed:
|
|
21
|
-
type: Object
|
|
22
|
-
properties:
|
|
23
|
-
id:
|
|
24
|
-
type: ObjectId
|
|
25
|
-
desc: "A unique identifier for the project. Used as foreign key to reference elsewhere."
|
|
26
|
-
name:
|
|
27
|
-
type: String
|
|
28
|
-
desc: "The name of the project"
|
|
29
|
-
material_family_id:
|
|
30
|
-
type: ObjectId
|
|
31
|
-
desc: "A unique identifier for the material family. Used as foreign key to reference elsewhere."
|
|
32
|
-
project_owner_id:
|
|
33
|
-
type: Optional<ObjectId>
|
|
34
|
-
desc: "The projects owner, as a user ID within the platform"
|
|
35
|
-
phase_id:
|
|
36
|
-
type: Optional<ObjectId>
|
|
37
|
-
desc: "The phase id corresponding to a phase workflow"
|
|
38
|
-
values:
|
|
39
|
-
type: List<field_values.ArgumentValueId>
|
|
40
|
-
desc: "List of fields and values associated with the project"
|
|
41
|
-
|
|
42
|
-
Data:
|
|
43
|
-
type: Object
|
|
44
|
-
properties:
|
|
45
|
-
projects:
|
|
46
|
-
type: List<ProjectDetailed>
|
|
47
|
-
phases:
|
|
48
|
-
type: List<phases.Phase>
|
|
49
|
-
fields:
|
|
50
|
-
type: List<fields.Field>
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: post
|
|
4
|
-
path: ${external}/recipe_links/create_recipe_link
|
|
5
|
-
function: main.site.app.external.recipe_links.create_recipe_link.create_recipe_link
|
|
6
|
-
desc: Create a link between two recipes. Skip if the link already exists
|
|
7
|
-
|
|
8
|
-
Arguments:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
recipe_from_key:
|
|
12
|
-
type: identifier.IdentifierKey
|
|
13
|
-
desc: "Identifier for the recipe the link comes from"
|
|
14
|
-
recipe_to_key:
|
|
15
|
-
type: identifier.IdentifierKey
|
|
16
|
-
desc: "Identifier for the recipe the link goes to"
|
|
17
|
-
link_type:
|
|
18
|
-
type: Union<Literal<recipe_links.RecipeLinkType.child>, Literal<recipe_links.RecipeLinkType.control>, Literal<recipe_links.RecipeLinkType.user_link>>
|
|
19
|
-
desc: "The type of link being created"
|
|
20
|
-
name:
|
|
21
|
-
type: String
|
|
22
|
-
desc: "The name used for the link"
|
|
23
|
-
|
|
24
|
-
Data:
|
|
25
|
-
type: async_batch.AsyncBatchActionReturn
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: get
|
|
4
|
-
path: ${external}/recipe_metadata/external_get_recipe_metadata_data
|
|
5
|
-
function: main.site.app.external.recipe_metadata.get_recipe_metadata_data.get_recipe_metadata_data
|
|
6
|
-
desc: "Gets the recipe metadata. Recipe metadata is data associated with experiments that is not an input, output or calculation, such as a sample ID."
|
|
7
|
-
|
|
8
|
-
Arguments:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
material_family_id:
|
|
12
|
-
type: ObjectId
|
|
13
|
-
desc: "The material family ID to get the recipe metadata values from."
|
|
14
|
-
recipe_metadata_ids:
|
|
15
|
-
type: Optional<List<ObjectId>>
|
|
16
|
-
desc: "The recipe metadata IDs to get the data from. If this is not filled in, all metadata from a material family will be returned (in paginated form)."
|
|
17
|
-
offset?:
|
|
18
|
-
type: Optional<Integer>
|
|
19
|
-
desc: "Used for pagination, where the number of results returned exceeds the limit. Results are always ordered by the metadata ID"
|
|
20
|
-
limit?:
|
|
21
|
-
type: Optional<Integer>
|
|
22
|
-
desc: "The maximum number of results to return. By default this is set to 1,000 and it cannot be set higher than 1,000"
|
|
23
|
-
|
|
24
|
-
FullRecipeMetadataField:
|
|
25
|
-
type: Object
|
|
26
|
-
properties:
|
|
27
|
-
recipe_metadata_id:
|
|
28
|
-
type: ObjectId
|
|
29
|
-
desc: "The unique integer ID of the recipe metadata value. Used for joining and identification elsewhere"
|
|
30
|
-
name:
|
|
31
|
-
type: String
|
|
32
|
-
desc: "The name of the recipe metadata"
|
|
33
|
-
quantity_type:
|
|
34
|
-
type: String
|
|
35
|
-
desc: "The quantity type of the recipe metadata, such as numeric, categorical or text"
|
|
36
|
-
|
|
37
|
-
Data:
|
|
38
|
-
type: Object
|
|
39
|
-
properties:
|
|
40
|
-
recipe_metadata:
|
|
41
|
-
type: List<FullRecipeMetadataField>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: post
|
|
4
|
-
path: ${external}/recipes/archive
|
|
5
|
-
function: main.site.app.external.recipes.archive_recipes.archive_recipes
|
|
6
|
-
desc: Archive the provided recipes and their children
|
|
7
|
-
|
|
8
|
-
Arguments:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
recipes:
|
|
12
|
-
type: List<identifier.IdentifierKey>
|
|
13
|
-
desc: Identifier for the recipe
|
|
14
|
-
reason?:
|
|
15
|
-
type: String
|
|
16
|
-
desc: This reason will be written to the audit log archive entry
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Data:
|
|
20
|
-
type: Object
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: post
|
|
4
|
-
path: ${external}/recipes/associate_recipe_as_input
|
|
5
|
-
function: main.site.app.external.recipes.associate_recipe_as_input.associate_recipe_as_input
|
|
6
|
-
desc: Create or return the input association for a recipe
|
|
7
|
-
|
|
8
|
-
Arguments:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
recipe_key:
|
|
12
|
-
type: identifier.IdentifierKey
|
|
13
|
-
desc: "Identifier for the recipe"
|
|
14
|
-
input_key?:
|
|
15
|
-
type: identifier.IdentifierKey
|
|
16
|
-
desc: "Identifier for an input to use for the association. Optionally supplied. If not supplied, one is created"
|
|
17
|
-
|
|
18
|
-
Data:
|
|
19
|
-
type: async_batch.AsyncBatchActionReturn
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: post
|
|
4
|
-
path: ${external}/recipes/associate_recipe_as_lot
|
|
5
|
-
function: main.site.app.external.recipes.associate_recipe_as_lot.associate_recipe_as_lot
|
|
6
|
-
desc: Create a new lot association for the provided recipe with the provided ingredient
|
|
7
|
-
|
|
8
|
-
Arguments:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
recipe_key:
|
|
12
|
-
type: identifier.IdentifierKey
|
|
13
|
-
desc: "Identifier for the recipe"
|
|
14
|
-
ingredient_key:
|
|
15
|
-
type: identifier.IdentifierKey
|
|
16
|
-
desc: "Identifier for the ingredient"
|
|
17
|
-
|
|
18
|
-
Data:
|
|
19
|
-
type: async_batch.AsyncBatchActionReturn
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
async_batch_path: create_recipe
|
|
4
|
-
method: post
|
|
5
|
-
path: ${external}/recipes/create_recipe
|
|
6
|
-
function: main.site.app.external.recipes.create_recipe.create_recipe
|
|
7
|
-
desc: Returns the id of the recipe being created.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Arguments:
|
|
11
|
-
type: Object
|
|
12
|
-
properties:
|
|
13
|
-
name?:
|
|
14
|
-
type: String
|
|
15
|
-
desc: The name for the recipe
|
|
16
|
-
material_family_id:
|
|
17
|
-
type: ObjectId
|
|
18
|
-
desc: The material family for the recipe
|
|
19
|
-
workflow_id:
|
|
20
|
-
type: ObjectId
|
|
21
|
-
desc: The identifier of the workflow to create the recipe with
|
|
22
|
-
workflow_variant_id?:
|
|
23
|
-
type: Optional<ObjectId>
|
|
24
|
-
desc: The identifier of the workflow variant to create the recipe with
|
|
25
|
-
recipe_metadata?:
|
|
26
|
-
type: List<recipe_metadata.MetadataValue>
|
|
27
|
-
desc: Metadata values to populate the recipe with
|
|
28
|
-
identifiers?:
|
|
29
|
-
type: recipe_identifiers.RecipeIdentifiers
|
|
30
|
-
desc: A recipe won't be created if it matches the identifier. An identifier must be unique in the schema
|
|
31
|
-
definition_key?:
|
|
32
|
-
type: identifier.IdentifierKey
|
|
33
|
-
desc: The entity definition identifier, default is used if not supplied
|
|
34
|
-
|
|
35
|
-
Data:
|
|
36
|
-
type: Object
|
|
37
|
-
properties:
|
|
38
|
-
result_id:
|
|
39
|
-
type: ObjectId
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: post
|
|
4
|
-
path: ${external}/recipes/external_create_recipes
|
|
5
|
-
function: main.site.app.external.recipes.create_recipes.create_recipes
|
|
6
|
-
desc: "Sets inputs values for an experiment. Values set can be numeric, text or categorical types in the Uncountable system"
|
|
7
|
-
|
|
8
|
-
CreateRecipeDefinition:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
name?:
|
|
12
|
-
type: String
|
|
13
|
-
desc: "The name for the recipe"
|
|
14
|
-
workflow_id:
|
|
15
|
-
type: ObjectId
|
|
16
|
-
desc: "The identifier of the workflow to create the recipe with"
|
|
17
|
-
workflow_variant_id?:
|
|
18
|
-
type: Optional<ObjectId>
|
|
19
|
-
desc: "The identifier of the workflow variant to create the recipe with"
|
|
20
|
-
recipe_metadata?:
|
|
21
|
-
type: List<recipe_metadata.MetadataValue>
|
|
22
|
-
desc: "Metadata values to populate the recipe with"
|
|
23
|
-
|
|
24
|
-
Arguments:
|
|
25
|
-
type: Object
|
|
26
|
-
properties:
|
|
27
|
-
material_family_id:
|
|
28
|
-
type: ObjectId
|
|
29
|
-
desc: "The identifier of the material family to create the recipes in"
|
|
30
|
-
project_id?:
|
|
31
|
-
type: ObjectId
|
|
32
|
-
desc: "The identifier of the project to create the recipes in"
|
|
33
|
-
recipe_definitions:
|
|
34
|
-
type: List<CreateRecipeDefinition>
|
|
35
|
-
|
|
36
|
-
CreateRecipeResult:
|
|
37
|
-
type: Object
|
|
38
|
-
properties:
|
|
39
|
-
recipe_id:
|
|
40
|
-
type: ObjectId
|
|
41
|
-
desc: The identifier for the created recipe
|
|
42
|
-
|
|
43
|
-
Data:
|
|
44
|
-
type: Object
|
|
45
|
-
properties:
|
|
46
|
-
recipes:
|
|
47
|
-
type: List<CreateRecipeResult>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: post
|
|
4
|
-
path: ${external}/recipes/disassociate_recipe_as_input
|
|
5
|
-
function: main.site.app.external.recipes.disassociate_recipe_as_input.disassociate_recipe_as_input
|
|
6
|
-
desc: Remove any association between a recipe and ingredients
|
|
7
|
-
|
|
8
|
-
Arguments:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
recipe_key:
|
|
12
|
-
type: identifier.IdentifierKey
|
|
13
|
-
desc: "Identifier for the recipe"
|
|
14
|
-
|
|
15
|
-
Data:
|
|
16
|
-
type: async_batch.AsyncBatchActionReturn
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
async_batch_path: edit_recipe_inputs
|
|
4
|
-
method: post
|
|
5
|
-
path: ${external}/recipes/edit_recipe_inputs
|
|
6
|
-
function: main.site.app.external.recipes.edit_recipe_inputs.edit_recipe_inputs
|
|
7
|
-
desc: Clear, update, or add inputs on a recipe
|
|
8
|
-
|
|
9
|
-
RecipeInputEditType:
|
|
10
|
-
type: StringEnum
|
|
11
|
-
values:
|
|
12
|
-
- clear_inputs
|
|
13
|
-
- upsert_input
|
|
14
|
-
- add_input
|
|
15
|
-
|
|
16
|
-
RecipeInputEditBase:
|
|
17
|
-
type: Object
|
|
18
|
-
properties:
|
|
19
|
-
type:
|
|
20
|
-
type: RecipeInputEditType
|
|
21
|
-
|
|
22
|
-
RecipeInputEditClearInputs:
|
|
23
|
-
type: RecipeInputEditBase
|
|
24
|
-
desc: "Clears all inputs and steps from recipe workflow step to start from scratch"
|
|
25
|
-
properties:
|
|
26
|
-
type:
|
|
27
|
-
type: Literal<RecipeInputEditType.clear_inputs>
|
|
28
|
-
|
|
29
|
-
RecipeInputEditInputBase:
|
|
30
|
-
type: RecipeInputEditBase
|
|
31
|
-
properties:
|
|
32
|
-
ingredient_key:
|
|
33
|
-
type: identifier.IdentifierKey
|
|
34
|
-
quantity_basis:
|
|
35
|
-
type: recipe_inputs.QuantityBasis
|
|
36
|
-
desc: "The basis to set for this edit. Normally this should be mass for ingredients and arbitrary for process parameters"
|
|
37
|
-
default: mass
|
|
38
|
-
input_value_type:
|
|
39
|
-
type: recipe_inputs.InputValueType
|
|
40
|
-
default: value
|
|
41
|
-
value_numeric?:
|
|
42
|
-
type: Decimal
|
|
43
|
-
value_str?:
|
|
44
|
-
type: String
|
|
45
|
-
calculation_key?:
|
|
46
|
-
type: identifier.IdentifierKey
|
|
47
|
-
desc: The basis calculation to set
|
|
48
|
-
|
|
49
|
-
RecipeInputEditUpsertInput:
|
|
50
|
-
type: RecipeInputEditInputBase
|
|
51
|
-
desc: "If the input is already present in the recipe, modifies it otherwise adds a new one"
|
|
52
|
-
properties:
|
|
53
|
-
type:
|
|
54
|
-
type: Literal<RecipeInputEditType.upsert_input>
|
|
55
|
-
clear_first:
|
|
56
|
-
type: Boolean
|
|
57
|
-
desc: whether to clear the current value first or modify in place
|
|
58
|
-
|
|
59
|
-
RecipeInputEditAddInput:
|
|
60
|
-
type: RecipeInputEditInputBase
|
|
61
|
-
desc: "Add the input into the recipe. If it's already present and the recipe is not a mixorder, this call will fail"
|
|
62
|
-
properties:
|
|
63
|
-
type:
|
|
64
|
-
type: Literal<RecipeInputEditType.add_input>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
RecipeInputEdit:
|
|
68
|
-
type: Alias
|
|
69
|
-
alias: Union<RecipeInputEditClearInputs, RecipeInputEditUpsertInput, RecipeInputEditAddInput>
|
|
70
|
-
discriminator: type
|
|
71
|
-
|
|
72
|
-
Arguments:
|
|
73
|
-
type: Object
|
|
74
|
-
properties:
|
|
75
|
-
recipe_key:
|
|
76
|
-
type: identifier.IdentifierKey
|
|
77
|
-
desc: "Identifier for the recipe"
|
|
78
|
-
recipe_workflow_step_identifier:
|
|
79
|
-
type: recipe_workflow_steps.RecipeWorkflowStepIdentifier
|
|
80
|
-
edits:
|
|
81
|
-
type: List<RecipeInputEdit>
|
|
82
|
-
|
|
83
|
-
Data:
|
|
84
|
-
type: Object
|
|
85
|
-
properties:
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: get
|
|
4
|
-
path: ${external}/recipes/external_get_curve
|
|
5
|
-
function: main.site.app.external.recipes.get_curve.get_curve
|
|
6
|
-
desc: "Returns an array of values for the specified curve id."
|
|
7
|
-
Arguments:
|
|
8
|
-
type: Object
|
|
9
|
-
properties:
|
|
10
|
-
recipe_output_id?:
|
|
11
|
-
type: ObjectId
|
|
12
|
-
desc: "The recipe output ID to fetch the curve for. This must be a curve recipe output. Recipe Outputs can be found from external_get_recipes_data"
|
|
13
|
-
recipe_input_id?:
|
|
14
|
-
type: ObjectId
|
|
15
|
-
desc: "The recipe input ID to fetch the curve for. This must be a curve recipe input. Recipe Inputs can be found from external_get_recipes_data"
|
|
16
|
-
|
|
17
|
-
Data:
|
|
18
|
-
type: Object
|
|
19
|
-
properties:
|
|
20
|
-
curve:
|
|
21
|
-
type: curves.Curve
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: get
|
|
4
|
-
path: ${external}/recipes/external_get_recipe_calculations
|
|
5
|
-
function: main.site.app.external.recipes.get_recipe_calculations.get_recipe_calculations
|
|
6
|
-
desc: "Gets the calculations for the passed recipes"
|
|
7
|
-
Arguments:
|
|
8
|
-
type: Object
|
|
9
|
-
properties:
|
|
10
|
-
recipe_ids:
|
|
11
|
-
type: List<ObjectId>
|
|
12
|
-
desc: "Ids of the Recipes to retrieve calculations for"
|
|
13
|
-
calculation_ids?:
|
|
14
|
-
type: List<ObjectId>
|
|
15
|
-
desc: "Optionally a list of ids of calculations to retrieve"
|
|
16
|
-
|
|
17
|
-
RecipeCalculation:
|
|
18
|
-
type: Object
|
|
19
|
-
properties:
|
|
20
|
-
recipe_id:
|
|
21
|
-
type: ObjectId
|
|
22
|
-
desc: "Identifier for the recipe"
|
|
23
|
-
calculation_id:
|
|
24
|
-
type: ObjectId
|
|
25
|
-
desc: "Identifier for the calculation"
|
|
26
|
-
quantity_dec?:
|
|
27
|
-
type: Decimal
|
|
28
|
-
desc: "The value for the calculation, if it is of numeric type"
|
|
29
|
-
quantity_json?:
|
|
30
|
-
type: JsonValue
|
|
31
|
-
desc: "The value for the calculation, if it is not of numeric type"
|
|
32
|
-
|
|
33
|
-
Data:
|
|
34
|
-
type: Object
|
|
35
|
-
properties:
|
|
36
|
-
recipe_calculations:
|
|
37
|
-
type: List<RecipeCalculation>
|
|
38
|
-
calculations:
|
|
39
|
-
type: List<calculations.Calculation>
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: get
|
|
4
|
-
path: ${external}/recipes/external_get_recipe_links
|
|
5
|
-
function: main.site.app.external.recipes.get_recipe_links.get_recipe_links
|
|
6
|
-
desc: "Gets the links for the passed recipes"
|
|
7
|
-
|
|
8
|
-
Arguments:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
recipe_ids:
|
|
12
|
-
type: List<ObjectId>
|
|
13
|
-
desc: "Ids of the Recipes to retrieve links for"
|
|
14
|
-
depth:
|
|
15
|
-
type: Integer
|
|
16
|
-
desc: "How many layers deep to look for links"
|
|
17
|
-
default: 1
|
|
18
|
-
link_types:
|
|
19
|
-
type: Optional<List<recipe_links.RecipeLinkType>>
|
|
20
|
-
desc: "Optional filter to only desired link types"
|
|
21
|
-
|
|
22
|
-
Data:
|
|
23
|
-
type: Object
|
|
24
|
-
properties:
|
|
25
|
-
recipe_links:
|
|
26
|
-
type: List<recipe_links.RecipeLink>
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: get
|
|
4
|
-
path: ${external}/recipes/external_get_recipe_names
|
|
5
|
-
function: main.site.app.external.recipes.get_recipe_names.get_recipe_names
|
|
6
|
-
desc: "Gets the name of all recipes (or experiments, used as synonyms by Uncountable) for a project. The call external_get_projects can be used to find projects"
|
|
7
|
-
|
|
8
|
-
Arguments:
|
|
9
|
-
type: Object
|
|
10
|
-
properties:
|
|
11
|
-
project_id:
|
|
12
|
-
type: ObjectId
|
|
13
|
-
desc: "Required: The project ID to get the recipes/experiments from."
|
|
14
|
-
|
|
15
|
-
SimpleRecipe:
|
|
16
|
-
type: Object
|
|
17
|
-
properties:
|
|
18
|
-
id:
|
|
19
|
-
type: ObjectId
|
|
20
|
-
desc: "The unique integer ID of the recipe/experiment. Used for joining and identification elsewhere"
|
|
21
|
-
name:
|
|
22
|
-
type: String
|
|
23
|
-
desc: "The name of the recipe"
|
|
24
|
-
|
|
25
|
-
Data:
|
|
26
|
-
type: Object
|
|
27
|
-
properties:
|
|
28
|
-
recipes:
|
|
29
|
-
type: List<SimpleRecipe>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
$endpoint:
|
|
2
|
-
is_sdk: true
|
|
3
|
-
method: get
|
|
4
|
-
path: ${external}/recipes/external_get_recipe_output_metadata
|
|
5
|
-
function: main.site.app.external.recipes.get_recipe_output_metadata.get_recipe_output_metadata
|
|
6
|
-
desc: "Gets the metadata values for the passed recipe outputs"
|
|
7
|
-
Arguments:
|
|
8
|
-
type: Object
|
|
9
|
-
properties:
|
|
10
|
-
recipe_output_ids:
|
|
11
|
-
type: List<ObjectId>
|
|
12
|
-
desc: "Ids of the Recipe Outputs to retrieve metadata for"
|
|
13
|
-
|
|
14
|
-
RecipeOutputMetadata:
|
|
15
|
-
type: Object
|
|
16
|
-
properties:
|
|
17
|
-
recipe_output_id:
|
|
18
|
-
type: ObjectId
|
|
19
|
-
desc: "Identifier for the recipe output"
|
|
20
|
-
recipe_output_metadata_field_id:
|
|
21
|
-
type: ObjectId
|
|
22
|
-
desc: "Identifier for the metadata field id"
|
|
23
|
-
quantity_dec:
|
|
24
|
-
type: Decimal
|
|
25
|
-
desc: "The value for the metadata, if it is of numeric type"
|
|
26
|
-
quantity_json:
|
|
27
|
-
type: JsonValue
|
|
28
|
-
desc: "The value for the metadata, if it is not of numeric type"
|
|
29
|
-
|
|
30
|
-
Data:
|
|
31
|
-
type: Object
|
|
32
|
-
properties:
|
|
33
|
-
recipe_output_metadata:
|
|
34
|
-
type: List<RecipeOutputMetadata>
|
|
35
|
-
recipe_output_metadata_fields:
|
|
36
|
-
type: List<recipe_output_metadata.RecipeOutputMetadataField>
|