UncountablePythonSDK 0.0.7__tar.gz → 0.0.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/PKG-INFO +4 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/UncountablePythonSDK.egg-info/PKG-INFO +4 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/UncountablePythonSDK.egg-info/SOURCES.txt +26 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/UncountablePythonSDK.egg-info/requires.txt +3 -1
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/argument_parser/argument_parser.py +2 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/serialization/missing_sentry.py +1 -1
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/serialization_util/serialization_helpers.py +3 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/emit_open_api.py +34 -17
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/emit_open_api_util.py +4 -9
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/emit_python.py +8 -5
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/open_api_util.py +13 -12
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pyproject.toml +3 -1
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/entity/create_entities.yaml +1 -1
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/entity/create_entity.yaml +1 -1
- UncountablePythonSDK-0.0.9/type_spec/external/api/entity/get_entities_data.yaml +29 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/entity/list_entities.yaml +4 -14
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/entity/resolve_entity_ids.yaml +2 -2
- UncountablePythonSDK-0.0.9/type_spec/external/api/entity/set_values.yaml +18 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/input_groups/get_input_group_names.yaml +2 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/inputs/create_inputs.yaml +6 -19
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/inputs/get_input_data.yaml +11 -24
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/inputs/get_input_names.yaml +4 -4
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/inputs/get_inputs_data.yaml +7 -20
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/inputs/set_input_attribute_values.yaml +3 -7
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/outputs/get_output_data.yaml +9 -20
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/outputs/get_output_names.yaml +2 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/project/get_projects.yaml +6 -16
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/project/get_projects_data.yaml +10 -46
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +5 -5
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipes/create_recipes.yaml +5 -18
- UncountablePythonSDK-0.0.9/type_spec/external/api/recipes/get_curve.yaml +18 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipes/get_recipe_calculations.yaml +7 -17
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipes/get_recipe_links.yaml +1 -1
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipes/get_recipe_names.yaml +2 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipes/get_recipe_output_metadata.yaml +4 -17
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipes/get_recipes_data.yaml +31 -165
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipes/set_recipe_inputs.yaml +3 -3
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/recipes/set_recipe_outputs.yaml +4 -8
- UncountablePythonSDK-0.0.9/uncountable/integration/construct_client.py +30 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/cron.py +29 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/db/__init__.py +0 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/db/connect.py +8 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/entrypoint.py +41 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/executors/__init__.py +0 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/executors/script_executor.py +18 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/job.py +39 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/server.py +86 -0
- UncountablePythonSDK-0.0.9/uncountable/integration/types.py +89 -0
- UncountablePythonSDK-0.0.9/uncountable/py.typed +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/__init__.py +30 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/entity/create_entities.py +2 -1
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/entity/create_entity.py +1 -1
- UncountablePythonSDK-0.0.9/uncountable/types/api/entity/get_entities_data.py +45 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/entity/list_entities.py +5 -12
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/entity/resolve_entity_ids.py +4 -2
- UncountablePythonSDK-0.0.9/uncountable/types/api/entity/set_values.py +37 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/input_groups/get_input_group_names.py +3 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/inputs/create_inputs.py +8 -20
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/inputs/get_input_data.py +12 -25
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/inputs/get_input_names.py +5 -4
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/inputs/get_inputs_data.py +8 -21
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/inputs/set_input_attribute_values.py +5 -7
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/outputs/get_output_data.py +10 -17
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/outputs/get_output_names.py +3 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/project/get_projects.py +8 -14
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/project/get_projects_data.py +13 -40
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +6 -5
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/create_recipes.py +6 -18
- UncountablePythonSDK-0.0.9/uncountable/types/api/recipes/get_curve.py +35 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/get_recipe_calculations.py +8 -15
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/get_recipe_links.py +2 -1
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/get_recipe_names.py +3 -2
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/get_recipe_output_metadata.py +5 -13
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/get_recipes_data.py +36 -122
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/set_recipe_inputs.py +4 -3
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/set_recipe_outputs.py +7 -8
- UncountablePythonSDK-0.0.9/uncountable/types/calculations.py +23 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/client_base.py +43 -43
- UncountablePythonSDK-0.0.7/uncountable/types/api/recipes/get_curve.py → UncountablePythonSDK-0.0.9/uncountable/types/curves.py +14 -24
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/entity.py +4 -1
- UncountablePythonSDK-0.0.9/uncountable/types/experiment_groups.py +23 -0
- UncountablePythonSDK-0.0.7/uncountable/types/api/entity/set_values.py → UncountablePythonSDK-0.0.9/uncountable/types/field_values.py +26 -20
- UncountablePythonSDK-0.0.9/uncountable/types/fields.py +24 -0
- UncountablePythonSDK-0.0.9/uncountable/types/input_attributes.py +29 -0
- UncountablePythonSDK-0.0.9/uncountable/types/inputs.py +61 -0
- UncountablePythonSDK-0.0.9/uncountable/types/outputs.py +26 -0
- UncountablePythonSDK-0.0.9/uncountable/types/phases.py +23 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/recipe_links.py +3 -2
- UncountablePythonSDK-0.0.9/uncountable/types/recipe_metadata.py +50 -0
- UncountablePythonSDK-0.0.9/uncountable/types/recipe_output_metadata.py +24 -0
- UncountablePythonSDK-0.0.9/uncountable/types/recipe_tags.py +23 -0
- UncountablePythonSDK-0.0.7/uncountable/types/field_values.py → UncountablePythonSDK-0.0.9/uncountable/types/response.py +4 -7
- UncountablePythonSDK-0.0.9/uncountable/types/units.py +23 -0
- UncountablePythonSDK-0.0.9/uncountable/types/users.py +24 -0
- UncountablePythonSDK-0.0.9/uncountable/types/workflows.py +32 -0
- UncountablePythonSDK-0.0.7/type_spec/external/api/entity/get_entities_data.yaml +0 -55
- UncountablePythonSDK-0.0.7/type_spec/external/api/entity/set_values.yaml +0 -45
- UncountablePythonSDK-0.0.7/type_spec/external/api/recipes/get_curve.yaml +0 -50
- UncountablePythonSDK-0.0.7/uncountable/types/api/entity/get_entities_data.py +0 -65
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/.github/workflows/publish.yml +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/.gitignore +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/examples/create_entity.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/examples/recipe-import/importer.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/argument_parser/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/argument_parser/_is_enum.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/argument_parser/_is_namedtuple.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/argument_parser/case_convert.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/serialization/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/serialization/opaque_key.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/serialization/serial_class.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/serialization_util/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/strenum_compat/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/strenum_compat/strenum_compat.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/__main__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/builder.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/config.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/emit_io_ts.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/emit_typescript.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/emit_typescript_util.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/load_types.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/parts/base.py.prepart +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/parts/base.ts.prepart +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/test.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/type_info/__main__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/util.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/value_spec/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/value_spec/__main__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/value_spec/convert_type.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/value_spec/emit_python.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/value_spec/types.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/requirements.txt +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/setup.cfg +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/batch/execute_batch.yaml +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/type_spec/external/api/outputs/resolve_output_conditions.yaml +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/core/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/core/client.py +0 -0
- /UncountablePythonSDK-0.0.7/uncountable/py.typed → /UncountablePythonSDK-0.0.9/uncountable/integration/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/batch/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/batch/execute_batch.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/entity/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/input_groups/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/inputs/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/outputs/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/project/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipe_metadata/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/api/recipes/__init__.py +0 -0
- {UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/uncountable/types/base.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: UncountablePythonSDK
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.9
|
|
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
|
|
@@ -16,7 +16,9 @@ Classifier: Topic :: Utilities
|
|
|
16
16
|
Classifier: Typing :: Typed
|
|
17
17
|
Requires-Python: >=3.11
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
|
-
Requires-Dist: requests
|
|
19
|
+
Requires-Dist: requests==2.31.0
|
|
20
|
+
Requires-Dist: SQLAlchemy==2.0.29
|
|
21
|
+
Requires-Dist: APScheduler==3.10.4
|
|
20
22
|
Provides-Extra: test
|
|
21
23
|
Requires-Dist: mypy>=1.8.1; extra == "test"
|
|
22
24
|
Requires-Dist: ruff>=0.2.1; extra == "test"
|
{UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/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.9
|
|
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
|
|
@@ -16,7 +16,9 @@ Classifier: Topic :: Utilities
|
|
|
16
16
|
Classifier: Typing :: Typed
|
|
17
17
|
Requires-Python: >=3.11
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
|
-
Requires-Dist: requests
|
|
19
|
+
Requires-Dist: requests==2.31.0
|
|
20
|
+
Requires-Dist: SQLAlchemy==2.0.29
|
|
21
|
+
Requires-Dist: APScheduler==3.10.4
|
|
20
22
|
Provides-Extra: test
|
|
21
23
|
Requires-Dist: mypy>=1.8.1; extra == "test"
|
|
22
24
|
Requires-Dist: ruff>=0.2.1; extra == "test"
|
{UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/UncountablePythonSDK.egg-info/SOURCES.txt
RENAMED
|
@@ -79,12 +79,38 @@ uncountable/__init__.py
|
|
|
79
79
|
uncountable/py.typed
|
|
80
80
|
uncountable/core/__init__.py
|
|
81
81
|
uncountable/core/client.py
|
|
82
|
+
uncountable/integration/__init__.py
|
|
83
|
+
uncountable/integration/construct_client.py
|
|
84
|
+
uncountable/integration/cron.py
|
|
85
|
+
uncountable/integration/entrypoint.py
|
|
86
|
+
uncountable/integration/job.py
|
|
87
|
+
uncountable/integration/server.py
|
|
88
|
+
uncountable/integration/types.py
|
|
89
|
+
uncountable/integration/db/__init__.py
|
|
90
|
+
uncountable/integration/db/connect.py
|
|
91
|
+
uncountable/integration/executors/__init__.py
|
|
92
|
+
uncountable/integration/executors/script_executor.py
|
|
82
93
|
uncountable/types/__init__.py
|
|
83
94
|
uncountable/types/base.py
|
|
95
|
+
uncountable/types/calculations.py
|
|
84
96
|
uncountable/types/client_base.py
|
|
97
|
+
uncountable/types/curves.py
|
|
85
98
|
uncountable/types/entity.py
|
|
99
|
+
uncountable/types/experiment_groups.py
|
|
86
100
|
uncountable/types/field_values.py
|
|
101
|
+
uncountable/types/fields.py
|
|
102
|
+
uncountable/types/input_attributes.py
|
|
103
|
+
uncountable/types/inputs.py
|
|
104
|
+
uncountable/types/outputs.py
|
|
105
|
+
uncountable/types/phases.py
|
|
87
106
|
uncountable/types/recipe_links.py
|
|
107
|
+
uncountable/types/recipe_metadata.py
|
|
108
|
+
uncountable/types/recipe_output_metadata.py
|
|
109
|
+
uncountable/types/recipe_tags.py
|
|
110
|
+
uncountable/types/response.py
|
|
111
|
+
uncountable/types/units.py
|
|
112
|
+
uncountable/types/users.py
|
|
113
|
+
uncountable/types/workflows.py
|
|
88
114
|
uncountable/types/api/__init__.py
|
|
89
115
|
uncountable/types/api/batch/__init__.py
|
|
90
116
|
uncountable/types/api/batch/execute_batch.py
|
{UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/argument_parser/argument_parser.py
RENAMED
|
@@ -407,5 +407,5 @@ class CachedParser(typing.Generic[T]):
|
|
|
407
407
|
return self.parse_storage(yaml.safe_load(data_in))
|
|
408
408
|
|
|
409
409
|
def parse_yaml_resource(self, package: resources.Package, resource: str) -> T:
|
|
410
|
-
|
|
411
|
-
|
|
410
|
+
with resources.open_text(package, resource) as fp:
|
|
411
|
+
return self.parse_storage(yaml.safe_load(fp))
|
{UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/serialization/missing_sentry.py
RENAMED
|
@@ -26,5 +26,5 @@ MISSING_SENTRY = MissingSentryType()
|
|
|
26
26
|
MissingType = Union[MissingSentryType, ClassT]
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
def coalesce_missing_sentry(value: MissingType[ClassT]) -> ClassT
|
|
29
|
+
def coalesce_missing_sentry(value: MissingType[ClassT]) -> Optional[ClassT]:
|
|
30
30
|
return None if isinstance(value, MissingSentryType) else value
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import datetime
|
|
2
|
+
import enum
|
|
2
3
|
from decimal import Decimal
|
|
3
4
|
from typing import (
|
|
4
5
|
TYPE_CHECKING,
|
|
@@ -33,6 +34,8 @@ else:
|
|
|
33
34
|
def key_convert_to_camelcase(o: Any) -> Any:
|
|
34
35
|
if isinstance(o, OpaqueKey):
|
|
35
36
|
return o
|
|
37
|
+
if isinstance(o, enum.Enum):
|
|
38
|
+
return o.value
|
|
36
39
|
if isinstance(o, str):
|
|
37
40
|
return snake_to_camel_case(o)
|
|
38
41
|
return o
|
|
@@ -141,6 +141,18 @@ def _serialize_global_context(ctx: EmitOpenAPIGlobalContext) -> str:
|
|
|
141
141
|
return yaml.dump(oa_root, sort_keys=False)
|
|
142
142
|
|
|
143
143
|
|
|
144
|
+
def _emit_endpoint_parameters(typ: OpenAPIType | None) -> dict[str, list[dict[str, str]]]:
|
|
145
|
+
if not isinstance(typ, OpenAPIObjectType):
|
|
146
|
+
return {}
|
|
147
|
+
|
|
148
|
+
return {
|
|
149
|
+
"parameters": [
|
|
150
|
+
{"$ref": f"#/components/schema/Arguments/{prop_name}"}
|
|
151
|
+
for prop_name in typ.properties
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
|
|
144
156
|
def _emit_namespace(
|
|
145
157
|
gctx: EmitOpenAPIGlobalContext,
|
|
146
158
|
ctx: EmitOpenAPIContext,
|
|
@@ -159,23 +171,28 @@ def _emit_namespace(
|
|
|
159
171
|
if ctx.endpoint is not None:
|
|
160
172
|
endpoint = ctx.endpoint
|
|
161
173
|
|
|
174
|
+
argument_type = ctx.types.get("Arguments")
|
|
162
175
|
oa_endpoint = dict()
|
|
163
|
-
oa_endpoint[endpoint.method] =
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
oa_endpoint[endpoint.method] = (
|
|
177
|
+
{
|
|
178
|
+
"tags": endpoint.tags,
|
|
179
|
+
"summary": endpoint.summary,
|
|
180
|
+
"description": endpoint.description,
|
|
181
|
+
}
|
|
182
|
+
| _emit_endpoint_parameters(argument_type)
|
|
183
|
+
| {
|
|
184
|
+
"responses": {
|
|
185
|
+
"200": {
|
|
186
|
+
"description": "OK",
|
|
187
|
+
"content": {
|
|
188
|
+
"application/json": {
|
|
189
|
+
"schema": {"$ref": "#/components/schema/Data"}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
}
|
|
195
|
+
)
|
|
179
196
|
oa_components["endpoint"] = oa_endpoint
|
|
180
197
|
|
|
181
198
|
types = ctx.types
|
|
@@ -460,5 +477,5 @@ def open_api_type(
|
|
|
460
477
|
ctx.namespaces.add(stype.namespace)
|
|
461
478
|
# external namespace resolution
|
|
462
479
|
return OpenAPIRefType(
|
|
463
|
-
source=f"{resolve_namespace_ref(ctx, stype.namespace,
|
|
480
|
+
source=f"{resolve_namespace_ref(source_path=ctx.namespace.path, ref_path=stype.namespace.path, ref='/components/schema')}/{stype.name}"
|
|
464
481
|
)
|
{UncountablePythonSDK-0.0.7 → UncountablePythonSDK-0.0.9}/pkgs/type_spec/emit_open_api_util.py
RENAMED
|
@@ -9,7 +9,6 @@ from dataclasses import dataclass, field
|
|
|
9
9
|
from typing import TypeAlias
|
|
10
10
|
|
|
11
11
|
from . import builder
|
|
12
|
-
from .config import OpenAPIConfig
|
|
13
12
|
from .open_api_util import OpenAPIType
|
|
14
13
|
|
|
15
14
|
MODIFY_NOTICE = "# DO NOT MODIFY -- This file is generated by type_spec"
|
|
@@ -75,12 +74,8 @@ class EmitOpenAPIContext:
|
|
|
75
74
|
|
|
76
75
|
|
|
77
76
|
def resolve_namespace_ref(
|
|
78
|
-
|
|
79
|
-
namespace: builder.SpecNamespace,
|
|
80
|
-
*,
|
|
81
|
-
config: OpenAPIConfig,
|
|
77
|
+
*, source_path: list[str], ref_path: list[str], ref: str
|
|
82
78
|
) -> str:
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return f"{config.static_url_path}/common/{namespace.name}.yaml#/components/schema"
|
|
79
|
+
to_root = "/".join(".." for _ in source_path)
|
|
80
|
+
location = "/".join(ref_path)
|
|
81
|
+
return f"{to_root}/common/{location}.yaml#{ref}"
|
|
@@ -335,14 +335,15 @@ def _emit_namespace(ctx: Context, namespace: builder.SpecNamespace) -> None:
|
|
|
335
335
|
|
|
336
336
|
|
|
337
337
|
def _validate_supports_handler_generation(
|
|
338
|
-
stype: builder.SpecTypeDefn, name: str
|
|
338
|
+
stype: builder.SpecTypeDefn, name: str, supports_inheritance: bool = False
|
|
339
339
|
) -> builder.SpecTypeDefnObject:
|
|
340
340
|
assert isinstance(
|
|
341
341
|
stype, builder.SpecTypeDefnObject
|
|
342
342
|
), f"External api {name} must be an object"
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
343
|
+
if not supports_inheritance:
|
|
344
|
+
assert (
|
|
345
|
+
stype.base is None or stype.base.is_base
|
|
346
|
+
), f"Inheritance not supported in external api {name}"
|
|
346
347
|
return stype
|
|
347
348
|
|
|
348
349
|
|
|
@@ -359,7 +360,9 @@ def _emit_endpoint_invocation_function(
|
|
|
359
360
|
data_type = namespace.types["Data"]
|
|
360
361
|
|
|
361
362
|
arguments_type = _validate_supports_handler_generation(arguments_type, "arguments")
|
|
362
|
-
data_type = _validate_supports_handler_generation(
|
|
363
|
+
data_type = _validate_supports_handler_generation(
|
|
364
|
+
data_type, "response", supports_inheritance=True
|
|
365
|
+
)
|
|
363
366
|
|
|
364
367
|
endpoint_method_stype = builder.SpecTypeDefnObject(
|
|
365
368
|
namespace=arguments_type.namespace, name=ENDPOINT_METHOD
|
|
@@ -13,9 +13,10 @@ class OpenAPIType(ABC):
|
|
|
13
13
|
self.nullable = nullable
|
|
14
14
|
|
|
15
15
|
@abstractmethod
|
|
16
|
-
def asdict(self) -> dict[str, object]:
|
|
16
|
+
def asdict(self) -> dict[str, object]:
|
|
17
|
+
pass
|
|
17
18
|
|
|
18
|
-
def asarguments(self) ->
|
|
19
|
+
def asarguments(self) -> dict[str, dict[str, object]]:
|
|
19
20
|
raise UnsupportedOperation
|
|
20
21
|
|
|
21
22
|
def add_addl_info(self, emitted: dict[str, object]) -> dict[str, object]:
|
|
@@ -147,8 +148,8 @@ class OpenAPIFreeFormObjectType(OpenAPIType):
|
|
|
147
148
|
def asdict(self) -> dict[str, object]:
|
|
148
149
|
return self.add_addl_info({"type": "object"})
|
|
149
150
|
|
|
150
|
-
def asarguments(self) ->
|
|
151
|
-
return
|
|
151
|
+
def asarguments(self) -> dict[str, dict[str, object]]:
|
|
152
|
+
return {}
|
|
152
153
|
|
|
153
154
|
|
|
154
155
|
class OpenAPIObjectType(OpenAPIType):
|
|
@@ -185,17 +186,17 @@ class OpenAPIObjectType(OpenAPIType):
|
|
|
185
186
|
},
|
|
186
187
|
})
|
|
187
188
|
|
|
188
|
-
def asarguments(self) ->
|
|
189
|
-
argument_types:
|
|
189
|
+
def asarguments(self) -> dict[str, dict[str, object]]:
|
|
190
|
+
argument_types: dict[str, dict[str, object]] = {}
|
|
190
191
|
for property_name, property_type in self.properties.items():
|
|
191
192
|
desc = self.property_desc.get(property_name)
|
|
192
|
-
argument_types
|
|
193
|
+
argument_types[property_name] = {
|
|
193
194
|
"name": property_name,
|
|
194
195
|
"in": "query",
|
|
195
196
|
"schema": property_type.asdict(),
|
|
196
197
|
"required": not property_type.nullable,
|
|
197
198
|
"description": desc or "",
|
|
198
|
-
}
|
|
199
|
+
}
|
|
199
200
|
return argument_types
|
|
200
201
|
|
|
201
202
|
|
|
@@ -219,11 +220,11 @@ class OpenAPIUnionType(OpenAPIType):
|
|
|
219
220
|
# TODO: use parents description and nullable
|
|
220
221
|
return {"oneOf": [base_type.asdict() for base_type in self.base_types]}
|
|
221
222
|
|
|
222
|
-
def asarguments(self) ->
|
|
223
|
+
def asarguments(self) -> dict[str, dict[str, object]]:
|
|
223
224
|
# TODO handle inheritence (allOf and refs); need to inline here...
|
|
224
225
|
# for now skip this endpoint
|
|
225
226
|
|
|
226
|
-
return
|
|
227
|
+
return {}
|
|
227
228
|
|
|
228
229
|
|
|
229
230
|
class OpenAPIIntersectionType(OpenAPIType):
|
|
@@ -246,8 +247,8 @@ class OpenAPIIntersectionType(OpenAPIType):
|
|
|
246
247
|
# TODO: use parents description and nullable
|
|
247
248
|
return {"allOf": [base_type.asdict() for base_type in self.base_types]}
|
|
248
249
|
|
|
249
|
-
def asarguments(self) ->
|
|
250
|
+
def asarguments(self) -> dict[str, dict[str, object]]:
|
|
250
251
|
# TODO handle inheritence (allOf and refs); need to inline here...
|
|
251
252
|
# for now skip this endpoint
|
|
252
253
|
|
|
253
|
-
return
|
|
254
|
+
return {}
|
|
@@ -48,7 +48,9 @@ keywords = [ "uncountable", "sdk", "api", "uncountable-sdk" ]
|
|
|
48
48
|
requires-python = ">=3.11"
|
|
49
49
|
# May be compatible with older versions
|
|
50
50
|
dependencies = [
|
|
51
|
-
"requests
|
|
51
|
+
"requests == 2.31.0",
|
|
52
|
+
"SQLAlchemy == 2.0.29",
|
|
53
|
+
"APScheduler == 3.10.4",
|
|
52
54
|
]
|
|
53
55
|
dynamic = ["version"]
|
|
54
56
|
|
|
@@ -16,7 +16,7 @@ Arguments:
|
|
|
16
16
|
type: Object
|
|
17
17
|
properties:
|
|
18
18
|
definition_id:
|
|
19
|
-
type:
|
|
19
|
+
type: ObjectId
|
|
20
20
|
desc: "Definition id for the entities to create"
|
|
21
21
|
entity_type:
|
|
22
22
|
type: Union<Literal<entity.EntityType.lab_request>, Literal<entity.EntityType.approval>, Literal<entity.EntityType.custom_entity>, Literal<entity.EntityType.task>, Literal<entity.EntityType.project>>
|
|
@@ -23,7 +23,7 @@ Arguments:
|
|
|
23
23
|
type: Object
|
|
24
24
|
properties:
|
|
25
25
|
definition_id:
|
|
26
|
-
type:
|
|
26
|
+
type: ObjectId
|
|
27
27
|
desc: "Definition id of the entity to create"
|
|
28
28
|
entity_type:
|
|
29
29
|
type: Union<Literal<entity.EntityType.lab_request>, Literal<entity.EntityType.approval>, Literal<entity.EntityType.custom_entity>, Literal<entity.EntityType.task>, Literal<entity.EntityType.project>>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
$endpoint:
|
|
2
|
+
is_sdk: true
|
|
3
|
+
method: get
|
|
4
|
+
path: ${external}/entity/external_get_entities_data
|
|
5
|
+
function: main.site.app.external.entity.get_entities_data.get_entities_data
|
|
6
|
+
desc: "Gets the details for a passed entity"
|
|
7
|
+
Arguments:
|
|
8
|
+
type: Object
|
|
9
|
+
properties:
|
|
10
|
+
entity_ids:
|
|
11
|
+
type: List<ObjectId>
|
|
12
|
+
desc: "Ids of the entity to retrieve"
|
|
13
|
+
entity_type:
|
|
14
|
+
type: entity.EntityType
|
|
15
|
+
desc: "The type of the entities requested, e.g. lab_request or approval"
|
|
16
|
+
|
|
17
|
+
EntityDetails:
|
|
18
|
+
type: Object
|
|
19
|
+
properties:
|
|
20
|
+
entity:
|
|
21
|
+
type: entity.Entity
|
|
22
|
+
field_values:
|
|
23
|
+
type: List<field_values.FieldRefIdNameValue>
|
|
24
|
+
|
|
25
|
+
Data:
|
|
26
|
+
type: Object
|
|
27
|
+
properties:
|
|
28
|
+
entity_details:
|
|
29
|
+
type: List<EntityDetails>
|
|
@@ -8,7 +8,7 @@ Arguments:
|
|
|
8
8
|
type: Object
|
|
9
9
|
properties:
|
|
10
10
|
entity_type:
|
|
11
|
-
type:
|
|
11
|
+
type: entity.EntityType
|
|
12
12
|
desc: "The type of the entities requested, e.g. lab_request, recipe"
|
|
13
13
|
config_reference:
|
|
14
14
|
type: String
|
|
@@ -16,28 +16,18 @@ Arguments:
|
|
|
16
16
|
attributes?:
|
|
17
17
|
type: Dict<OpaqueKey, JsonValue>
|
|
18
18
|
desc: "Attributes to pass to the configuration for parameterizing filters"
|
|
19
|
-
offset
|
|
19
|
+
offset?:
|
|
20
20
|
type: Optional<Integer>
|
|
21
21
|
desc: "Used for pagination. Pagination is done based on the sorting of the config"
|
|
22
|
-
limit
|
|
22
|
+
limit?:
|
|
23
23
|
type: Optional<Integer>
|
|
24
24
|
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"
|
|
25
25
|
|
|
26
|
-
Entity:
|
|
27
|
-
type: Object
|
|
28
|
-
properties:
|
|
29
|
-
id:
|
|
30
|
-
type: Integer
|
|
31
|
-
desc: "A unique identifier for the entity. Used in conjunction with entity type"
|
|
32
|
-
type:
|
|
33
|
-
type: String
|
|
34
|
-
desc: "The type of entity"
|
|
35
|
-
|
|
36
26
|
EntityResult:
|
|
37
27
|
type: Object
|
|
38
28
|
properties:
|
|
39
29
|
entity:
|
|
40
|
-
type: Entity
|
|
30
|
+
type: entity.Entity
|
|
41
31
|
desc: "The entity represented by the record"
|
|
42
32
|
column_values:
|
|
43
33
|
type: List<JsonValue>
|
|
@@ -8,10 +8,10 @@ Arguments:
|
|
|
8
8
|
type: Object
|
|
9
9
|
properties:
|
|
10
10
|
entity_ids:
|
|
11
|
-
type: List<Union<String,
|
|
11
|
+
type: List<Union<String, ObjectId>>
|
|
12
12
|
desc: "Ids of the entity to retrieve"
|
|
13
13
|
entity_type:
|
|
14
|
-
type:
|
|
14
|
+
type: entity.EntityType
|
|
15
15
|
desc: "The type of the entities requested"
|
|
16
16
|
|
|
17
17
|
EntityNames:
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$endpoint:
|
|
2
|
+
is_sdk: true
|
|
3
|
+
method: post
|
|
4
|
+
path: ${external}/entity/external_set_values
|
|
5
|
+
function: main.site.app.external.entity.set_values.set_values
|
|
6
|
+
desc: "Sets field values for an entity"
|
|
7
|
+
|
|
8
|
+
Arguments:
|
|
9
|
+
type: Object
|
|
10
|
+
properties:
|
|
11
|
+
entity:
|
|
12
|
+
type: entity.Entity
|
|
13
|
+
values:
|
|
14
|
+
type: List<field_values.ArgumentValueRefName>
|
|
15
|
+
|
|
16
|
+
Data:
|
|
17
|
+
type: response.Response
|
|
18
|
+
properties:
|
|
@@ -9,14 +9,14 @@ Arguments:
|
|
|
9
9
|
type: Object
|
|
10
10
|
properties:
|
|
11
11
|
material_family_id:
|
|
12
|
-
type:
|
|
12
|
+
type: ObjectId
|
|
13
13
|
desc: "Required: The Material Family ID to get the input groups from."
|
|
14
14
|
|
|
15
15
|
SimpleInputGroup:
|
|
16
16
|
type: Object
|
|
17
17
|
properties:
|
|
18
18
|
input_group_id:
|
|
19
|
-
type:
|
|
19
|
+
type: ObjectId
|
|
20
20
|
desc: "The unique integer ID of the input group. Used for joining and identification elsewhere"
|
|
21
21
|
name:
|
|
22
22
|
type: String
|
|
@@ -19,39 +19,26 @@ InputToCreate:
|
|
|
19
19
|
name:
|
|
20
20
|
type: String
|
|
21
21
|
material_family_ids:
|
|
22
|
-
type: List<
|
|
22
|
+
type: List<ObjectId>
|
|
23
23
|
desc: "The list of material families to add the ingredient to. This must be non-empty"
|
|
24
24
|
quantity_type:
|
|
25
|
-
type: Union<Literal<
|
|
25
|
+
type: Union<Literal<inputs.IngredientQuantityType.numeric>, Literal<inputs.IngredientQuantityType.text>>
|
|
26
26
|
desc: "The quantity type of the input. Always numeric for standard inputs"
|
|
27
27
|
type:
|
|
28
|
-
type: Union<Literal<
|
|
28
|
+
type: Union<Literal<inputs.IngredientType.ingredient>, Literal<inputs.IngredientType.process_parameter>>
|
|
29
29
|
desc: "The type of the input, E.g. ingredient, process parameter"
|
|
30
30
|
attributes?:
|
|
31
|
-
type: List<InputAttributeValue>
|
|
31
|
+
type: List<input_attributes.InputAttributeValue>
|
|
32
32
|
desc: "The attributes of the input"
|
|
33
33
|
category_id?:
|
|
34
|
-
type:
|
|
34
|
+
type: ObjectId
|
|
35
35
|
desc: The unique identifier for the category to set for the input
|
|
36
36
|
|
|
37
|
-
InputAttributeValue:
|
|
38
|
-
type: Object
|
|
39
|
-
properties:
|
|
40
|
-
attribute_id:
|
|
41
|
-
type: Integer
|
|
42
|
-
desc: "A unique identifier for the attribute."
|
|
43
|
-
quantity_dec?:
|
|
44
|
-
type: Decimal
|
|
45
|
-
desc: "The value for the metadata, if it is of numeric type"
|
|
46
|
-
quantity_json?:
|
|
47
|
-
type: JsonValue
|
|
48
|
-
desc: "The value for the metadata, if it is not of numeric type"
|
|
49
|
-
|
|
50
37
|
InputSimple:
|
|
51
38
|
type: Object
|
|
52
39
|
properties:
|
|
53
40
|
input_id:
|
|
54
|
-
type:
|
|
41
|
+
type: ObjectId
|
|
55
42
|
desc: "A unique identifier for the id"
|
|
56
43
|
|
|
57
44
|
Data:
|
|
@@ -9,39 +9,26 @@ Arguments:
|
|
|
9
9
|
type: Object
|
|
10
10
|
properties:
|
|
11
11
|
material_family_id:
|
|
12
|
-
type:
|
|
12
|
+
type: ObjectId
|
|
13
13
|
desc: "The material family ID to get the input values from."
|
|
14
14
|
input_ids:
|
|
15
|
-
type: Optional<List<
|
|
15
|
+
type: Optional<List<ObjectId>>
|
|
16
16
|
desc: "The input IDs to get the data from. If this is not filled in, all inputs from a material family will be returned (in paginated form)."
|
|
17
|
-
offset
|
|
17
|
+
offset?:
|
|
18
18
|
type: Optional<Integer>
|
|
19
19
|
desc: "Used for pagination, where the number of results returned exceeds the limit. Results are always ordered by the input ID"
|
|
20
20
|
is_parameter:
|
|
21
21
|
type: Optional<Boolean>
|
|
22
22
|
desc: "Whether to get parameters or ingredients. By default both are returned. When set to true, only parameters are returned, and when set to false, only ingredients are returned"
|
|
23
|
-
limit
|
|
23
|
+
limit?:
|
|
24
24
|
type: Optional<Integer>
|
|
25
25
|
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"
|
|
26
26
|
|
|
27
|
-
InputAttrVal:
|
|
28
|
-
type: Object
|
|
29
|
-
properties:
|
|
30
|
-
attribute_id:
|
|
31
|
-
type: Integer
|
|
32
|
-
desc: "The unique integer ID for the input attribute value. Used for joining and identification elsewhere."
|
|
33
|
-
quantity_dec:
|
|
34
|
-
type: Decimal
|
|
35
|
-
desc: "The value for the attribute, if it is of numeric type"
|
|
36
|
-
quantity_json:
|
|
37
|
-
type: JsonValue
|
|
38
|
-
desc: "The value for the attribute, if it is not of numeric type"
|
|
39
|
-
|
|
40
27
|
SimpleInputAttr:
|
|
41
28
|
type: Object
|
|
42
29
|
properties:
|
|
43
30
|
attribute_id:
|
|
44
|
-
type:
|
|
31
|
+
type: ObjectId
|
|
45
32
|
desc: "The unique integer ID for the input attribute value. Used for joining and identification elsewhere."
|
|
46
33
|
name:
|
|
47
34
|
type: String
|
|
@@ -54,7 +41,7 @@ SimpleInputGlobalCategory:
|
|
|
54
41
|
type: Object
|
|
55
42
|
properties:
|
|
56
43
|
category_id:
|
|
57
|
-
type:
|
|
44
|
+
type: ObjectId
|
|
58
45
|
desc: "The unique integer ID for the global category. Used for joining and identification elsewhere."
|
|
59
46
|
name:
|
|
60
47
|
type: String
|
|
@@ -64,7 +51,7 @@ SimpleInputSubcategory:
|
|
|
64
51
|
type: Object
|
|
65
52
|
properties:
|
|
66
53
|
subcategory_id:
|
|
67
|
-
type:
|
|
54
|
+
type: ObjectId
|
|
68
55
|
desc: "The unique integer ID for the subcategory. Used for joining and identification elsewhere."
|
|
69
56
|
name:
|
|
70
57
|
type: String
|
|
@@ -74,7 +61,7 @@ FullInput:
|
|
|
74
61
|
type: Object
|
|
75
62
|
properties:
|
|
76
63
|
input_id:
|
|
77
|
-
type:
|
|
64
|
+
type: ObjectId
|
|
78
65
|
desc: "The unique integer ID of the input value. Used for joining and identification elsewhere"
|
|
79
66
|
name:
|
|
80
67
|
type: String
|
|
@@ -86,13 +73,13 @@ FullInput:
|
|
|
86
73
|
type: Boolean
|
|
87
74
|
desc: "Whether the input is a process parameter (true) or an ingredient (false)"
|
|
88
75
|
attributes:
|
|
89
|
-
type: List<
|
|
76
|
+
type: List<input_attributes.InputAttributeValue>
|
|
90
77
|
desc: "Attributes associated with an input, such as CAS number, density, etc."
|
|
91
78
|
global_category_id:
|
|
92
|
-
type:
|
|
79
|
+
type: Optional<ObjectId>
|
|
93
80
|
desc: "The global category ID associated with the input"
|
|
94
81
|
subcategory_ids:
|
|
95
|
-
type: List<
|
|
82
|
+
type: List<ObjectId>
|
|
96
83
|
desc: "The subcategory IDs associated with an input. Inputs can be placed into an unlimited number of subcategories"
|
|
97
84
|
|
|
98
85
|
Data:
|
|
@@ -9,15 +9,15 @@ Arguments:
|
|
|
9
9
|
type: Object
|
|
10
10
|
properties:
|
|
11
11
|
material_family_id:
|
|
12
|
-
type:
|
|
12
|
+
type: ObjectId
|
|
13
13
|
desc: "The material family ID to get the input values from"
|
|
14
|
-
offset
|
|
14
|
+
offset?:
|
|
15
15
|
type: Optional<Integer>
|
|
16
16
|
desc: "Used for pagination, where the number of results returned exceeds the limit. Results are always ordered by the input ID"
|
|
17
17
|
is_parameter:
|
|
18
18
|
type: Optional<Boolean>
|
|
19
19
|
desc: "Whether to get parameters or ingredients. By default both are returned. When set to true, only parameters are returned, and when set to false, only ingredients are returned"
|
|
20
|
-
limit
|
|
20
|
+
limit?:
|
|
21
21
|
type: Optional<Integer>
|
|
22
22
|
desc: "The maximum number of results to return. By default this is set to 20,000 and it cannot be set higher than 20,000"
|
|
23
23
|
|
|
@@ -25,7 +25,7 @@ InputWithName:
|
|
|
25
25
|
type: Object
|
|
26
26
|
properties:
|
|
27
27
|
input_id:
|
|
28
|
-
type:
|
|
28
|
+
type: ObjectId
|
|
29
29
|
desc: "The unique integer ID of the input value. Used for joining and identification elsewhere"
|
|
30
30
|
name:
|
|
31
31
|
type: String
|