flywheel-sdk 21.2.0rc0__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.
- flywheel/__init__.py +784 -0
- flywheel/api/__init__.py +46 -0
- flywheel/api/acquisitions_api.py +5014 -0
- flywheel/api/analyses_api.py +3848 -0
- flywheel/api/audit_trail_api.py +568 -0
- flywheel/api/auth_api.py +121 -0
- flywheel/api/batch_api.py +630 -0
- flywheel/api/bulk_api.py +140 -0
- flywheel/api/change_log_api.py +254 -0
- flywheel/api/collections_api.py +3913 -0
- flywheel/api/config_api.py +299 -0
- flywheel/api/container_tasks_api.py +137 -0
- flywheel/api/container_type_api.py +137 -0
- flywheel/api/containers_api.py +4784 -0
- flywheel/api/custom_filters_api.py +466 -0
- flywheel/api/data_view_executions_api.py +549 -0
- flywheel/api/dataexplorer_api.py +1192 -0
- flywheel/api/devices_api.py +1071 -0
- flywheel/api/dimse_api.py +814 -0
- flywheel/api/download_api.py +261 -0
- flywheel/api/files_api.py +1868 -0
- flywheel/api/form_responses_api.py +703 -0
- flywheel/api/gears_api.py +1875 -0
- flywheel/api/groups_api.py +2829 -0
- flywheel/api/jobs_api.py +2320 -0
- flywheel/api/jupyterlab_servers_api.py +245 -0
- flywheel/api/modalities_api.py +562 -0
- flywheel/api/packfiles_api.py +121 -0
- flywheel/api/projects_api.py +7820 -0
- flywheel/api/protocols_api.py +757 -0
- flywheel/api/reports_api.py +1057 -0
- flywheel/api/resolve_api.py +276 -0
- flywheel/api/roles_api.py +563 -0
- flywheel/api/sessions_api.py +5296 -0
- flywheel/api/site_api.py +1552 -0
- flywheel/api/staffing_pools_api.py +677 -0
- flywheel/api/subjects_api.py +5349 -0
- flywheel/api/tasks_api.py +897 -0
- flywheel/api/tree_api.py +266 -0
- flywheel/api/uids_api.py +140 -0
- flywheel/api/upload_api.py +842 -0
- flywheel/api/users_api.py +2142 -0
- flywheel/api/views_api.py +1089 -0
- flywheel/api_client.py +748 -0
- flywheel/client.py +291 -0
- flywheel/configuration.py +308 -0
- flywheel/drone_login.py +65 -0
- flywheel/file_spec.py +67 -0
- flywheel/finder.py +168 -0
- flywheel/flywheel.py +9867 -0
- flywheel/gear_context.py +374 -0
- flywheel/models/__init__.py +726 -0
- flywheel/models/access_level.py +30 -0
- flywheel/models/access_permission.py +197 -0
- flywheel/models/access_permission_output.py +192 -0
- flywheel/models/access_permission_update.py +166 -0
- flywheel/models/access_type.py +54 -0
- flywheel/models/accumulator.py +33 -0
- flywheel/models/acquisition.py +25 -0
- flywheel/models/acquisition_container_output.py +34 -0
- flywheel/models/acquisition_copy_input.py +223 -0
- flywheel/models/acquisition_input.py +297 -0
- flywheel/models/acquisition_list_output.py +767 -0
- flywheel/models/acquisition_modify_input.py +299 -0
- flywheel/models/acquisition_node.py +35 -0
- flywheel/models/acquisition_output.py +767 -0
- flywheel/models/acquisition_parents.py +241 -0
- flywheel/models/acquisition_template_options.py +275 -0
- flywheel/models/acquisition_upsert_input.py +383 -0
- flywheel/models/acquisition_upsert_output.py +243 -0
- flywheel/models/action.py +91 -0
- flywheel/models/adhoc_analysis_input.py +247 -0
- flywheel/models/analysis.py +25 -0
- flywheel/models/analysis_container_output.py +34 -0
- flywheel/models/analysis_files_create_ticket_output.py +241 -0
- flywheel/models/analysis_input.py +310 -0
- flywheel/models/analysis_input_legacy.py +25 -0
- flywheel/models/analysis_list_output.py +680 -0
- flywheel/models/analysis_list_output_inflated_job.py +650 -0
- flywheel/models/analysis_modify_input.py +191 -0
- flywheel/models/analysis_node.py +35 -0
- flywheel/models/analysis_output.py +683 -0
- flywheel/models/analysis_output_inflated_job.py +674 -0
- flywheel/models/analysis_parents.py +270 -0
- flywheel/models/analysis_update.py +25 -0
- flywheel/models/api_key_input_with_optional_label.py +191 -0
- flywheel/models/api_key_output.py +297 -0
- flywheel/models/as_storage.py +298 -0
- flywheel/models/assignee.py +192 -0
- flywheel/models/assignee_type.py +29 -0
- flywheel/models/audit_trail_report.py +486 -0
- flywheel/models/audit_trail_report_status.py +32 -0
- flywheel/models/auth0_auth_out.py +323 -0
- flywheel/models/auth0_options_out.py +319 -0
- flywheel/models/auth_out.py +357 -0
- flywheel/models/auth_session_output.py +272 -0
- flywheel/models/avatars.py +218 -0
- flywheel/models/aws_creds.py +191 -0
- flywheel/models/aws_storage.py +354 -0
- flywheel/models/azure_creds.py +190 -0
- flywheel/models/base_aet.py +245 -0
- flywheel/models/base_compute.py +426 -0
- flywheel/models/batch.py +360 -0
- flywheel/models/batch_cancel_output.py +36 -0
- flywheel/models/batch_create_filters.py +220 -0
- flywheel/models/batch_job_analysis_input.py +281 -0
- flywheel/models/batch_jobs_proposal_input.py +36 -0
- flywheel/models/batch_proposal.py +25 -0
- flywheel/models/batch_proposal_detail.py +36 -0
- flywheel/models/batch_proposal_input.py +25 -0
- flywheel/models/body.py +36 -0
- flywheel/models/body_regenerate_key_api_devices_device_id_key_post.py +25 -0
- flywheel/models/body_region.py +46 -0
- flywheel/models/bookmark.py +189 -0
- flywheel/models/bulk_move_input.py +272 -0
- flywheel/models/bulk_move_sessions.py +25 -0
- flywheel/models/callbacks_virus_scan_input.py +36 -0
- flywheel/models/cancelled_batch_output.py +163 -0
- flywheel/models/catalog_list_output.py +407 -0
- flywheel/models/central_out.py +299 -0
- flywheel/models/change.py +379 -0
- flywheel/models/change_log_container_type.py +38 -0
- flywheel/models/change_log_document.py +245 -0
- flywheel/models/change_method.py +33 -0
- flywheel/models/classic_batch_job_output.py +352 -0
- flywheel/models/classic_batch_job_output_inflated_jobs.py +379 -0
- flywheel/models/classic_batch_proposal_input.py +388 -0
- flywheel/models/classic_batch_proposal_output.py +471 -0
- flywheel/models/classification_add_delete.py +36 -0
- flywheel/models/classification_replace.py +36 -0
- flywheel/models/classification_update_input.py +36 -0
- flywheel/models/cohort.py +29 -0
- flywheel/models/collection.py +25 -0
- flywheel/models/collection_container_output.py +32 -0
- flywheel/models/collection_input.py +217 -0
- flywheel/models/collection_input_with_contents.py +248 -0
- flywheel/models/collection_node.py +192 -0
- flywheel/models/collection_node_level.py +31 -0
- flywheel/models/collection_operation.py +193 -0
- flywheel/models/collection_operation_type.py +29 -0
- flywheel/models/collection_output.py +639 -0
- flywheel/models/collection_with_stats.py +637 -0
- flywheel/models/column.py +286 -0
- flywheel/models/column_type.py +32 -0
- flywheel/models/common_classification.py +135 -0
- flywheel/models/common_deleted_count.py +25 -0
- flywheel/models/common_editions.py +25 -0
- flywheel/models/common_info.py +135 -0
- flywheel/models/common_join_origins.py +25 -0
- flywheel/models/common_key.py +36 -0
- flywheel/models/common_modified_count.py +25 -0
- flywheel/models/common_object_created.py +36 -0
- flywheel/models/common_project_settings.py +25 -0
- flywheel/models/common_settings.py +36 -0
- flywheel/models/complete_multipart_upload_output.py +189 -0
- flywheel/models/complete_s3_multipart_upload_input.py +241 -0
- flywheel/models/config_feature_map.py +36 -0
- flywheel/models/config_out.py +381 -0
- flywheel/models/config_output.py +36 -0
- flywheel/models/config_site_config_output.py +36 -0
- flywheel/models/config_site_settings.py +36 -0
- flywheel/models/config_site_settings_input.py +36 -0
- flywheel/models/conflict_types.py +30 -0
- flywheel/models/container_delete_reason.py +39 -0
- flywheel/models/container_filter.py +193 -0
- flywheel/models/container_id_view_input.py +521 -0
- flywheel/models/container_id_view_input_execute_and_save.py +308 -0
- flywheel/models/container_modify.py +536 -0
- flywheel/models/container_new_output.py +25 -0
- flywheel/models/container_node_min.py +350 -0
- flywheel/models/container_output.py +36 -0
- flywheel/models/container_output_with_files.py +283 -0
- flywheel/models/container_parents.py +311 -0
- flywheel/models/container_pipeline_input.py +536 -0
- flywheel/models/container_project_parents.py +25 -0
- flywheel/models/container_reference.py +193 -0
- flywheel/models/container_reference_with_label.py +219 -0
- flywheel/models/container_session_parents.py +25 -0
- flywheel/models/container_subject_parents.py +25 -0
- flywheel/models/container_type.py +39 -0
- flywheel/models/container_uidcheck.py +253 -0
- flywheel/models/container_update.py +135 -0
- flywheel/models/context_input.py +217 -0
- flywheel/models/copy_filter.py +299 -0
- flywheel/models/copy_status.py +32 -0
- flywheel/models/core_models_api_key_api_key_input.py +190 -0
- flywheel/models/core_models_audit_trail_create_report_input.py +273 -0
- flywheel/models/core_models_audit_trail_modify_report_input.py +167 -0
- flywheel/models/core_models_common_source.py +189 -0
- flywheel/models/core_models_jobs_api_key_input.py +191 -0
- flywheel/models/core_models_search_parent_type.py +33 -0
- flywheel/models/core_workflows_form_responses_models_form_parents.py +163 -0
- flywheel/models/core_workflows_form_responses_models_form_response_output.py +440 -0
- flywheel/models/core_workflows_reader_models_reader_task_parents.py +295 -0
- flywheel/models/creds.py +135 -0
- flywheel/models/curator.py +221 -0
- flywheel/models/current_user_output.py +707 -0
- flywheel/models/custom_field.py +437 -0
- flywheel/models/custom_form.py +244 -0
- flywheel/models/cvat_info.py +275 -0
- flywheel/models/cvat_settings.py +272 -0
- flywheel/models/cvat_settings_input.py +272 -0
- flywheel/models/cvat_sync_state.py +30 -0
- flywheel/models/daily_report_usage.py +565 -0
- flywheel/models/data_strategy.py +29 -0
- flywheel/models/data_view.py +25 -0
- flywheel/models/data_view_analysis_file_spec.py +221 -0
- flywheel/models/data_view_analysis_filter_spec.py +221 -0
- flywheel/models/data_view_column_alias.py +337 -0
- flywheel/models/data_view_column_spec.py +286 -0
- flywheel/models/data_view_execution.py +505 -0
- flywheel/models/data_view_execution_state.py +31 -0
- flywheel/models/data_view_file_spec.py +392 -0
- flywheel/models/data_view_group_by.py +166 -0
- flywheel/models/data_view_group_by_column.py +194 -0
- flywheel/models/data_view_name_filter_spec.py +194 -0
- flywheel/models/data_view_output.py +25 -0
- flywheel/models/data_view_save_data_view_input.py +25 -0
- flywheel/models/data_view_zip_filter_spec.py +223 -0
- flywheel/models/default_flywheel_role.py +30 -0
- flywheel/models/deid_log_skip_reason.py +29 -0
- flywheel/models/delete_by_search_query.py +253 -0
- flywheel/models/deleted_file.py +514 -0
- flywheel/models/deleted_result.py +194 -0
- flywheel/models/deprecated_action.py +29 -0
- flywheel/models/destination_container_type.py +30 -0
- flywheel/models/device.py +437 -0
- flywheel/models/device_admin_update.py +194 -0
- flywheel/models/device_create.py +219 -0
- flywheel/models/device_self_update.py +272 -0
- flywheel/models/device_status.py +36 -0
- flywheel/models/device_status_entry.py +221 -0
- flywheel/models/device_storage_strategy_update.py +193 -0
- flywheel/models/dimse_project_input.py +36 -0
- flywheel/models/dimse_project_output.py +36 -0
- flywheel/models/dimse_service_input.py +36 -0
- flywheel/models/dimse_service_output.py +36 -0
- flywheel/models/download.py +249 -0
- flywheel/models/download_container_filter.py +167 -0
- flywheel/models/download_container_filter_definition.py +222 -0
- flywheel/models/download_filter.py +221 -0
- flywheel/models/download_filter_definition.py +195 -0
- flywheel/models/download_format.py +29 -0
- flywheel/models/download_input.py +25 -0
- flywheel/models/download_node.py +189 -0
- flywheel/models/download_strategy.py +31 -0
- flywheel/models/download_ticket.py +36 -0
- flywheel/models/download_ticket_stub.py +249 -0
- flywheel/models/download_ticket_with_summary.py +36 -0
- flywheel/models/e_signature.py +242 -0
- flywheel/models/edition.py +169 -0
- flywheel/models/egress_device.py +597 -0
- flywheel/models/egress_device_page.py +219 -0
- flywheel/models/egress_provider.py +408 -0
- flywheel/models/egress_provider_id.py +164 -0
- flywheel/models/exchange_storage.py +243 -0
- flywheel/models/executor_info.py +353 -0
- flywheel/models/export_templates.py +195 -0
- flywheel/models/features.py +1838 -0
- flywheel/models/field_change.py +271 -0
- flywheel/models/field_change_log_document.py +245 -0
- flywheel/models/field_type.py +37 -0
- flywheel/models/file.py +1139 -0
- flywheel/models/file_classification_delta.py +245 -0
- flywheel/models/file_container_type.py +34 -0
- flywheel/models/file_entry.py +740 -0
- flywheel/models/file_export_templates.py +272 -0
- flywheel/models/file_format.py +33 -0
- flywheel/models/file_gear_info.py +215 -0
- flywheel/models/file_group.py +29 -0
- flywheel/models/file_list_output.py +1115 -0
- flywheel/models/file_modify_input.py +191 -0
- flywheel/models/file_move_input.py +221 -0
- flywheel/models/file_node.py +1138 -0
- flywheel/models/file_node_min.py +321 -0
- flywheel/models/file_origin.py +283 -0
- flywheel/models/file_output.py +1135 -0
- flywheel/models/file_parents.py +297 -0
- flywheel/models/file_reference.py +221 -0
- flywheel/models/file_suggestion.py +241 -0
- flywheel/models/file_template_options.py +299 -0
- flywheel/models/file_upsert_input.py +612 -0
- flywheel/models/file_upsert_origin.py +36 -0
- flywheel/models/file_upsert_output.py +1154 -0
- flywheel/models/file_version.py +190 -0
- flywheel/models/file_version_copy_of.py +273 -0
- flywheel/models/file_version_output.py +325 -0
- flywheel/models/file_via.py +245 -0
- flywheel/models/file_zip_entry.py +25 -0
- flywheel/models/file_zip_info.py +25 -0
- flywheel/models/filter.py +350 -0
- flywheel/models/filter_input.py +218 -0
- flywheel/models/filter_values.py +195 -0
- flywheel/models/filter_view.py +28 -0
- flywheel/models/fixed_file_version_input.py +216 -0
- flywheel/models/fixed_input.py +299 -0
- flywheel/models/form_definition.py +163 -0
- flywheel/models/form_response_base.py +311 -0
- flywheel/models/form_response_create.py +193 -0
- flywheel/models/gcp_creds.py +397 -0
- flywheel/models/gcp_storage.py +298 -0
- flywheel/models/gear.py +619 -0
- flywheel/models/gear_category.py +32 -0
- flywheel/models/gear_config.py +138 -0
- flywheel/models/gear_context_input.py +164 -0
- flywheel/models/gear_context_lookup.py +25 -0
- flywheel/models/gear_context_lookup_item.py +36 -0
- flywheel/models/gear_context_value_output.py +272 -0
- flywheel/models/gear_context_value_output_unfound.py +164 -0
- flywheel/models/gear_custom.py +135 -0
- flywheel/models/gear_directive.py +135 -0
- flywheel/models/gear_doc.py +25 -0
- flywheel/models/gear_document.py +332 -0
- flywheel/models/gear_document_input.py +303 -0
- flywheel/models/gear_document_legacy_input.py +302 -0
- flywheel/models/gear_environment.py +135 -0
- flywheel/models/gear_exchange.py +221 -0
- flywheel/models/gear_file_input.py +192 -0
- flywheel/models/gear_id_output.py +170 -0
- flywheel/models/gear_info.py +251 -0
- flywheel/models/gear_input_item.py +231 -0
- flywheel/models/gear_inputs.py +140 -0
- flywheel/models/gear_invocation.py +138 -0
- flywheel/models/gear_key_input.py +191 -0
- flywheel/models/gear_manifest.py +624 -0
- flywheel/models/gear_mixin.py +218 -0
- flywheel/models/gear_node.py +355 -0
- flywheel/models/gear_output_configuration.py +164 -0
- flywheel/models/gear_permissions.py +191 -0
- flywheel/models/gear_permissions_input.py +163 -0
- flywheel/models/gear_permissions_type.py +29 -0
- flywheel/models/gear_return_ticket.py +25 -0
- flywheel/models/gear_rule.py +653 -0
- flywheel/models/gear_rule_condition.py +219 -0
- flywheel/models/gear_rule_condition_type.py +37 -0
- flywheel/models/gear_rule_input.py +517 -0
- flywheel/models/gear_rule_modify_input.py +492 -0
- flywheel/models/gear_rule_output.py +652 -0
- flywheel/models/gear_save_submission.py +221 -0
- flywheel/models/gear_series.py +298 -0
- flywheel/models/gear_series_update.py +163 -0
- flywheel/models/gear_suggestion_output.py +301 -0
- flywheel/models/gear_ticket.py +245 -0
- flywheel/models/gear_ticket_output.py +163 -0
- flywheel/models/google_auth_out.py +299 -0
- flywheel/models/graph_filter.py +329 -0
- flywheel/models/group.py +25 -0
- flywheel/models/group_by.py +163 -0
- flywheel/models/group_by_column.py +36 -0
- flywheel/models/group_container_output.py +33 -0
- flywheel/models/group_input.py +248 -0
- flywheel/models/group_metadata_input.py +36 -0
- flywheel/models/group_node.py +34 -0
- flywheel/models/group_output.py +471 -0
- flywheel/models/group_report.py +218 -0
- flywheel/models/group_role.py +163 -0
- flywheel/models/group_settings_output.py +249 -0
- flywheel/models/group_update.py +249 -0
- flywheel/models/header_feature.py +37 -0
- flywheel/models/hierarchy_export_templates.py +272 -0
- flywheel/models/http_validation_error.py +167 -0
- flywheel/models/info.py +218 -0
- flywheel/models/info_add_remove.py +36 -0
- flywheel/models/info_container_type.py +35 -0
- flywheel/models/info_replace.py +36 -0
- flywheel/models/info_update_input.py +36 -0
- flywheel/models/ingress_provider.py +299 -0
- flywheel/models/ingress_providers.py +272 -0
- flywheel/models/ingress_site_settings.py +305 -0
- flywheel/models/ingress_update_provider.py +218 -0
- flywheel/models/inline_response200.py +163 -0
- flywheel/models/inline_response2001.py +171 -0
- flywheel/models/inline_response2002.py +163 -0
- flywheel/models/inline_response2003.py +36 -0
- flywheel/models/inline_response2005.py +25 -0
- flywheel/models/input_filter.py +221 -0
- flywheel/models/input_job.py +521 -0
- flywheel/models/input_job_profile.py +275 -0
- flywheel/models/inserted_id.py +163 -0
- flywheel/models/job.py +841 -0
- flywheel/models/job_analysis_input.py +273 -0
- flywheel/models/job_ask.py +301 -0
- flywheel/models/job_ask_response.py +195 -0
- flywheel/models/job_ask_response_job.py +978 -0
- flywheel/models/job_ask_return.py +25 -0
- flywheel/models/job_ask_return_criteria.py +245 -0
- flywheel/models/job_ask_state.py +25 -0
- flywheel/models/job_ask_state_response.py +163 -0
- flywheel/models/job_complete.py +220 -0
- flywheel/models/job_completion_input.py +25 -0
- flywheel/models/job_completion_ticket.py +25 -0
- flywheel/models/job_config.py +135 -0
- flywheel/models/job_config_input.py +272 -0
- flywheel/models/job_config_inputs.py +25 -0
- flywheel/models/job_config_output.py +25 -0
- flywheel/models/job_container_detail.py +25 -0
- flywheel/models/job_destination.py +189 -0
- flywheel/models/job_detail.py +925 -0
- flywheel/models/job_detail_container.py +190 -0
- flywheel/models/job_detail_file_entry.py +194 -0
- flywheel/models/job_detail_group.py +190 -0
- flywheel/models/job_detail_parent_info.py +303 -0
- flywheel/models/job_executor_info.py +369 -0
- flywheel/models/job_file_input.py +247 -0
- flywheel/models/job_file_input_list_output.py +247 -0
- flywheel/models/job_file_object.py +435 -0
- flywheel/models/job_file_object_list_output.py +407 -0
- flywheel/models/job_gear_match.py +25 -0
- flywheel/models/job_inputs_array_item.py +305 -0
- flywheel/models/job_inputs_item.py +242 -0
- flywheel/models/job_inputs_object.py +138 -0
- flywheel/models/job_list_entry.py +25 -0
- flywheel/models/job_list_output.py +979 -0
- flywheel/models/job_list_output_config.py +220 -0
- flywheel/models/job_log.py +189 -0
- flywheel/models/job_log_column.py +40 -0
- flywheel/models/job_log_record.py +192 -0
- flywheel/models/job_modify.py +193 -0
- flywheel/models/job_origin.py +190 -0
- flywheel/models/job_output.py +1005 -0
- flywheel/models/job_output_config.py +247 -0
- flywheel/models/job_parents.py +297 -0
- flywheel/models/job_priority.py +31 -0
- flywheel/models/job_priority_update.py +192 -0
- flywheel/models/job_profile.py +427 -0
- flywheel/models/job_profile_input.py +25 -0
- flywheel/models/job_request.py +221 -0
- flywheel/models/job_request_item.py +246 -0
- flywheel/models/job_request_item_type.py +31 -0
- flywheel/models/job_request_target.py +270 -0
- flywheel/models/job_state.py +32 -0
- flywheel/models/job_state_counts.py +25 -0
- flywheel/models/job_stats_by_state.py +25 -0
- flywheel/models/job_ticket_output.py +165 -0
- flywheel/models/job_transition_times.py +253 -0
- flywheel/models/job_version_info.py +135 -0
- flywheel/models/jobs_by_state.py +272 -0
- flywheel/models/jobs_list.py +166 -0
- flywheel/models/join_origin_device.py +164 -0
- flywheel/models/join_origin_job.py +219 -0
- flywheel/models/join_origin_user.py +189 -0
- flywheel/models/join_origins.py +223 -0
- flywheel/models/join_type.py +28 -0
- flywheel/models/jupyterhub_workspace.py +163 -0
- flywheel/models/jupyterlab_server_modify.py +275 -0
- flywheel/models/jupyterlab_server_origin.py +25 -0
- flywheel/models/jupyterlab_server_output.py +25 -0
- flywheel/models/jupyterlab_server_response.py +415 -0
- flywheel/models/jupyterlab_server_update.py +25 -0
- flywheel/models/ldap_sync.py +36 -0
- flywheel/models/ldap_sync_config.py +163 -0
- flywheel/models/ldap_sync_input.py +36 -0
- flywheel/models/ldap_sync_status.py +250 -0
- flywheel/models/legacy_api_key_output.py +271 -0
- flywheel/models/legacy_input.py +244 -0
- flywheel/models/legacy_usage_report.py +309 -0
- flywheel/models/legacys_usage_project_entry.py +194 -0
- flywheel/models/libs_workflows_models_parent_type.py +33 -0
- flywheel/models/libs_workflows_models_task_status.py +32 -0
- flywheel/models/local_storage.py +217 -0
- flywheel/models/location.py +189 -0
- flywheel/models/locked.py +219 -0
- flywheel/models/master_subject_code_dob_input.py +279 -0
- flywheel/models/master_subject_code_input.py +281 -0
- flywheel/models/master_subject_code_output.py +166 -0
- flywheel/models/matched_acquisition_output.py +518 -0
- flywheel/models/mfa_channel.py +30 -0
- flywheel/models/mfa_settings.py +167 -0
- flywheel/models/mixins.py +794 -0
- flywheel/models/ml_set_filter.py +194 -0
- flywheel/models/ml_type.py +30 -0
- flywheel/models/modality.py +250 -0
- flywheel/models/modality_input.py +244 -0
- flywheel/models/modality_modify.py +218 -0
- flywheel/models/modality_output.py +271 -0
- flywheel/models/modified_result.py +190 -0
- flywheel/models/modify_user_input.py +466 -0
- flywheel/models/move_conflict.py +300 -0
- flywheel/models/note.py +391 -0
- flywheel/models/note_input.py +165 -0
- flywheel/models/optional_input_policy.py +30 -0
- flywheel/models/order.py +29 -0
- flywheel/models/organ_system.py +64 -0
- flywheel/models/origin.py +193 -0
- flywheel/models/origin_type.py +35 -0
- flywheel/models/orphaned_count.py +163 -0
- flywheel/models/output_user_page.py +219 -0
- flywheel/models/packfile_cleanup_output.py +166 -0
- flywheel/models/packfile_removed_output.py +189 -0
- flywheel/models/page.py +216 -0
- flywheel/models/page_generic_file_output.py +219 -0
- flywheel/models/page_generic_filter.py +219 -0
- flywheel/models/page_generic_form_response_output.py +219 -0
- flywheel/models/page_generic_protocol.py +244 -0
- flywheel/models/page_generic_reader_task_output.py +244 -0
- flywheel/models/page_generic_staffing_pool.py +244 -0
- flywheel/models/parsed_query_response.py +194 -0
- flywheel/models/permission_access_permission.py +25 -0
- flywheel/models/premade_jobs_batch_job_output.py +298 -0
- flywheel/models/premade_jobs_batch_job_output_inflated_jobs.py +299 -0
- flywheel/models/premade_jobs_batch_proposal.py +334 -0
- flywheel/models/premade_jobs_batch_proposal_detail.py +166 -0
- flywheel/models/premade_jobs_batch_proposal_input.py +166 -0
- flywheel/models/project.py +25 -0
- flywheel/models/project_acquisition_upsert_input.py +25 -0
- flywheel/models/project_acquisition_upsert_output.py +25 -0
- flywheel/models/project_aet.py +331 -0
- flywheel/models/project_aet_input.py +248 -0
- flywheel/models/project_catalog_list_output.py +25 -0
- flywheel/models/project_contact.py +194 -0
- flywheel/models/project_container_output.py +41 -0
- flywheel/models/project_copy_input.py +245 -0
- flywheel/models/project_copy_output.py +215 -0
- flywheel/models/project_counters.py +346 -0
- flywheel/models/project_hierarchy_input.py +278 -0
- flywheel/models/project_hierarchy_output.py +222 -0
- flywheel/models/project_hierarchy_upsert_input.py +25 -0
- flywheel/models/project_hierarchy_upsert_output.py +25 -0
- flywheel/models/project_input.py +384 -0
- flywheel/models/project_institution.py +194 -0
- flywheel/models/project_list_output.py +897 -0
- flywheel/models/project_locking_reason.py +32 -0
- flywheel/models/project_modify.py +413 -0
- flywheel/models/project_node.py +42 -0
- flywheel/models/project_output.py +899 -0
- flywheel/models/project_parents.py +168 -0
- flywheel/models/project_report.py +463 -0
- flywheel/models/project_report_list.py +167 -0
- flywheel/models/project_session_upsert_input.py +25 -0
- flywheel/models/project_session_upsert_output.py +25 -0
- flywheel/models/project_settings_input.py +333 -0
- flywheel/models/project_settings_output.py +333 -0
- flywheel/models/project_settings_sharing.py +327 -0
- flywheel/models/project_settings_sharing_input.py +334 -0
- flywheel/models/project_settings_workspaces.py +167 -0
- flywheel/models/project_settings_workspaces_input.py +167 -0
- flywheel/models/project_share_level.py +29 -0
- flywheel/models/project_sharing_settings_project_contact.py +25 -0
- flywheel/models/project_sharing_settings_project_counters.py +36 -0
- flywheel/models/project_sharing_settings_project_institution.py +25 -0
- flywheel/models/project_sharing_settings_project_settings_input.py +25 -0
- flywheel/models/project_sharing_settings_project_settings_output.py +25 -0
- flywheel/models/project_sharing_settings_project_settings_sharing.py +25 -0
- flywheel/models/project_sharing_settings_project_settings_sharing_input.py +25 -0
- flywheel/models/project_sharing_settings_project_stats.py +36 -0
- flywheel/models/project_stats.py +270 -0
- flywheel/models/project_subject_upsert_input.py +25 -0
- flywheel/models/project_subject_upsert_output.py +25 -0
- flywheel/models/project_template.py +195 -0
- flywheel/models/project_template_input.py +195 -0
- flywheel/models/project_template_list_input.py +166 -0
- flywheel/models/project_template_requirement.py +36 -0
- flywheel/models/project_template_session_template.py +36 -0
- flywheel/models/project_upsert_origin.py +36 -0
- flywheel/models/protocol.py +515 -0
- flywheel/models/protocol_e_signature_config.py +191 -0
- flywheel/models/protocol_input.py +354 -0
- flywheel/models/protocol_modify.py +277 -0
- flywheel/models/protocol_status.py +30 -0
- flywheel/models/provider.py +461 -0
- flywheel/models/provider_access_type.py +29 -0
- flywheel/models/provider_class.py +29 -0
- flywheel/models/provider_deletion_status.py +189 -0
- flywheel/models/provider_input.py +25 -0
- flywheel/models/provider_links.py +282 -0
- flywheel/models/provider_type.py +34 -0
- flywheel/models/providers.py +277 -0
- flywheel/models/reader_batch_create.py +463 -0
- flywheel/models/reader_task.py +725 -0
- flywheel/models/reader_task_config.py +189 -0
- flywheel/models/reader_task_create.py +543 -0
- flywheel/models/reader_task_modify.py +303 -0
- flywheel/models/reader_task_output.py +752 -0
- flywheel/models/reader_task_parent_details.py +322 -0
- flywheel/models/report_access_log_context.py +301 -0
- flywheel/models/report_access_log_context_entry.py +194 -0
- flywheel/models/report_access_log_context_file_entry.py +165 -0
- flywheel/models/report_access_log_entry.py +624 -0
- flywheel/models/report_access_log_origin.py +194 -0
- flywheel/models/report_availability_list.py +167 -0
- flywheel/models/report_daily_usage_entry.py +501 -0
- flywheel/models/report_demographics_grid.py +36 -0
- flywheel/models/report_ethnicity_grid.py +252 -0
- flywheel/models/report_gender_count.py +222 -0
- flywheel/models/report_group_report.py +217 -0
- flywheel/models/report_legacy_usage_entry.py +36 -0
- flywheel/models/report_legacy_usage_project_entry.py +36 -0
- flywheel/models/report_project.py +25 -0
- flywheel/models/report_site.py +192 -0
- flywheel/models/report_time_period.py +193 -0
- flywheel/models/report_usage.py +630 -0
- flywheel/models/report_usage_entry.py +25 -0
- flywheel/models/resolve_input.py +163 -0
- flywheel/models/resolve_output.py +194 -0
- flywheel/models/resolver_acquisition_node.py +36 -0
- flywheel/models/resolver_analysis_node.py +36 -0
- flywheel/models/resolver_file_node.py +36 -0
- flywheel/models/resolver_gear_node.py +36 -0
- flywheel/models/resolver_group_node.py +36 -0
- flywheel/models/resolver_input.py +25 -0
- flywheel/models/resolver_node.py +182 -0
- flywheel/models/resolver_output.py +25 -0
- flywheel/models/resolver_project_node.py +36 -0
- flywheel/models/resolver_session_node.py +36 -0
- flywheel/models/resolver_subject_node.py +36 -0
- flywheel/models/role_input.py +192 -0
- flywheel/models/role_output.py +273 -0
- flywheel/models/role_permission.py +194 -0
- flywheel/models/role_permission_output.py +189 -0
- flywheel/models/role_permission_update.py +163 -0
- flywheel/models/role_type.py +32 -0
- flywheel/models/role_update.py +194 -0
- flywheel/models/roles_backwards_compatible_role_assignment.py +36 -0
- flywheel/models/roles_group_role_pool_input.py +36 -0
- flywheel/models/roles_role.py +36 -0
- flywheel/models/roles_role_assignment.py +195 -0
- flywheel/models/roles_role_input.py +36 -0
- flywheel/models/rule.py +467 -0
- flywheel/models/rule_any.py +216 -0
- flywheel/models/s3_addressing_style.py +29 -0
- flywheel/models/s3_compat_storage.py +381 -0
- flywheel/models/save_search.py +298 -0
- flywheel/models/save_search_input.py +219 -0
- flywheel/models/save_search_output.py +301 -0
- flywheel/models/save_search_page.py +219 -0
- flywheel/models/save_search_parent.py +192 -0
- flywheel/models/save_search_update.py +194 -0
- flywheel/models/search_acquisition_response.py +252 -0
- flywheel/models/search_analysis_response.py +254 -0
- flywheel/models/search_collection_response.py +254 -0
- flywheel/models/search_file_response.py +312 -0
- flywheel/models/search_group_response.py +196 -0
- flywheel/models/search_parent_acquisition.py +47 -0
- flywheel/models/search_parent_analysis.py +47 -0
- flywheel/models/search_parent_collection.py +46 -0
- flywheel/models/search_parent_project.py +54 -0
- flywheel/models/search_parent_response.py +213 -0
- flywheel/models/search_parent_session.py +48 -0
- flywheel/models/search_parent_subject.py +48 -0
- flywheel/models/search_parse_error.py +252 -0
- flywheel/models/search_parse_search_query_result.py +36 -0
- flywheel/models/search_project_response.py +196 -0
- flywheel/models/search_query.py +337 -0
- flywheel/models/search_query_suggestions.py +36 -0
- flywheel/models/search_response.py +448 -0
- flywheel/models/search_return_type.py +33 -0
- flywheel/models/search_save_search.py +36 -0
- flywheel/models/search_save_search_input.py +36 -0
- flywheel/models/search_save_search_parent.py +36 -0
- flywheel/models/search_save_search_update.py +36 -0
- flywheel/models/search_session_response.py +252 -0
- flywheel/models/search_status.py +166 -0
- flywheel/models/search_structured_search_query.py +25 -0
- flywheel/models/search_subject_response.py +225 -0
- flywheel/models/search_suggestion.py +36 -0
- flywheel/models/select_item.py +190 -0
- flywheel/models/server_state.py +303 -0
- flywheel/models/service_aet.py +301 -0
- flywheel/models/service_aet_input.py +276 -0
- flywheel/models/session.py +25 -0
- flywheel/models/session_container_output.py +35 -0
- flywheel/models/session_copy_input.py +253 -0
- flywheel/models/session_embedded_subject.py +299 -0
- flywheel/models/session_input.py +431 -0
- flywheel/models/session_list_output.py +897 -0
- flywheel/models/session_metadata_input.py +36 -0
- flywheel/models/session_modify.py +464 -0
- flywheel/models/session_node.py +36 -0
- flywheel/models/session_output.py +897 -0
- flywheel/models/session_parents.py +220 -0
- flywheel/models/session_template_options.py +221 -0
- flywheel/models/session_template_recalc_output.py +165 -0
- flywheel/models/session_upsert_input.py +464 -0
- flywheel/models/session_upsert_output.py +243 -0
- flywheel/models/sharing_filter_options.py +345 -0
- flywheel/models/signed_fs_upload_output.py +189 -0
- flywheel/models/signed_url_cleanup_input.py +189 -0
- flywheel/models/signed_url_upload_input.py +190 -0
- flywheel/models/signed_url_upload_output.py +349 -0
- flywheel/models/site.py +623 -0
- flywheel/models/site_report.py +194 -0
- flywheel/models/site_settings.py +385 -0
- flywheel/models/sort.py +192 -0
- flywheel/models/stable_api_key_input.py +25 -0
- flywheel/models/staffing_pool.py +324 -0
- flywheel/models/staffing_pool_create.py +216 -0
- flywheel/models/staffing_pool_list.py +164 -0
- flywheel/models/staffing_pool_modify.py +218 -0
- flywheel/models/state.py +32 -0
- flywheel/models/static_compute.py +218 -0
- flywheel/models/status_transitions.py +245 -0
- flywheel/models/status_type.py +31 -0
- flywheel/models/status_value.py +31 -0
- flywheel/models/storage_strategy.py +30 -0
- flywheel/models/storage_strategy_config.py +194 -0
- flywheel/models/structured_query.py +165 -0
- flywheel/models/structured_query_suggestions.py +196 -0
- flywheel/models/structured_query_value_suggestion.py +247 -0
- flywheel/models/subject.py +34 -0
- flywheel/models/subject_container_output.py +36 -0
- flywheel/models/subject_copy_input.py +223 -0
- flywheel/models/subject_input.py +627 -0
- flywheel/models/subject_modify.py +684 -0
- flywheel/models/subject_node.py +37 -0
- flywheel/models/subject_output.py +1008 -0
- flywheel/models/subject_output_for_list.py +1005 -0
- flywheel/models/subject_parents.py +194 -0
- flywheel/models/subject_role_permission.py +194 -0
- flywheel/models/subject_state.py +30 -0
- flywheel/models/subject_template_options.py +191 -0
- flywheel/models/subject_upsert_input.py +573 -0
- flywheel/models/subject_upsert_output.py +216 -0
- flywheel/models/sync_user_input.py +322 -0
- flywheel/models/tag.py +165 -0
- flywheel/models/task_assign.py +194 -0
- flywheel/models/task_facet.py +29 -0
- flywheel/models/task_parent_ref.py +245 -0
- flywheel/models/task_parent_ref_input.py +219 -0
- flywheel/models/task_priority.py +31 -0
- flywheel/models/task_submission.py +189 -0
- flywheel/models/therapeutic_area.py +60 -0
- flywheel/models/transitions.py +272 -0
- flywheel/models/tree_container_request_spec.py +281 -0
- flywheel/models/tree_graph.py +142 -0
- flywheel/models/tree_graph_connection.py +244 -0
- flywheel/models/tree_graph_connections.py +142 -0
- flywheel/models/tree_graph_node.py +166 -0
- flywheel/models/tree_request.py +25 -0
- flywheel/models/tree_response_item.py +142 -0
- flywheel/models/type_str.py +31 -0
- flywheel/models/uid_check_input_acquisitions.py +244 -0
- flywheel/models/uid_check_input_sessions.py +244 -0
- flywheel/models/uid_check_output.py +191 -0
- flywheel/models/upload_complete_s3_multipart_input.py +25 -0
- flywheel/models/upload_complete_s3_multipart_output.py +25 -0
- flywheel/models/upload_signed_fs_file_upload_output.py +36 -0
- flywheel/models/upload_signed_upload_url_input.py +36 -0
- flywheel/models/upload_signed_upload_url_output.py +36 -0
- flywheel/models/upload_ticket_output.py +215 -0
- flywheel/models/upload_token_output.py +163 -0
- flywheel/models/upsert_result.py +31 -0
- flywheel/models/user.py +760 -0
- flywheel/models/user_api_key.py +220 -0
- flywheel/models/user_input.py +461 -0
- flywheel/models/user_jobs.py +219 -0
- flywheel/models/user_jobs_output.py +25 -0
- flywheel/models/user_output.py +36 -0
- flywheel/models/user_output_id.py +163 -0
- flywheel/models/user_preferences.py +135 -0
- flywheel/models/user_wechat.py +135 -0
- flywheel/models/validation_error.py +215 -0
- flywheel/models/validation_rule.py +190 -0
- flywheel/models/version.py +363 -0
- flywheel/models/version_output.py +25 -0
- flywheel/models/view_id_output.py +164 -0
- flywheel/models/view_output.py +440 -0
- flywheel/models/viewer_app.py +381 -0
- flywheel/models/viewer_app_input.py +382 -0
- flywheel/models/viewer_app_type.py +29 -0
- flywheel/models/virus_scan.py +166 -0
- flywheel/models/virus_scan_state.py +30 -0
- flywheel/models/work_in_progress_features.py +135 -0
- flywheel/models/zipfile_info.py +192 -0
- flywheel/models/zipfile_member_info.py +241 -0
- flywheel/partial_reader.py +50 -0
- flywheel/rest.py +352 -0
- flywheel/util.py +95 -0
- flywheel/view_builder.py +449 -0
- flywheel_sdk-21.2.0rc0.dist-info/METADATA +41 -0
- flywheel_sdk-21.2.0rc0.dist-info/RECORD +772 -0
- flywheel_sdk-21.2.0rc0.dist-info/WHEEL +4 -0
- flywheel_sdk-21.2.0rc0.dist-info/licenses/LICENSE.txt +18 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Flywheel
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: 0.0.1
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## NOTE: This file is auto generated by the swagger code generator program.
|
|
15
|
+
## Do not edit the file manually.
|
|
16
|
+
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import six
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
21
|
+
|
|
22
|
+
if TYPE_CHECKING:
|
|
23
|
+
from flywheel.models.gear_directive import GearDirective # noqa: F401,E501
|
|
24
|
+
|
|
25
|
+
class GearInputItem(object):
|
|
26
|
+
|
|
27
|
+
swagger_types = {
|
|
28
|
+
'base': 'str',
|
|
29
|
+
'description': 'str',
|
|
30
|
+
'optional': 'bool'
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
attribute_map = {
|
|
34
|
+
'base': 'base',
|
|
35
|
+
'description': 'description',
|
|
36
|
+
'optional': 'optional'
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
rattribute_map = {
|
|
40
|
+
'base': 'base',
|
|
41
|
+
'description': 'description',
|
|
42
|
+
'optional': 'optional'
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
def __init__(self, base=None, description=None, optional=None): # noqa: E501
|
|
46
|
+
"""GearInputItem - a model defined in Swagger"""
|
|
47
|
+
super(GearInputItem, self).__init__()
|
|
48
|
+
|
|
49
|
+
self._base = None
|
|
50
|
+
self._description = None
|
|
51
|
+
self._optional = None
|
|
52
|
+
self.discriminator = None
|
|
53
|
+
self.alt_discriminator = None
|
|
54
|
+
|
|
55
|
+
self.base = base
|
|
56
|
+
if description is not None:
|
|
57
|
+
self.description = description
|
|
58
|
+
if optional is not None:
|
|
59
|
+
self.optional = optional
|
|
60
|
+
|
|
61
|
+
@property
|
|
62
|
+
def base(self):
|
|
63
|
+
"""Gets the base of this GearInputItem.
|
|
64
|
+
|
|
65
|
+
The type of gear input.
|
|
66
|
+
|
|
67
|
+
:return: The base of this GearInputItem.
|
|
68
|
+
:rtype: str
|
|
69
|
+
"""
|
|
70
|
+
return self._base
|
|
71
|
+
|
|
72
|
+
@base.setter
|
|
73
|
+
def base(self, base):
|
|
74
|
+
"""Sets the base of this GearInputItem.
|
|
75
|
+
|
|
76
|
+
The type of gear input.
|
|
77
|
+
|
|
78
|
+
:param base: The base of this GearInputItem. # noqa: E501
|
|
79
|
+
:type: str
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
self._base = base
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def description(self):
|
|
86
|
+
"""Gets the description of this GearInputItem.
|
|
87
|
+
|
|
88
|
+
Hackaround for description not technically being a schema directive
|
|
89
|
+
|
|
90
|
+
:return: The description of this GearInputItem.
|
|
91
|
+
:rtype: str
|
|
92
|
+
"""
|
|
93
|
+
return self._description
|
|
94
|
+
|
|
95
|
+
@description.setter
|
|
96
|
+
def description(self, description):
|
|
97
|
+
"""Sets the description of this GearInputItem.
|
|
98
|
+
|
|
99
|
+
Hackaround for description not technically being a schema directive
|
|
100
|
+
|
|
101
|
+
:param description: The description of this GearInputItem. # noqa: E501
|
|
102
|
+
:type: str
|
|
103
|
+
"""
|
|
104
|
+
|
|
105
|
+
self._description = description
|
|
106
|
+
|
|
107
|
+
@property
|
|
108
|
+
def optional(self):
|
|
109
|
+
"""Gets the optional of this GearInputItem.
|
|
110
|
+
|
|
111
|
+
Allow the gear to mark an input file as optional.
|
|
112
|
+
|
|
113
|
+
:return: The optional of this GearInputItem.
|
|
114
|
+
:rtype: bool
|
|
115
|
+
"""
|
|
116
|
+
return self._optional
|
|
117
|
+
|
|
118
|
+
@optional.setter
|
|
119
|
+
def optional(self, optional):
|
|
120
|
+
"""Sets the optional of this GearInputItem.
|
|
121
|
+
|
|
122
|
+
Allow the gear to mark an input file as optional.
|
|
123
|
+
|
|
124
|
+
:param optional: The optional of this GearInputItem. # noqa: E501
|
|
125
|
+
:type: bool
|
|
126
|
+
"""
|
|
127
|
+
|
|
128
|
+
self._optional = optional
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
@staticmethod
|
|
132
|
+
def positional_to_model(value):
|
|
133
|
+
"""Converts a positional argument to a model value"""
|
|
134
|
+
return value
|
|
135
|
+
|
|
136
|
+
def return_value(self):
|
|
137
|
+
"""Unwraps return value from model"""
|
|
138
|
+
return self
|
|
139
|
+
|
|
140
|
+
def to_dict(self):
|
|
141
|
+
"""Returns the model properties as a dict"""
|
|
142
|
+
result = {}
|
|
143
|
+
|
|
144
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
145
|
+
value = getattr(self, attr)
|
|
146
|
+
if isinstance(value, list):
|
|
147
|
+
result[attr] = list(map(
|
|
148
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
149
|
+
value
|
|
150
|
+
))
|
|
151
|
+
elif hasattr(value, "to_dict"):
|
|
152
|
+
result[attr] = value.to_dict()
|
|
153
|
+
elif isinstance(value, dict):
|
|
154
|
+
result[attr] = dict(map(
|
|
155
|
+
lambda item: (item[0], item[1].to_dict())
|
|
156
|
+
if hasattr(item[1], "to_dict") else item,
|
|
157
|
+
value.items()
|
|
158
|
+
))
|
|
159
|
+
else:
|
|
160
|
+
result[attr] = value
|
|
161
|
+
|
|
162
|
+
return result
|
|
163
|
+
|
|
164
|
+
def to_str(self):
|
|
165
|
+
"""Returns the string representation of the model"""
|
|
166
|
+
return pprint.pformat(self.to_dict())
|
|
167
|
+
|
|
168
|
+
def __repr__(self):
|
|
169
|
+
"""For `print` and `pprint`"""
|
|
170
|
+
return self.to_str()
|
|
171
|
+
|
|
172
|
+
def __eq__(self, other):
|
|
173
|
+
"""Returns true if both objects are equal"""
|
|
174
|
+
# Import relatives
|
|
175
|
+
from flywheel.models.gear_file_input import GearFileInput
|
|
176
|
+
relatives = (
|
|
177
|
+
GearFileInput,
|
|
178
|
+
)
|
|
179
|
+
if not isinstance(other, relatives + (GearInputItem,)):
|
|
180
|
+
return False
|
|
181
|
+
|
|
182
|
+
return self.__dict__ == other.__dict__
|
|
183
|
+
|
|
184
|
+
def __ne__(self, other):
|
|
185
|
+
"""Returns true if both objects are not equal"""
|
|
186
|
+
return not self == other
|
|
187
|
+
|
|
188
|
+
# Container emulation
|
|
189
|
+
def __getitem__(self, key):
|
|
190
|
+
"""Returns the value of key"""
|
|
191
|
+
key = self._map_key(key)
|
|
192
|
+
return getattr(self, key)
|
|
193
|
+
|
|
194
|
+
def __setitem__(self, key, value):
|
|
195
|
+
"""Sets the value of key"""
|
|
196
|
+
key = self._map_key(key)
|
|
197
|
+
setattr(self, key, value)
|
|
198
|
+
|
|
199
|
+
def __contains__(self, key):
|
|
200
|
+
"""Checks if the given value is a key in this object"""
|
|
201
|
+
key = self._map_key(key, raise_on_error=False)
|
|
202
|
+
return key is not None
|
|
203
|
+
|
|
204
|
+
def keys(self):
|
|
205
|
+
"""Returns the list of json properties in the object"""
|
|
206
|
+
return self.__class__.rattribute_map.keys()
|
|
207
|
+
|
|
208
|
+
def values(self):
|
|
209
|
+
"""Returns the list of values in the object"""
|
|
210
|
+
for key in self.__class__.attribute_map.keys():
|
|
211
|
+
yield getattr(self, key)
|
|
212
|
+
|
|
213
|
+
def items(self):
|
|
214
|
+
"""Returns the list of json property to value mapping"""
|
|
215
|
+
for key, prop in self.__class__.rattribute_map.items():
|
|
216
|
+
yield key, getattr(self, prop)
|
|
217
|
+
|
|
218
|
+
def get(self, key, default=None):
|
|
219
|
+
"""Get the value of the provided json property, or default"""
|
|
220
|
+
key = self._map_key(key, raise_on_error=False)
|
|
221
|
+
if key:
|
|
222
|
+
return getattr(self, key, default)
|
|
223
|
+
return default
|
|
224
|
+
|
|
225
|
+
def _map_key(self, key, raise_on_error=True):
|
|
226
|
+
result = self.__class__.rattribute_map.get(key)
|
|
227
|
+
if result is None:
|
|
228
|
+
if raise_on_error:
|
|
229
|
+
raise AttributeError('Invalid attribute name: {}'.format(key))
|
|
230
|
+
return None
|
|
231
|
+
return '_' + result
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Flywheel
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: 0.0.1
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## NOTE: This file is auto generated by the swagger code generator program.
|
|
15
|
+
## Do not edit the file manually.
|
|
16
|
+
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import six
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
21
|
+
|
|
22
|
+
class GearInputs(object):
|
|
23
|
+
|
|
24
|
+
swagger_types = {
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
attribute_map = {
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
rattribute_map = {
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
def __init__(self): # noqa: E501
|
|
34
|
+
"""GearInputs - a model defined in Swagger"""
|
|
35
|
+
super(GearInputs, self).__init__()
|
|
36
|
+
self.discriminator = None
|
|
37
|
+
self.alt_discriminator = None
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@staticmethod
|
|
41
|
+
def positional_to_model(value):
|
|
42
|
+
"""Converts a positional argument to a model value"""
|
|
43
|
+
return value
|
|
44
|
+
|
|
45
|
+
def return_value(self):
|
|
46
|
+
"""Unwraps return value from model"""
|
|
47
|
+
return self
|
|
48
|
+
|
|
49
|
+
def to_dict(self):
|
|
50
|
+
"""Returns the model properties as a dict"""
|
|
51
|
+
result = {}
|
|
52
|
+
|
|
53
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
54
|
+
value = getattr(self, attr)
|
|
55
|
+
if isinstance(value, list):
|
|
56
|
+
result[attr] = list(map(
|
|
57
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
58
|
+
value
|
|
59
|
+
))
|
|
60
|
+
elif hasattr(value, "to_dict"):
|
|
61
|
+
result[attr] = value.to_dict()
|
|
62
|
+
elif isinstance(value, dict):
|
|
63
|
+
result[attr] = dict(map(
|
|
64
|
+
lambda item: (item[0], item[1].to_dict())
|
|
65
|
+
if hasattr(item[1], "to_dict") else item,
|
|
66
|
+
value.items()
|
|
67
|
+
))
|
|
68
|
+
else:
|
|
69
|
+
result[attr] = value
|
|
70
|
+
|
|
71
|
+
return result
|
|
72
|
+
|
|
73
|
+
def to_str(self):
|
|
74
|
+
"""Returns the string representation of the model"""
|
|
75
|
+
return pprint.pformat(self.to_dict())
|
|
76
|
+
|
|
77
|
+
def __repr__(self):
|
|
78
|
+
"""For `print` and `pprint`"""
|
|
79
|
+
return self.to_str()
|
|
80
|
+
|
|
81
|
+
def __eq__(self, other):
|
|
82
|
+
"""Returns true if both objects are equal"""
|
|
83
|
+
# Import relatives
|
|
84
|
+
from flywheel.models.gear_file_input import GearFileInput
|
|
85
|
+
relatives = (
|
|
86
|
+
GearFileInput,
|
|
87
|
+
)
|
|
88
|
+
if not isinstance(other, relatives + (GearInputs,)):
|
|
89
|
+
return False
|
|
90
|
+
|
|
91
|
+
return self.__dict__ == other.__dict__
|
|
92
|
+
|
|
93
|
+
def __ne__(self, other):
|
|
94
|
+
"""Returns true if both objects are not equal"""
|
|
95
|
+
return not self == other
|
|
96
|
+
|
|
97
|
+
# Container emulation
|
|
98
|
+
def __getitem__(self, key):
|
|
99
|
+
"""Returns the value of key"""
|
|
100
|
+
key = self._map_key(key)
|
|
101
|
+
return getattr(self, key)
|
|
102
|
+
|
|
103
|
+
def __setitem__(self, key, value):
|
|
104
|
+
"""Sets the value of key"""
|
|
105
|
+
key = self._map_key(key)
|
|
106
|
+
setattr(self, key, value)
|
|
107
|
+
|
|
108
|
+
def __contains__(self, key):
|
|
109
|
+
"""Checks if the given value is a key in this object"""
|
|
110
|
+
key = self._map_key(key, raise_on_error=False)
|
|
111
|
+
return key is not None
|
|
112
|
+
|
|
113
|
+
def keys(self):
|
|
114
|
+
"""Returns the list of json properties in the object"""
|
|
115
|
+
return self.__class__.rattribute_map.keys()
|
|
116
|
+
|
|
117
|
+
def values(self):
|
|
118
|
+
"""Returns the list of values in the object"""
|
|
119
|
+
for key in self.__class__.attribute_map.keys():
|
|
120
|
+
yield getattr(self, key)
|
|
121
|
+
|
|
122
|
+
def items(self):
|
|
123
|
+
"""Returns the list of json property to value mapping"""
|
|
124
|
+
for key, prop in self.__class__.rattribute_map.items():
|
|
125
|
+
yield key, getattr(self, prop)
|
|
126
|
+
|
|
127
|
+
def get(self, key, default=None):
|
|
128
|
+
"""Get the value of the provided json property, or default"""
|
|
129
|
+
key = self._map_key(key, raise_on_error=False)
|
|
130
|
+
if key:
|
|
131
|
+
return getattr(self, key, default)
|
|
132
|
+
return default
|
|
133
|
+
|
|
134
|
+
def _map_key(self, key, raise_on_error=True):
|
|
135
|
+
result = self.__class__.rattribute_map.get(key)
|
|
136
|
+
if result is None:
|
|
137
|
+
if raise_on_error:
|
|
138
|
+
raise AttributeError('Invalid attribute name: {}'.format(key))
|
|
139
|
+
return None
|
|
140
|
+
return '_' + result
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"""Provides gear invocation support"""
|
|
2
|
+
|
|
3
|
+
from .. import util
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class GearInvocation(object):
|
|
7
|
+
"""Represents the details necessary to execute a gear as a job"""
|
|
8
|
+
|
|
9
|
+
def __init__(self, gear):
|
|
10
|
+
self.gear = gear
|
|
11
|
+
|
|
12
|
+
# Setup default config
|
|
13
|
+
self.config = gear.get_default_config()
|
|
14
|
+
|
|
15
|
+
self.inputs = {}
|
|
16
|
+
self.destination = None
|
|
17
|
+
self.analysis_label = None
|
|
18
|
+
self.tags = []
|
|
19
|
+
self.priority = "medium"
|
|
20
|
+
|
|
21
|
+
self.__context = None
|
|
22
|
+
|
|
23
|
+
def _set_context(self, context):
|
|
24
|
+
self.__context = context
|
|
25
|
+
|
|
26
|
+
def update_config(self, *args, **kwargs):
|
|
27
|
+
"""Update configuration values"""
|
|
28
|
+
body = util.params_to_dict("update_config", args, kwargs)
|
|
29
|
+
self.config.update(body)
|
|
30
|
+
|
|
31
|
+
def set_analysis_label(self, label):
|
|
32
|
+
"""Set the analysis label, if executing an analysis gear"""
|
|
33
|
+
if not self.gear.is_analysis_gear():
|
|
34
|
+
raise ValueError("{} is not an analysis gear!".format(self.gear.gear.name))
|
|
35
|
+
self.analysis_label = label
|
|
36
|
+
|
|
37
|
+
def add_tag(self, tag):
|
|
38
|
+
"""Add a tag to the job"""
|
|
39
|
+
if tag not in self.tags:
|
|
40
|
+
self.tags.append(tag)
|
|
41
|
+
|
|
42
|
+
def add_tags(self, tags):
|
|
43
|
+
"""Add multiple tags to the job"""
|
|
44
|
+
self.tags += tags
|
|
45
|
+
|
|
46
|
+
def set_input(self, key, input):
|
|
47
|
+
"""Add an input"""
|
|
48
|
+
self.inputs[key] = util.to_ref(input)
|
|
49
|
+
|
|
50
|
+
def set_destination(self, dest):
|
|
51
|
+
"""Set the destination container"""
|
|
52
|
+
self.destination = util.to_ref(dest)
|
|
53
|
+
|
|
54
|
+
def set_priority(self, priority):
|
|
55
|
+
"""Set the priority of gear job"""
|
|
56
|
+
self.priority = priority
|
|
57
|
+
|
|
58
|
+
def run(self):
|
|
59
|
+
"""Run the invocation as a single job (or analysis).
|
|
60
|
+
|
|
61
|
+
Requires that required inputs and the destination have been set.
|
|
62
|
+
|
|
63
|
+
Returns the job id, or the analysis id in the case of an analysis gear.
|
|
64
|
+
"""
|
|
65
|
+
from flywheel.models import Job
|
|
66
|
+
|
|
67
|
+
job = Job(
|
|
68
|
+
gear_id=self.gear.id,
|
|
69
|
+
inputs=self.inputs,
|
|
70
|
+
destination=self.destination,
|
|
71
|
+
config=self.config,
|
|
72
|
+
tags=self.tags,
|
|
73
|
+
priority=self.priority,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
if self.gear.is_analysis_gear():
|
|
77
|
+
# Create a new analysis object using label and job object
|
|
78
|
+
return self._add_analysis(job)
|
|
79
|
+
|
|
80
|
+
# Otherwise, just create the job
|
|
81
|
+
return self.__context.add_job(job)
|
|
82
|
+
|
|
83
|
+
def propose_batch(self, containers, optional_input_policy="ignored"):
|
|
84
|
+
"""Create a batch run proposal for the given containers
|
|
85
|
+
|
|
86
|
+
:param list containers: The list of containers to run the job on
|
|
87
|
+
:param str optional_input_policy: The optional input policy (default is ignored)
|
|
88
|
+
"""
|
|
89
|
+
from flywheel.models import AnalysisInput, BatchProposalInput
|
|
90
|
+
|
|
91
|
+
targets = [util.to_ref(input) for input in containers]
|
|
92
|
+
|
|
93
|
+
if self.gear.is_analysis_gear():
|
|
94
|
+
analysis_label = self.analysis_label or self._make_default_label()
|
|
95
|
+
analysis = AnalysisInput(label=analysis_label)
|
|
96
|
+
else:
|
|
97
|
+
analysis = None
|
|
98
|
+
|
|
99
|
+
proposal = BatchProposalInput(
|
|
100
|
+
gear_id=self.gear.id,
|
|
101
|
+
config=self.config,
|
|
102
|
+
tags=self.tags,
|
|
103
|
+
optional_input_policy=optional_input_policy,
|
|
104
|
+
analysis=analysis,
|
|
105
|
+
targets=targets,
|
|
106
|
+
priority=self.priority,
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
return self.__context.propose_batch(proposal)
|
|
110
|
+
|
|
111
|
+
def _make_default_label(self):
|
|
112
|
+
"""Create a default label for an analysis run"""
|
|
113
|
+
from datetime import datetime
|
|
114
|
+
|
|
115
|
+
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
116
|
+
return "{} {}".format(self.gear.gear.name, timestamp)
|
|
117
|
+
|
|
118
|
+
def _add_analysis(self, job):
|
|
119
|
+
"""Add an analysis to the destination container"""
|
|
120
|
+
from flywheel.models import AnalysisInput
|
|
121
|
+
|
|
122
|
+
# Ensure a valid analysis label
|
|
123
|
+
analysis_label = self.analysis_label or self._make_default_label()
|
|
124
|
+
|
|
125
|
+
# Get destination type (from ref)
|
|
126
|
+
dest_id = self.destination and self.destination.get("id")
|
|
127
|
+
dest_type = self.destination and self.destination.get("type")
|
|
128
|
+
if not dest_id or not dest_type:
|
|
129
|
+
raise ValueError("Must specify a valid destination to create an analysis!")
|
|
130
|
+
|
|
131
|
+
fname = "add_{}_analysis".format(dest_type)
|
|
132
|
+
fn = getattr(self.__context, fname, None)
|
|
133
|
+
if not fn:
|
|
134
|
+
raise ValueError("{} is not a function!".format(fname))
|
|
135
|
+
|
|
136
|
+
# Ensure destination is unset
|
|
137
|
+
job.destination = None
|
|
138
|
+
return fn(dest_id, AnalysisInput(label=analysis_label, job=job))
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Flywheel
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: 0.0.1
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## NOTE: This file is auto generated by the swagger code generator program.
|
|
15
|
+
## Do not edit the file manually.
|
|
16
|
+
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import six
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
21
|
+
|
|
22
|
+
class GearKeyInput(object):
|
|
23
|
+
|
|
24
|
+
swagger_types = {
|
|
25
|
+
'base': 'str',
|
|
26
|
+
'read_only': 'bool'
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
attribute_map = {
|
|
30
|
+
'base': 'base',
|
|
31
|
+
'read_only': 'read-only'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
rattribute_map = {
|
|
35
|
+
'base': 'base',
|
|
36
|
+
'read-only': 'read_only'
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
def __init__(self, base='api-key', read_only=False): # noqa: E501
|
|
40
|
+
"""GearKeyInput - a model defined in Swagger"""
|
|
41
|
+
super(GearKeyInput, self).__init__()
|
|
42
|
+
|
|
43
|
+
self._base = None
|
|
44
|
+
self._read_only = None
|
|
45
|
+
self.discriminator = None
|
|
46
|
+
self.alt_discriminator = None
|
|
47
|
+
|
|
48
|
+
if base is not None:
|
|
49
|
+
self.base = base
|
|
50
|
+
if read_only is not None:
|
|
51
|
+
self.read_only = read_only
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def base(self):
|
|
55
|
+
"""Gets the base of this GearKeyInput.
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
:return: The base of this GearKeyInput.
|
|
59
|
+
:rtype: str
|
|
60
|
+
"""
|
|
61
|
+
return self._base
|
|
62
|
+
|
|
63
|
+
@base.setter
|
|
64
|
+
def base(self, base):
|
|
65
|
+
"""Sets the base of this GearKeyInput.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
:param base: The base of this GearKeyInput. # noqa: E501
|
|
69
|
+
:type: str
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
self._base = base
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
def read_only(self):
|
|
76
|
+
"""Gets the read_only of this GearKeyInput.
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
:return: The read_only of this GearKeyInput.
|
|
80
|
+
:rtype: bool
|
|
81
|
+
"""
|
|
82
|
+
return self._read_only
|
|
83
|
+
|
|
84
|
+
@read_only.setter
|
|
85
|
+
def read_only(self, read_only):
|
|
86
|
+
"""Sets the read_only of this GearKeyInput.
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
:param read_only: The read_only of this GearKeyInput. # noqa: E501
|
|
90
|
+
:type: bool
|
|
91
|
+
"""
|
|
92
|
+
|
|
93
|
+
self._read_only = read_only
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
@staticmethod
|
|
97
|
+
def positional_to_model(value):
|
|
98
|
+
"""Converts a positional argument to a model value"""
|
|
99
|
+
return value
|
|
100
|
+
|
|
101
|
+
def return_value(self):
|
|
102
|
+
"""Unwraps return value from model"""
|
|
103
|
+
return self
|
|
104
|
+
|
|
105
|
+
def to_dict(self):
|
|
106
|
+
"""Returns the model properties as a dict"""
|
|
107
|
+
result = {}
|
|
108
|
+
|
|
109
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
110
|
+
value = getattr(self, attr)
|
|
111
|
+
if isinstance(value, list):
|
|
112
|
+
result[attr] = list(map(
|
|
113
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
114
|
+
value
|
|
115
|
+
))
|
|
116
|
+
elif hasattr(value, "to_dict"):
|
|
117
|
+
result[attr] = value.to_dict()
|
|
118
|
+
elif isinstance(value, dict):
|
|
119
|
+
result[attr] = dict(map(
|
|
120
|
+
lambda item: (item[0], item[1].to_dict())
|
|
121
|
+
if hasattr(item[1], "to_dict") else item,
|
|
122
|
+
value.items()
|
|
123
|
+
))
|
|
124
|
+
else:
|
|
125
|
+
result[attr] = value
|
|
126
|
+
|
|
127
|
+
return result
|
|
128
|
+
|
|
129
|
+
def to_str(self):
|
|
130
|
+
"""Returns the string representation of the model"""
|
|
131
|
+
return pprint.pformat(self.to_dict())
|
|
132
|
+
|
|
133
|
+
def __repr__(self):
|
|
134
|
+
"""For `print` and `pprint`"""
|
|
135
|
+
return self.to_str()
|
|
136
|
+
|
|
137
|
+
def __eq__(self, other):
|
|
138
|
+
"""Returns true if both objects are equal"""
|
|
139
|
+
if not isinstance(other, GearKeyInput):
|
|
140
|
+
return False
|
|
141
|
+
|
|
142
|
+
return self.__dict__ == other.__dict__
|
|
143
|
+
|
|
144
|
+
def __ne__(self, other):
|
|
145
|
+
"""Returns true if both objects are not equal"""
|
|
146
|
+
return not self == other
|
|
147
|
+
|
|
148
|
+
# Container emulation
|
|
149
|
+
def __getitem__(self, key):
|
|
150
|
+
"""Returns the value of key"""
|
|
151
|
+
key = self._map_key(key)
|
|
152
|
+
return getattr(self, key)
|
|
153
|
+
|
|
154
|
+
def __setitem__(self, key, value):
|
|
155
|
+
"""Sets the value of key"""
|
|
156
|
+
key = self._map_key(key)
|
|
157
|
+
setattr(self, key, value)
|
|
158
|
+
|
|
159
|
+
def __contains__(self, key):
|
|
160
|
+
"""Checks if the given value is a key in this object"""
|
|
161
|
+
key = self._map_key(key, raise_on_error=False)
|
|
162
|
+
return key is not None
|
|
163
|
+
|
|
164
|
+
def keys(self):
|
|
165
|
+
"""Returns the list of json properties in the object"""
|
|
166
|
+
return self.__class__.rattribute_map.keys()
|
|
167
|
+
|
|
168
|
+
def values(self):
|
|
169
|
+
"""Returns the list of values in the object"""
|
|
170
|
+
for key in self.__class__.attribute_map.keys():
|
|
171
|
+
yield getattr(self, key)
|
|
172
|
+
|
|
173
|
+
def items(self):
|
|
174
|
+
"""Returns the list of json property to value mapping"""
|
|
175
|
+
for key, prop in self.__class__.rattribute_map.items():
|
|
176
|
+
yield key, getattr(self, prop)
|
|
177
|
+
|
|
178
|
+
def get(self, key, default=None):
|
|
179
|
+
"""Get the value of the provided json property, or default"""
|
|
180
|
+
key = self._map_key(key, raise_on_error=False)
|
|
181
|
+
if key:
|
|
182
|
+
return getattr(self, key, default)
|
|
183
|
+
return default
|
|
184
|
+
|
|
185
|
+
def _map_key(self, key, raise_on_error=True):
|
|
186
|
+
result = self.__class__.rattribute_map.get(key)
|
|
187
|
+
if result is None:
|
|
188
|
+
if raise_on_error:
|
|
189
|
+
raise AttributeError('Invalid attribute name: {}'.format(key))
|
|
190
|
+
return None
|
|
191
|
+
return '_' + result
|