arctrl 3.0.0__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.
- arctrl/__init__.py +23 -0
- arctrl/cwl.py +12 -0
- arctrl/py/CWL/__init__.py +0 -0
- arctrl/py/CWL/cwlprocessing_unit.py +221 -0
- arctrl/py/CWL/cwltypes.py +364 -0
- arctrl/py/CWL/decode.py +3532 -0
- arctrl/py/CWL/encode.py +1905 -0
- arctrl/py/CWL/expression_tool_description.py +192 -0
- arctrl/py/CWL/hash_helpers.py +60 -0
- arctrl/py/CWL/inputs.py +122 -0
- arctrl/py/CWL/operation_description.py +169 -0
- arctrl/py/CWL/outputs.py +171 -0
- arctrl/py/CWL/parameter_reference.py +74 -0
- arctrl/py/CWL/requirements.py +350 -0
- arctrl/py/CWL/tool_description.py +192 -0
- arctrl/py/CWL/workflow_description.py +181 -0
- arctrl/py/CWL/workflow_steps.py +354 -0
- arctrl/py/Contract/__init__.py +0 -0
- arctrl/py/Contract/arc.py +89 -0
- arctrl/py/Contract/arc_assay.py +125 -0
- arctrl/py/Contract/arc_investigation.py +88 -0
- arctrl/py/Contract/arc_run.py +291 -0
- arctrl/py/Contract/arc_study.py +126 -0
- arctrl/py/Contract/arc_workflow.py +213 -0
- arctrl/py/Contract/contract.py +153 -0
- arctrl/py/Contract/datamap.py +396 -0
- arctrl/py/Contract/git.py +116 -0
- arctrl/py/Contract/license.py +58 -0
- arctrl/py/Contract/validation_packages_config.py +107 -0
- arctrl/py/ContractIO/__init__.py +0 -0
- arctrl/py/ContractIO/contract_io.py +350 -0
- arctrl/py/ContractIO/file_system_helper.py +264 -0
- arctrl/py/Conversion/__init__.py +0 -0
- arctrl/py/Conversion/assay.py +151 -0
- arctrl/py/Conversion/basic.py +559 -0
- arctrl/py/Conversion/column_index.py +91 -0
- arctrl/py/Conversion/datamap.py +36 -0
- arctrl/py/Conversion/date_time.py +32 -0
- arctrl/py/Conversion/investigation.py +171 -0
- arctrl/py/Conversion/person.py +148 -0
- arctrl/py/Conversion/process.py +828 -0
- arctrl/py/Conversion/run.py +367 -0
- arctrl/py/Conversion/scholarly_article.py +163 -0
- arctrl/py/Conversion/study.py +99 -0
- arctrl/py/Conversion/table.py +229 -0
- arctrl/py/Conversion/workflow.py +680 -0
- arctrl/py/Core/Helper/__init__.py +0 -0
- arctrl/py/Core/Helper/collections_.py +512 -0
- arctrl/py/Core/Helper/date_time.py +26 -0
- arctrl/py/Core/Helper/hash_codes.py +60 -0
- arctrl/py/Core/Helper/identifier.py +290 -0
- arctrl/py/Core/Helper/orcid.py +42 -0
- arctrl/py/Core/Helper/printer.py +13 -0
- arctrl/py/Core/Helper/regex.py +554 -0
- arctrl/py/Core/Helper/sem_ver.py +71 -0
- arctrl/py/Core/Helper/url.py +148 -0
- arctrl/py/Core/Process/__init__.py +0 -0
- arctrl/py/Core/Process/column_index.py +280 -0
- arctrl/py/Core/Process/component.py +200 -0
- arctrl/py/Core/Process/factor.py +151 -0
- arctrl/py/Core/Process/factor_value.py +182 -0
- arctrl/py/Core/Process/material.py +74 -0
- arctrl/py/Core/Process/material_attribute.py +95 -0
- arctrl/py/Core/Process/material_attribute_value.py +184 -0
- arctrl/py/Core/Process/material_type.py +45 -0
- arctrl/py/Core/Process/process.py +477 -0
- arctrl/py/Core/Process/process_input.py +265 -0
- arctrl/py/Core/Process/process_output.py +235 -0
- arctrl/py/Core/Process/process_parameter_value.py +200 -0
- arctrl/py/Core/Process/process_sequence.py +435 -0
- arctrl/py/Core/Process/protocol.py +175 -0
- arctrl/py/Core/Process/protocol_parameter.py +98 -0
- arctrl/py/Core/Process/sample.py +82 -0
- arctrl/py/Core/Process/source.py +62 -0
- arctrl/py/Core/Table/__init__.py +0 -0
- arctrl/py/Core/Table/arc_table.py +1206 -0
- arctrl/py/Core/Table/arc_table_aux.py +1308 -0
- arctrl/py/Core/Table/arc_tables.py +574 -0
- arctrl/py/Core/Table/composite_cell.py +319 -0
- arctrl/py/Core/Table/composite_column.py +73 -0
- arctrl/py/Core/Table/composite_header.py +739 -0
- arctrl/py/Core/__init__.py +0 -0
- arctrl/py/Core/arc_types.py +5312 -0
- arctrl/py/Core/comment.py +128 -0
- arctrl/py/Core/comment_list.py +127 -0
- arctrl/py/Core/conversion.py +1375 -0
- arctrl/py/Core/data.py +247 -0
- arctrl/py/Core/data_context.py +157 -0
- arctrl/py/Core/data_file.py +112 -0
- arctrl/py/Core/datamap.py +217 -0
- arctrl/py/Core/identifier_setters.py +43 -0
- arctrl/py/Core/iproperty_value.py +36 -0
- arctrl/py/Core/ontology_annotation.py +298 -0
- arctrl/py/Core/ontology_source_reference.py +114 -0
- arctrl/py/Core/person.py +259 -0
- arctrl/py/Core/publication.py +161 -0
- arctrl/py/Core/template.py +231 -0
- arctrl/py/Core/templates.py +148 -0
- arctrl/py/Core/uri.py +11 -0
- arctrl/py/Core/value.py +188 -0
- arctrl/py/FileSystem/__init__.py +0 -0
- arctrl/py/FileSystem/commit.py +21 -0
- arctrl/py/FileSystem/default_gitattributes.py +1 -0
- arctrl/py/FileSystem/default_gitignore.py +1 -0
- arctrl/py/FileSystem/default_license.py +1 -0
- arctrl/py/FileSystem/file_system.py +58 -0
- arctrl/py/FileSystem/file_system_tree.py +483 -0
- arctrl/py/FileSystem/path.py +266 -0
- arctrl/py/Json/Datamap/__init__.py +0 -0
- arctrl/py/Json/Datamap/data_context.py +101 -0
- arctrl/py/Json/Datamap/datamap.py +53 -0
- arctrl/py/Json/Process/__init__.py +0 -0
- arctrl/py/Json/Process/assay_materials.py +46 -0
- arctrl/py/Json/Process/component.py +125 -0
- arctrl/py/Json/Process/factor.py +107 -0
- arctrl/py/Json/Process/factor_value.py +101 -0
- arctrl/py/Json/Process/material.py +226 -0
- arctrl/py/Json/Process/material_attribute.py +79 -0
- arctrl/py/Json/Process/material_attribute_value.py +101 -0
- arctrl/py/Json/Process/material_type.py +53 -0
- arctrl/py/Json/Process/process.py +296 -0
- arctrl/py/Json/Process/process_input.py +83 -0
- arctrl/py/Json/Process/process_output.py +67 -0
- arctrl/py/Json/Process/process_parameter_value.py +81 -0
- arctrl/py/Json/Process/protocol.py +354 -0
- arctrl/py/Json/Process/protocol_parameter.py +91 -0
- arctrl/py/Json/Process/sample.py +277 -0
- arctrl/py/Json/Process/source.py +214 -0
- arctrl/py/Json/Process/study_materials.py +52 -0
- arctrl/py/Json/Process/value.py +56 -0
- arctrl/py/Json/ROCrate/__init__.py +0 -0
- arctrl/py/Json/ROCrate/ldcontext.py +143 -0
- arctrl/py/Json/ROCrate/ldgraph.py +117 -0
- arctrl/py/Json/ROCrate/ldnode.py +304 -0
- arctrl/py/Json/ROCrate/ldref.py +44 -0
- arctrl/py/Json/ROCrate/ldvalue.py +102 -0
- arctrl/py/Json/Table/__init__.py +0 -0
- arctrl/py/Json/Table/arc_table.py +375 -0
- arctrl/py/Json/Table/cell_table.py +83 -0
- arctrl/py/Json/Table/composite_cell.py +136 -0
- arctrl/py/Json/Table/composite_header.py +67 -0
- arctrl/py/Json/Table/iotype.py +24 -0
- arctrl/py/Json/Table/oatable.py +82 -0
- arctrl/py/Json/Table/templates.py +281 -0
- arctrl/py/Json/__init__.py +0 -0
- arctrl/py/Json/assay.py +600 -0
- arctrl/py/Json/comment.py +206 -0
- arctrl/py/Json/context/rocrate/__init__.py +0 -0
- arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
- arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
- arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
- arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
- arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
- arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
- arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
- arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
- arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
- arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
- arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
- arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
- arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
- arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
- arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
- arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
- arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
- arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
- arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
- arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
- arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
- arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
- arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
- arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
- arctrl/py/Json/converter_options.py +23 -0
- arctrl/py/Json/data.py +356 -0
- arctrl/py/Json/data_file.py +63 -0
- arctrl/py/Json/decode.py +271 -0
- arctrl/py/Json/encode.py +140 -0
- arctrl/py/Json/idtable.py +44 -0
- arctrl/py/Json/investigation.py +695 -0
- arctrl/py/Json/ontology_annotation.py +404 -0
- arctrl/py/Json/ontology_source_reference.py +255 -0
- arctrl/py/Json/person.py +658 -0
- arctrl/py/Json/property_value.py +359 -0
- arctrl/py/Json/publication.py +279 -0
- arctrl/py/Json/run.py +275 -0
- arctrl/py/Json/string_table.py +87 -0
- arctrl/py/Json/study.py +793 -0
- arctrl/py/Json/workflow.py +307 -0
- arctrl/py/JsonIO/Process/__init__.py +0 -0
- arctrl/py/JsonIO/Process/component.py +60 -0
- arctrl/py/JsonIO/Process/factor.py +36 -0
- arctrl/py/JsonIO/Process/factor_value.py +38 -0
- arctrl/py/JsonIO/Process/material.py +60 -0
- arctrl/py/JsonIO/Process/material_attribute.py +38 -0
- arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
- arctrl/py/JsonIO/Process/material_type.py +36 -0
- arctrl/py/JsonIO/Process/process.py +60 -0
- arctrl/py/JsonIO/Process/process_input.py +38 -0
- arctrl/py/JsonIO/Process/process_output.py +60 -0
- arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
- arctrl/py/JsonIO/Process/process_sequence.py +71 -0
- arctrl/py/JsonIO/Process/protocol.py +60 -0
- arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
- arctrl/py/JsonIO/Process/sample.py +60 -0
- arctrl/py/JsonIO/Process/source.py +60 -0
- arctrl/py/JsonIO/Process/study_materials.py +52 -0
- arctrl/py/JsonIO/Process/value.py +32 -0
- arctrl/py/JsonIO/Table/__init__.py +0 -0
- arctrl/py/JsonIO/Table/arc_table.py +103 -0
- arctrl/py/JsonIO/Table/composite_cell.py +36 -0
- arctrl/py/JsonIO/Table/composite_header.py +36 -0
- arctrl/py/JsonIO/Table/compression.py +67 -0
- arctrl/py/JsonIO/Table/iotype.py +36 -0
- arctrl/py/JsonIO/Table/templates.py +113 -0
- arctrl/py/JsonIO/__init__.py +0 -0
- arctrl/py/JsonIO/assay.py +113 -0
- arctrl/py/JsonIO/comment.py +80 -0
- arctrl/py/JsonIO/data.py +60 -0
- arctrl/py/JsonIO/data_file.py +58 -0
- arctrl/py/JsonIO/datamap.py +36 -0
- arctrl/py/JsonIO/decode.py +9 -0
- arctrl/py/JsonIO/encode.py +1 -0
- arctrl/py/JsonIO/investigation.py +91 -0
- arctrl/py/JsonIO/ldobject.py +106 -0
- arctrl/py/JsonIO/ontology_annotation.py +80 -0
- arctrl/py/JsonIO/ontology_source_reference.py +80 -0
- arctrl/py/JsonIO/person.py +82 -0
- arctrl/py/JsonIO/publication.py +82 -0
- arctrl/py/JsonIO/run.py +68 -0
- arctrl/py/JsonIO/study.py +114 -0
- arctrl/py/JsonIO/workflow.py +68 -0
- arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
- arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
- arctrl/py/ROCrate/ISAProfile/data.py +65 -0
- arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
- arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
- arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
- arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
- arctrl/py/ROCrate/ISAProfile/person.py +72 -0
- arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
- arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
- arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
- arctrl/py/ROCrate/ISAProfile/study.py +74 -0
- arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
- arctrl/py/ROCrate/LDTypes/comment.py +131 -0
- arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
- arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
- arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
- arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
- arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
- arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
- arctrl/py/ROCrate/LDTypes/file.py +281 -0
- arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
- arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
- arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
- arctrl/py/ROCrate/LDTypes/organization.py +83 -0
- arctrl/py/ROCrate/LDTypes/person.py +484 -0
- arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
- arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
- arctrl/py/ROCrate/LDTypes/sample.py +202 -0
- arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
- arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
- arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
- arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
- arctrl/py/ROCrate/__init__.py +0 -0
- arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
- arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
- arctrl/py/ROCrate/helper.py +8 -0
- arctrl/py/ROCrate/ldcontext.py +406 -0
- arctrl/py/ROCrate/ldobject.py +1247 -0
- arctrl/py/ROCrate/rocrate_context.py +51 -0
- arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
- arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
- arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
- arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
- arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
- arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
- arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
- arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
- arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
- arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
- arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
- arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
- arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
- arctrl/py/Spreadsheet/Metadata/run.py +122 -0
- arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
- arctrl/py/Spreadsheet/Metadata/study.py +312 -0
- arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
- arctrl/py/Spreadsheet/__init__.py +0 -0
- arctrl/py/Spreadsheet/arc_assay.py +233 -0
- arctrl/py/Spreadsheet/arc_investigation.py +435 -0
- arctrl/py/Spreadsheet/arc_run.py +190 -0
- arctrl/py/Spreadsheet/arc_study.py +144 -0
- arctrl/py/Spreadsheet/arc_workflow.py +177 -0
- arctrl/py/Spreadsheet/assembly_info.py +1 -0
- arctrl/py/Spreadsheet/collection_aux.py +167 -0
- arctrl/py/Spreadsheet/datamap.py +43 -0
- arctrl/py/Spreadsheet/template.py +460 -0
- arctrl/py/ValidationPackages/__init__.py +0 -0
- arctrl/py/ValidationPackages/validation_package.py +82 -0
- arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
- arctrl/py/WebRequest/__init__.py +0 -0
- arctrl/py/WebRequest/web_request.py +9 -0
- arctrl/py/WebRequest/web_request_py.py +135 -0
- arctrl/py/WorkflowGraph/__init__.py +0 -0
- arctrl/py/WorkflowGraph/adapters.py +141 -0
- arctrl/py/WorkflowGraph/build_options.py +45 -0
- arctrl/py/WorkflowGraph/builder.py +720 -0
- arctrl/py/WorkflowGraph/graph_types.py +260 -0
- arctrl/py/WorkflowGraph/query_helpers.py +76 -0
- arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
- arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
- arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
- arctrl/py/Yaml/__init__.py +0 -0
- arctrl/py/Yaml/decode.py +1 -0
- arctrl/py/Yaml/encode.py +10 -0
- arctrl/py/Yaml/validation_package.py +77 -0
- arctrl/py/Yaml/validation_packages_config.py +86 -0
- arctrl/py/__init__.py +0 -0
- arctrl/py/arc.py +1891 -0
- arctrl/py/column_index.py +280 -0
- arctrl/py/conversion.py +142 -0
- arctrl/py/cross_async.py +76 -0
- arctrl/py/cwlrun_resolver.py +228 -0
- arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
- arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
- arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
- arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
- arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
- arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
- arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
- arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
- arctrl/py/fable_modules/fable_library/__init__.py +0 -0
- arctrl/py/fable_modules/fable_library/array_.py +1528 -0
- arctrl/py/fable_modules/fable_library/async_.py +377 -0
- arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
- arctrl/py/fable_modules/fable_library/big_int.py +330 -0
- arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
- arctrl/py/fable_modules/fable_library/boolean.py +26 -0
- arctrl/py/fable_modules/fable_library/char.py +237 -0
- arctrl/py/fable_modules/fable_library/choice.py +212 -0
- arctrl/py/fable_modules/fable_library/date.py +779 -0
- arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
- arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
- arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
- arctrl/py/fable_modules/fable_library/double.py +87 -0
- arctrl/py/fable_modules/fable_library/encoding.py +41 -0
- arctrl/py/fable_modules/fable_library/event.py +206 -0
- arctrl/py/fable_modules/fable_library/file.py +107 -0
- arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
- arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
- arctrl/py/fable_modules/fable_library/global_.py +63 -0
- arctrl/py/fable_modules/fable_library/guid.py +41 -0
- arctrl/py/fable_modules/fable_library/int32.py +73 -0
- arctrl/py/fable_modules/fable_library/list.py +1788 -0
- arctrl/py/fable_modules/fable_library/long.py +240 -0
- arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
- arctrl/py/fable_modules/fable_library/map.py +1854 -0
- arctrl/py/fable_modules/fable_library/map_util.py +148 -0
- arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
- arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
- arctrl/py/fable_modules/fable_library/native.py +45 -0
- arctrl/py/fable_modules/fable_library/numeric.py +46 -0
- arctrl/py/fable_modules/fable_library/observable.py +222 -0
- arctrl/py/fable_modules/fable_library/option.py +128 -0
- arctrl/py/fable_modules/fable_library/path.py +62 -0
- arctrl/py/fable_modules/fable_library/range.py +117 -0
- arctrl/py/fable_modules/fable_library/reflection.py +463 -0
- arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
- arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
- arctrl/py/fable_modules/fable_library/result.py +212 -0
- arctrl/py/fable_modules/fable_library/seq.py +1979 -0
- arctrl/py/fable_modules/fable_library/seq2.py +221 -0
- arctrl/py/fable_modules/fable_library/set.py +2414 -0
- arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
- arctrl/py/fable_modules/fable_library/string_.py +573 -0
- arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
- arctrl/py/fable_modules/fable_library/system_text.py +237 -0
- arctrl/py/fable_modules/fable_library/task.py +116 -0
- arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
- arctrl/py/fable_modules/fable_library/thread.py +5 -0
- arctrl/py/fable_modules/fable_library/time_span.py +283 -0
- arctrl/py/fable_modules/fable_library/timer.py +24 -0
- arctrl/py/fable_modules/fable_library/types.py +401 -0
- arctrl/py/fable_modules/fable_library/uri.py +109 -0
- arctrl/py/fable_modules/fable_library/util.py +2735 -0
- arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
- arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
- arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
- arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
- arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
- arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
- arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
- arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
- arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
- arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
- arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
- arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
- arctrl/py/fable_modules/siren/__init__.py +0 -0
- arctrl/py/fable_modules/siren/config.py +1038 -0
- arctrl/py/fable_modules/siren/formatting.py +1121 -0
- arctrl/py/fable_modules/siren/siren.py +1941 -0
- arctrl/py/fable_modules/siren/siren_types.py +1229 -0
- arctrl/py/fable_modules/siren/theme_variables.py +517 -0
- arctrl/py/fable_modules/siren/util.py +37 -0
- arctrl/py/fable_modules/siren/yaml.py +101 -0
- arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
- arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
- arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
- arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
- arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
- arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
- arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
- arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
- arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
- arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
- arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
- arctrl/py/fable_modules/yamlicious/encode.py +84 -0
- arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
- arctrl/py/fable_modules/yamlicious/library.py +10 -0
- arctrl/py/fable_modules/yamlicious/persil.py +57 -0
- arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
- arctrl/py/fable_modules/yamlicious/reader.py +739 -0
- arctrl/py/fable_modules/yamlicious/regex.py +29 -0
- arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
- arctrl/py/fable_modules/yamlicious/writer.py +175 -0
- arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
- arctrl/py/json.py +389 -0
- arctrl/py/license.py +169 -0
- arctrl/py/rocrate_io.py +242 -0
- arctrl/py/template_web.py +23 -0
- arctrl/py/xlsx.py +212 -0
- arctrl/py/yaml.py +79 -0
- arctrl/rocrate.py +21 -0
- arctrl-3.0.0.dist-info/METADATA +157 -0
- arctrl-3.0.0.dist-info/RECORD +511 -0
- arctrl-3.0.0.dist-info/WHEEL +4 -0
- arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
from ..Json.decode import Decode_datetime
|
|
3
|
+
from ..Json.encode import date_time
|
|
4
|
+
from ..fable_modules.thoth_json_python.decode import Decode_fromString
|
|
5
|
+
from ..fable_modules.thoth_json_python.encode import to_string as to_string_1
|
|
6
|
+
from ..fable_modules.fable_library.result import FSharpResult_2
|
|
7
|
+
from ..fable_modules.fable_library.string_ import (to_text, printf)
|
|
8
|
+
|
|
9
|
+
def try_from_string(s: str) -> Any | None:
|
|
10
|
+
try:
|
|
11
|
+
def _arrow4298(__unit: None=None) -> Any:
|
|
12
|
+
match_value: FSharpResult_2[Any, str] = Decode_fromString(Decode_datetime, s)
|
|
13
|
+
if match_value.tag == 1:
|
|
14
|
+
raise Exception(to_text(printf("Error decoding string: %O"))(match_value.fields[0]))
|
|
15
|
+
|
|
16
|
+
else:
|
|
17
|
+
return match_value.fields[0]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
return _arrow4298()
|
|
21
|
+
|
|
22
|
+
except Exception as match_value_1:
|
|
23
|
+
return None
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def to_string(d: Any) -> str:
|
|
28
|
+
return to_string_1(0, date_time(d))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
__all__ = ["try_from_string", "to_string"]
|
|
32
|
+
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import Any
|
|
3
|
+
from ..Core.arc_types import (ArcAssay, ArcStudy, ArcWorkflow, ArcRun, ArcInvestigation)
|
|
4
|
+
from ..Core.comment import Comment
|
|
5
|
+
from ..Core.Helper.collections_ import (Option_fromSeq, ResizeArray_map, ResizeArray_choose, ResizeArray_filter)
|
|
6
|
+
from ..Core.person import Person
|
|
7
|
+
from ..Core.publication import Publication
|
|
8
|
+
from ..FileSystem.file_system import FileSystem
|
|
9
|
+
from ..ROCrate.ldcontext import LDContext
|
|
10
|
+
from ..ROCrate.ldobject import (LDNode, LDGraph)
|
|
11
|
+
from ..ROCrate.LDTypes.dataset import LDDataset
|
|
12
|
+
from ..fable_modules.fable_library.date import now
|
|
13
|
+
from ..fable_modules.fable_library.option import (bind, default_arg, value as value_1, map)
|
|
14
|
+
from ..fable_modules.fable_library.reflection import (TypeInfo, class_type)
|
|
15
|
+
from ..fable_modules.fable_library.seq import (to_list, delay, append)
|
|
16
|
+
from ..fable_modules.fable_library.types import Array
|
|
17
|
+
from ..fable_modules.fable_library.util import IEnumerable_1
|
|
18
|
+
from .assay import (AssayConversion_composeAssay_Z5C53FD5C, AssayConversion_decomposeAssay_Z6839B9E8)
|
|
19
|
+
from .basic import (BaseTypes_composeComment_Z13201A7E, BaseTypes_decomposeComment_Z2F770004)
|
|
20
|
+
from .date_time import (try_from_string, to_string)
|
|
21
|
+
from .person import (PersonConversion_composePerson_Z64D846DC, PersonConversion_decomposePerson_Z6839B9E8)
|
|
22
|
+
from .run import (RunConversion_composeRun_Z8CC08AC, RunConversion_decomposeRun_Z6839B9E8)
|
|
23
|
+
from .scholarly_article import (ScholarlyArticleConversion_composeScholarlyArticle_D324A6D, ScholarlyArticleConversion_decomposeScholarlyArticle_Z6839B9E8)
|
|
24
|
+
from .study import (StudyConversion_composeStudy_ZFE0E38E, StudyConversion_decomposeStudy_Z6839B9E8)
|
|
25
|
+
from .workflow import (WorkflowConversion_composeWorkflow_42450E6E, WorkflowConversion_decomposeWorkflow_Z6839B9E8)
|
|
26
|
+
|
|
27
|
+
def _expr4414() -> TypeInfo:
|
|
28
|
+
return class_type("ARCtrl.Conversion.InvestigationConversion", None, InvestigationConversion)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class InvestigationConversion:
|
|
32
|
+
...
|
|
33
|
+
|
|
34
|
+
InvestigationConversion_reflection = _expr4414
|
|
35
|
+
|
|
36
|
+
def InvestigationConversion_composeInvestigation_Z284BC0AC(investigation: ArcInvestigation, fs: FileSystem | None=None, ignore_broken_wr: bool | None=None) -> LDNode:
|
|
37
|
+
name: str
|
|
38
|
+
match_value: str | None = investigation.Title
|
|
39
|
+
if match_value is None:
|
|
40
|
+
raise Exception("Investigation must have a title")
|
|
41
|
+
|
|
42
|
+
else:
|
|
43
|
+
name = match_value
|
|
44
|
+
|
|
45
|
+
def _arrow4416(s: str, investigation: Any=investigation, fs: Any=fs, ignore_broken_wr: Any=ignore_broken_wr) -> Any | None:
|
|
46
|
+
return try_from_string(s)
|
|
47
|
+
|
|
48
|
+
date_created: Any | None = bind(_arrow4416, investigation.SubmissionDate)
|
|
49
|
+
def _arrow4417(s_1: str, investigation: Any=investigation, fs: Any=fs, ignore_broken_wr: Any=ignore_broken_wr) -> Any | None:
|
|
50
|
+
return try_from_string(s_1)
|
|
51
|
+
|
|
52
|
+
date_published: Any = default_arg(bind(_arrow4417, investigation.PublicReleaseDate), now())
|
|
53
|
+
def f(p: Publication, investigation: Any=investigation, fs: Any=fs, ignore_broken_wr: Any=ignore_broken_wr) -> LDNode:
|
|
54
|
+
return ScholarlyArticleConversion_composeScholarlyArticle_D324A6D(p)
|
|
55
|
+
|
|
56
|
+
publications: Array[LDNode] | None = Option_fromSeq(ResizeArray_map(f, investigation.Publications))
|
|
57
|
+
def f_1(c: Person, investigation: Any=investigation, fs: Any=fs, ignore_broken_wr: Any=ignore_broken_wr) -> LDNode:
|
|
58
|
+
return PersonConversion_composePerson_Z64D846DC(c)
|
|
59
|
+
|
|
60
|
+
creators: Array[LDNode] | None = Option_fromSeq(ResizeArray_map(f_1, investigation.Contacts))
|
|
61
|
+
def f_2(c_1: Comment, investigation: Any=investigation, fs: Any=fs, ignore_broken_wr: Any=ignore_broken_wr) -> LDNode:
|
|
62
|
+
return BaseTypes_composeComment_Z13201A7E(c_1)
|
|
63
|
+
|
|
64
|
+
comments: Array[LDNode] | None = Option_fromSeq(ResizeArray_map(f_2, investigation.Comments))
|
|
65
|
+
def _arrow4421(__unit: None=None, investigation: Any=investigation, fs: Any=fs, ignore_broken_wr: Any=ignore_broken_wr) -> IEnumerable_1[LDNode]:
|
|
66
|
+
def f_3(a_3: ArcAssay) -> LDNode:
|
|
67
|
+
return AssayConversion_composeAssay_Z5C53FD5C(a_3, fs)
|
|
68
|
+
|
|
69
|
+
def _arrow4420(__unit: None=None) -> IEnumerable_1[LDNode]:
|
|
70
|
+
def f_4(s_2: ArcStudy) -> LDNode:
|
|
71
|
+
return StudyConversion_composeStudy_ZFE0E38E(s_2, fs)
|
|
72
|
+
|
|
73
|
+
def _arrow4419(__unit: None=None) -> IEnumerable_1[LDNode]:
|
|
74
|
+
def f_5(w: ArcWorkflow) -> LDNode | None:
|
|
75
|
+
try:
|
|
76
|
+
return WorkflowConversion_composeWorkflow_42450E6E(w, fs)
|
|
77
|
+
|
|
78
|
+
except Exception as match_value_1:
|
|
79
|
+
if value_1(ignore_broken_wr) if (ignore_broken_wr is not None) else False:
|
|
80
|
+
return None
|
|
81
|
+
|
|
82
|
+
else:
|
|
83
|
+
raise match_value_1
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def _arrow4418(__unit: None=None) -> IEnumerable_1[LDNode]:
|
|
88
|
+
def f_6(r: ArcRun) -> LDNode | None:
|
|
89
|
+
try:
|
|
90
|
+
return RunConversion_composeRun_Z8CC08AC(r, fs)
|
|
91
|
+
|
|
92
|
+
except Exception as match_value_2:
|
|
93
|
+
if value_1(ignore_broken_wr) if (ignore_broken_wr is not None) else False:
|
|
94
|
+
return None
|
|
95
|
+
|
|
96
|
+
else:
|
|
97
|
+
raise match_value_2
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
return ResizeArray_choose(f_6, investigation.Runs)
|
|
102
|
+
|
|
103
|
+
return append(ResizeArray_choose(f_5, investigation.Workflows), delay(_arrow4418))
|
|
104
|
+
|
|
105
|
+
return append(ResizeArray_map(f_4, investigation.Studies), delay(_arrow4419))
|
|
106
|
+
|
|
107
|
+
return append(ResizeArray_map(f_3, investigation.Assays), delay(_arrow4420))
|
|
108
|
+
|
|
109
|
+
has_parts: Array[LDNode] | None = Option_fromSeq(list(to_list(delay(_arrow4421))))
|
|
110
|
+
mentions: Array[LDNode] | None = Option_fromSeq([])
|
|
111
|
+
return LDDataset.create_investigation(investigation.Identifier, name, None, creators, date_created, date_published, None, investigation.Description, has_parts, publications, comments, mentions)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def InvestigationConversion_decomposeInvestigation_Z6839B9E8(investigation: LDNode, graph: LDGraph | None=None, context: LDContext | None=None) -> ArcInvestigation:
|
|
115
|
+
title: str | None
|
|
116
|
+
match_value: str | None = LDDataset.try_get_name_as_string(investigation, context)
|
|
117
|
+
title = LDDataset.try_get_headline_as_string(investigation, context) if (match_value is None) else match_value
|
|
118
|
+
def _arrow4422(d: Any, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> str:
|
|
119
|
+
return to_string(d)
|
|
120
|
+
|
|
121
|
+
date_created: str | None = map(_arrow4422, LDDataset.try_get_date_created_as_date_time(investigation, context))
|
|
122
|
+
def _arrow4423(d_1: Any, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> str:
|
|
123
|
+
return to_string(d_1)
|
|
124
|
+
|
|
125
|
+
date_published: str | None = map(_arrow4423, LDDataset.try_get_date_published_as_date_time(investigation, context))
|
|
126
|
+
def f(p: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> Publication:
|
|
127
|
+
return ScholarlyArticleConversion_decomposeScholarlyArticle_Z6839B9E8(p, graph, context)
|
|
128
|
+
|
|
129
|
+
publications: Array[Publication] = ResizeArray_map(f, LDDataset.get_citations(investigation, graph, context))
|
|
130
|
+
def f_1(c: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> Person:
|
|
131
|
+
return PersonConversion_decomposePerson_Z6839B9E8(c, graph, context)
|
|
132
|
+
|
|
133
|
+
creators: Array[Person] = ResizeArray_map(f_1, LDDataset.get_creators(investigation, graph, context))
|
|
134
|
+
datasets: Array[LDNode] = LDDataset.get_has_parts_as_dataset(investigation, graph, context)
|
|
135
|
+
def f_3(d_3: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> ArcStudy:
|
|
136
|
+
return StudyConversion_decomposeStudy_Z6839B9E8(d_3, graph, context)
|
|
137
|
+
|
|
138
|
+
def f_2(d_2: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> bool:
|
|
139
|
+
return LDDataset.validate_study(d_2, context)
|
|
140
|
+
|
|
141
|
+
studies: Array[ArcStudy] = ResizeArray_map(f_3, ResizeArray_filter(f_2, datasets))
|
|
142
|
+
def f_5(d_5: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> ArcAssay:
|
|
143
|
+
return AssayConversion_decomposeAssay_Z6839B9E8(d_5, graph, context)
|
|
144
|
+
|
|
145
|
+
def f_4(d_4: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> bool:
|
|
146
|
+
return LDDataset.validate_assay(d_4, context)
|
|
147
|
+
|
|
148
|
+
assays: Array[ArcAssay] = ResizeArray_map(f_5, ResizeArray_filter(f_4, datasets))
|
|
149
|
+
def f_7(d_7: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> ArcWorkflow:
|
|
150
|
+
return WorkflowConversion_decomposeWorkflow_Z6839B9E8(d_7, graph, context)
|
|
151
|
+
|
|
152
|
+
def f_6(d_6: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> bool:
|
|
153
|
+
return LDDataset.validate_arcworkflow(d_6, graph, context)
|
|
154
|
+
|
|
155
|
+
workflows: Array[ArcWorkflow] = ResizeArray_map(f_7, ResizeArray_filter(f_6, datasets))
|
|
156
|
+
def f_9(d_9: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> ArcRun:
|
|
157
|
+
return RunConversion_decomposeRun_Z6839B9E8(d_9, graph, context)
|
|
158
|
+
|
|
159
|
+
def f_8(d_8: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> bool:
|
|
160
|
+
return LDDataset.validate_arcrun(d_8, context)
|
|
161
|
+
|
|
162
|
+
runs: Array[ArcRun] = ResizeArray_map(f_9, ResizeArray_filter(f_8, datasets))
|
|
163
|
+
def f_10(c_1: LDNode, investigation: Any=investigation, graph: Any=graph, context: Any=context) -> Comment:
|
|
164
|
+
return BaseTypes_decomposeComment_Z2F770004(c_1, context)
|
|
165
|
+
|
|
166
|
+
comments: Array[Comment] = ResizeArray_map(f_10, LDDataset.get_comments(investigation, graph, context))
|
|
167
|
+
return ArcInvestigation.create(LDDataset.get_identifier_as_string(investigation, context), title, LDDataset.try_get_description_as_string(investigation, context), date_created, date_published, None, publications, creators, assays, studies, workflows, runs, None, comments)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
__all__ = ["InvestigationConversion_reflection", "InvestigationConversion_composeInvestigation_Z284BC0AC", "InvestigationConversion_decomposeInvestigation_Z6839B9E8"]
|
|
171
|
+
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import Any
|
|
3
|
+
from ..Core.comment import Comment
|
|
4
|
+
from ..Core.Helper.collections_ import (Option_fromSeq, ResizeArray_map)
|
|
5
|
+
from ..Core.Helper.orcid import try_get_orcid_number
|
|
6
|
+
from ..Core.ontology_annotation import OntologyAnnotation
|
|
7
|
+
from ..Core.person import Person
|
|
8
|
+
from ..Json.ROCrate.ldnode import (decoder as decoder_1, encoder)
|
|
9
|
+
from ..ROCrate.ldcontext import LDContext
|
|
10
|
+
from ..ROCrate.ldobject import (LDNode, LDGraph)
|
|
11
|
+
from ..ROCrate.LDTypes.organization import LDOrganization
|
|
12
|
+
from ..ROCrate.LDTypes.person import LDPerson
|
|
13
|
+
from ..fable_modules.thoth_json_python.decode import Decode_fromString
|
|
14
|
+
from ..fable_modules.thoth_json_python.encode import to_string
|
|
15
|
+
from ..fable_modules.fable_library.option import map
|
|
16
|
+
from ..fable_modules.fable_library.reflection import (TypeInfo, class_type)
|
|
17
|
+
from ..fable_modules.fable_library.result import FSharpResult_2
|
|
18
|
+
from ..fable_modules.fable_library.seq import (is_empty, filter)
|
|
19
|
+
from ..fable_modules.fable_library.string_ import (to_text, printf)
|
|
20
|
+
from ..fable_modules.fable_library.types import (Array, to_string as to_string_1)
|
|
21
|
+
from .basic import (BaseTypes_composeDefinedTerm_ZDED3A0F, BaseTypes_decomposeDefinedTerm_Z2F770004)
|
|
22
|
+
|
|
23
|
+
def _expr4317() -> TypeInfo:
|
|
24
|
+
return class_type("ARCtrl.Conversion.PersonConversion", None, PersonConversion)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class PersonConversion:
|
|
28
|
+
...
|
|
29
|
+
|
|
30
|
+
PersonConversion_reflection = _expr4317
|
|
31
|
+
|
|
32
|
+
def PersonConversion_get_orcidKey(__unit: None=None) -> str:
|
|
33
|
+
return "ORCID"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def PersonConversion_composeAffiliation_Z721C83C5(affiliation: str) -> LDNode:
|
|
37
|
+
try:
|
|
38
|
+
match_value: FSharpResult_2[LDNode, str] = Decode_fromString(decoder_1, affiliation)
|
|
39
|
+
if match_value.tag == 1:
|
|
40
|
+
raise Exception(to_text(printf("Error decoding string: %O"))(match_value.fields[0]))
|
|
41
|
+
|
|
42
|
+
else:
|
|
43
|
+
return match_value.fields[0]
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
except Exception as match_value_1:
|
|
47
|
+
return LDOrganization.create(affiliation)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def PersonConversion_decomposeAffiliation_Z2F770004(affiliation: LDNode, context: LDContext | None=None) -> str:
|
|
52
|
+
def predicate(n: str, affiliation: Any=affiliation, context: Any=context) -> bool:
|
|
53
|
+
return n != LDOrganization.name()
|
|
54
|
+
|
|
55
|
+
if is_empty(filter(predicate, affiliation.GetPropertyNames(context))):
|
|
56
|
+
return LDOrganization.get_name_as_string(affiliation, context)
|
|
57
|
+
|
|
58
|
+
else:
|
|
59
|
+
return to_string(0, encoder(affiliation))
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def PersonConversion_composeAddress_Z721C83C5(address: str) -> Any:
|
|
64
|
+
try:
|
|
65
|
+
def _arrow4323(__unit: None=None) -> LDNode:
|
|
66
|
+
match_value: FSharpResult_2[LDNode, str] = Decode_fromString(decoder_1, address)
|
|
67
|
+
if match_value.tag == 1:
|
|
68
|
+
raise Exception(to_text(printf("Error decoding string: %O"))(match_value.fields[0]))
|
|
69
|
+
|
|
70
|
+
else:
|
|
71
|
+
return match_value.fields[0]
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
return _arrow4323()
|
|
75
|
+
|
|
76
|
+
except Exception as match_value_1:
|
|
77
|
+
return address
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def PersonConversion_decomposeAddress_4E60E31B(address: Any=None) -> str:
|
|
82
|
+
if str(type(address)) == "<class \'str\'>":
|
|
83
|
+
return address
|
|
84
|
+
|
|
85
|
+
elif isinstance(address, LDNode):
|
|
86
|
+
return to_string(0, encoder(address))
|
|
87
|
+
|
|
88
|
+
else:
|
|
89
|
+
raise Exception("Address must be a string or a Json.LDNode")
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def PersonConversion_composePerson_Z64D846DC(person: Person) -> LDNode:
|
|
94
|
+
given_name: str
|
|
95
|
+
match_value: str | None = person.FirstName
|
|
96
|
+
if match_value is None:
|
|
97
|
+
raise Exception("Person must have a given name")
|
|
98
|
+
|
|
99
|
+
else:
|
|
100
|
+
given_name = match_value
|
|
101
|
+
|
|
102
|
+
def f(term: OntologyAnnotation, person: Any=person) -> LDNode:
|
|
103
|
+
return BaseTypes_composeDefinedTerm_ZDED3A0F(term)
|
|
104
|
+
|
|
105
|
+
job_titles: Array[LDNode] | None = Option_fromSeq(ResizeArray_map(f, person.Roles))
|
|
106
|
+
def f_1(c: Comment, person: Any=person) -> str:
|
|
107
|
+
return to_string_1(c)
|
|
108
|
+
|
|
109
|
+
disambiguating_descriptions: Array[str] | None = Option_fromSeq(ResizeArray_map(f_1, person.Comments))
|
|
110
|
+
def mapping(address: str, person: Any=person) -> Any:
|
|
111
|
+
return PersonConversion_composeAddress_Z721C83C5(address)
|
|
112
|
+
|
|
113
|
+
address_1: Any | None = map(mapping, person.Address)
|
|
114
|
+
def mapping_1(affiliation: str, person: Any=person) -> LDNode:
|
|
115
|
+
return PersonConversion_composeAffiliation_Z721C83C5(affiliation)
|
|
116
|
+
|
|
117
|
+
affiliation_1: LDNode | None = map(mapping_1, person.Affiliation)
|
|
118
|
+
return LDPerson.create(given_name, person.ORCID, None, affiliation_1, person.EMail, person.LastName, None, job_titles, person.MidInitials, address_1, disambiguating_descriptions, person.Fax, person.Phone)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def PersonConversion_decomposePerson_Z6839B9E8(person: LDNode, graph: LDGraph | None=None, context: LDContext | None=None) -> Person:
|
|
122
|
+
orcid: str | None = try_get_orcid_number(person.Id)
|
|
123
|
+
address: str | None
|
|
124
|
+
match_value: str | None = LDPerson.try_get_address_as_string(person, context)
|
|
125
|
+
if match_value is None:
|
|
126
|
+
match_value_1: LDNode | None = LDPerson.try_get_address_as_postal_address(person, graph, context)
|
|
127
|
+
address = None if (match_value_1 is None) else PersonConversion_decomposeAddress_4E60E31B(match_value_1)
|
|
128
|
+
|
|
129
|
+
else:
|
|
130
|
+
address = match_value
|
|
131
|
+
|
|
132
|
+
def f(r: LDNode, person: Any=person, graph: Any=graph, context: Any=context) -> OntologyAnnotation:
|
|
133
|
+
return BaseTypes_decomposeDefinedTerm_Z2F770004(r, context)
|
|
134
|
+
|
|
135
|
+
roles: Array[OntologyAnnotation] = ResizeArray_map(f, LDPerson.get_job_titles_as_defined_term(person, graph, context))
|
|
136
|
+
def f_1(s_1: str, person: Any=person, graph: Any=graph, context: Any=context) -> Comment:
|
|
137
|
+
return Comment.from_string(s_1)
|
|
138
|
+
|
|
139
|
+
comments: Array[Comment] = ResizeArray_map(f_1, LDPerson.get_disambiguating_descriptions_as_string(person, context))
|
|
140
|
+
def mapping(a_3: LDNode, person: Any=person, graph: Any=graph, context: Any=context) -> str:
|
|
141
|
+
return PersonConversion_decomposeAffiliation_Z2F770004(a_3, context)
|
|
142
|
+
|
|
143
|
+
affiliation: str | None = map(mapping, LDPerson.try_get_affiliation(person, graph, context))
|
|
144
|
+
return Person.create(orcid, LDPerson.try_get_family_name_as_string(person, context), LDPerson.get_given_name_as_string(person, context), LDPerson.try_get_additional_name_as_string(person, context), LDPerson.try_get_email_as_string(person, context), LDPerson.try_get_telephone_as_string(person, context), LDPerson.try_get_fax_number_as_string(person, context), address, affiliation, roles, comments)
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
__all__ = ["PersonConversion_reflection", "PersonConversion_get_orcidKey", "PersonConversion_composeAffiliation_Z721C83C5", "PersonConversion_decomposeAffiliation_Z2F770004", "PersonConversion_composeAddress_Z721C83C5", "PersonConversion_decomposeAddress_4E60E31B", "PersonConversion_composePerson_Z64D846DC", "PersonConversion_decomposePerson_Z6839B9E8"]
|
|
148
|
+
|