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.
Files changed (511) hide show
  1. arctrl/__init__.py +23 -0
  2. arctrl/cwl.py +12 -0
  3. arctrl/py/CWL/__init__.py +0 -0
  4. arctrl/py/CWL/cwlprocessing_unit.py +221 -0
  5. arctrl/py/CWL/cwltypes.py +364 -0
  6. arctrl/py/CWL/decode.py +3532 -0
  7. arctrl/py/CWL/encode.py +1905 -0
  8. arctrl/py/CWL/expression_tool_description.py +192 -0
  9. arctrl/py/CWL/hash_helpers.py +60 -0
  10. arctrl/py/CWL/inputs.py +122 -0
  11. arctrl/py/CWL/operation_description.py +169 -0
  12. arctrl/py/CWL/outputs.py +171 -0
  13. arctrl/py/CWL/parameter_reference.py +74 -0
  14. arctrl/py/CWL/requirements.py +350 -0
  15. arctrl/py/CWL/tool_description.py +192 -0
  16. arctrl/py/CWL/workflow_description.py +181 -0
  17. arctrl/py/CWL/workflow_steps.py +354 -0
  18. arctrl/py/Contract/__init__.py +0 -0
  19. arctrl/py/Contract/arc.py +89 -0
  20. arctrl/py/Contract/arc_assay.py +125 -0
  21. arctrl/py/Contract/arc_investigation.py +88 -0
  22. arctrl/py/Contract/arc_run.py +291 -0
  23. arctrl/py/Contract/arc_study.py +126 -0
  24. arctrl/py/Contract/arc_workflow.py +213 -0
  25. arctrl/py/Contract/contract.py +153 -0
  26. arctrl/py/Contract/datamap.py +396 -0
  27. arctrl/py/Contract/git.py +116 -0
  28. arctrl/py/Contract/license.py +58 -0
  29. arctrl/py/Contract/validation_packages_config.py +107 -0
  30. arctrl/py/ContractIO/__init__.py +0 -0
  31. arctrl/py/ContractIO/contract_io.py +350 -0
  32. arctrl/py/ContractIO/file_system_helper.py +264 -0
  33. arctrl/py/Conversion/__init__.py +0 -0
  34. arctrl/py/Conversion/assay.py +151 -0
  35. arctrl/py/Conversion/basic.py +559 -0
  36. arctrl/py/Conversion/column_index.py +91 -0
  37. arctrl/py/Conversion/datamap.py +36 -0
  38. arctrl/py/Conversion/date_time.py +32 -0
  39. arctrl/py/Conversion/investigation.py +171 -0
  40. arctrl/py/Conversion/person.py +148 -0
  41. arctrl/py/Conversion/process.py +828 -0
  42. arctrl/py/Conversion/run.py +367 -0
  43. arctrl/py/Conversion/scholarly_article.py +163 -0
  44. arctrl/py/Conversion/study.py +99 -0
  45. arctrl/py/Conversion/table.py +229 -0
  46. arctrl/py/Conversion/workflow.py +680 -0
  47. arctrl/py/Core/Helper/__init__.py +0 -0
  48. arctrl/py/Core/Helper/collections_.py +512 -0
  49. arctrl/py/Core/Helper/date_time.py +26 -0
  50. arctrl/py/Core/Helper/hash_codes.py +60 -0
  51. arctrl/py/Core/Helper/identifier.py +290 -0
  52. arctrl/py/Core/Helper/orcid.py +42 -0
  53. arctrl/py/Core/Helper/printer.py +13 -0
  54. arctrl/py/Core/Helper/regex.py +554 -0
  55. arctrl/py/Core/Helper/sem_ver.py +71 -0
  56. arctrl/py/Core/Helper/url.py +148 -0
  57. arctrl/py/Core/Process/__init__.py +0 -0
  58. arctrl/py/Core/Process/column_index.py +280 -0
  59. arctrl/py/Core/Process/component.py +200 -0
  60. arctrl/py/Core/Process/factor.py +151 -0
  61. arctrl/py/Core/Process/factor_value.py +182 -0
  62. arctrl/py/Core/Process/material.py +74 -0
  63. arctrl/py/Core/Process/material_attribute.py +95 -0
  64. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  65. arctrl/py/Core/Process/material_type.py +45 -0
  66. arctrl/py/Core/Process/process.py +477 -0
  67. arctrl/py/Core/Process/process_input.py +265 -0
  68. arctrl/py/Core/Process/process_output.py +235 -0
  69. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  70. arctrl/py/Core/Process/process_sequence.py +435 -0
  71. arctrl/py/Core/Process/protocol.py +175 -0
  72. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  73. arctrl/py/Core/Process/sample.py +82 -0
  74. arctrl/py/Core/Process/source.py +62 -0
  75. arctrl/py/Core/Table/__init__.py +0 -0
  76. arctrl/py/Core/Table/arc_table.py +1206 -0
  77. arctrl/py/Core/Table/arc_table_aux.py +1308 -0
  78. arctrl/py/Core/Table/arc_tables.py +574 -0
  79. arctrl/py/Core/Table/composite_cell.py +319 -0
  80. arctrl/py/Core/Table/composite_column.py +73 -0
  81. arctrl/py/Core/Table/composite_header.py +739 -0
  82. arctrl/py/Core/__init__.py +0 -0
  83. arctrl/py/Core/arc_types.py +5312 -0
  84. arctrl/py/Core/comment.py +128 -0
  85. arctrl/py/Core/comment_list.py +127 -0
  86. arctrl/py/Core/conversion.py +1375 -0
  87. arctrl/py/Core/data.py +247 -0
  88. arctrl/py/Core/data_context.py +157 -0
  89. arctrl/py/Core/data_file.py +112 -0
  90. arctrl/py/Core/datamap.py +217 -0
  91. arctrl/py/Core/identifier_setters.py +43 -0
  92. arctrl/py/Core/iproperty_value.py +36 -0
  93. arctrl/py/Core/ontology_annotation.py +298 -0
  94. arctrl/py/Core/ontology_source_reference.py +114 -0
  95. arctrl/py/Core/person.py +259 -0
  96. arctrl/py/Core/publication.py +161 -0
  97. arctrl/py/Core/template.py +231 -0
  98. arctrl/py/Core/templates.py +148 -0
  99. arctrl/py/Core/uri.py +11 -0
  100. arctrl/py/Core/value.py +188 -0
  101. arctrl/py/FileSystem/__init__.py +0 -0
  102. arctrl/py/FileSystem/commit.py +21 -0
  103. arctrl/py/FileSystem/default_gitattributes.py +1 -0
  104. arctrl/py/FileSystem/default_gitignore.py +1 -0
  105. arctrl/py/FileSystem/default_license.py +1 -0
  106. arctrl/py/FileSystem/file_system.py +58 -0
  107. arctrl/py/FileSystem/file_system_tree.py +483 -0
  108. arctrl/py/FileSystem/path.py +266 -0
  109. arctrl/py/Json/Datamap/__init__.py +0 -0
  110. arctrl/py/Json/Datamap/data_context.py +101 -0
  111. arctrl/py/Json/Datamap/datamap.py +53 -0
  112. arctrl/py/Json/Process/__init__.py +0 -0
  113. arctrl/py/Json/Process/assay_materials.py +46 -0
  114. arctrl/py/Json/Process/component.py +125 -0
  115. arctrl/py/Json/Process/factor.py +107 -0
  116. arctrl/py/Json/Process/factor_value.py +101 -0
  117. arctrl/py/Json/Process/material.py +226 -0
  118. arctrl/py/Json/Process/material_attribute.py +79 -0
  119. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  120. arctrl/py/Json/Process/material_type.py +53 -0
  121. arctrl/py/Json/Process/process.py +296 -0
  122. arctrl/py/Json/Process/process_input.py +83 -0
  123. arctrl/py/Json/Process/process_output.py +67 -0
  124. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  125. arctrl/py/Json/Process/protocol.py +354 -0
  126. arctrl/py/Json/Process/protocol_parameter.py +91 -0
  127. arctrl/py/Json/Process/sample.py +277 -0
  128. arctrl/py/Json/Process/source.py +214 -0
  129. arctrl/py/Json/Process/study_materials.py +52 -0
  130. arctrl/py/Json/Process/value.py +56 -0
  131. arctrl/py/Json/ROCrate/__init__.py +0 -0
  132. arctrl/py/Json/ROCrate/ldcontext.py +143 -0
  133. arctrl/py/Json/ROCrate/ldgraph.py +117 -0
  134. arctrl/py/Json/ROCrate/ldnode.py +304 -0
  135. arctrl/py/Json/ROCrate/ldref.py +44 -0
  136. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  137. arctrl/py/Json/Table/__init__.py +0 -0
  138. arctrl/py/Json/Table/arc_table.py +375 -0
  139. arctrl/py/Json/Table/cell_table.py +83 -0
  140. arctrl/py/Json/Table/composite_cell.py +136 -0
  141. arctrl/py/Json/Table/composite_header.py +67 -0
  142. arctrl/py/Json/Table/iotype.py +24 -0
  143. arctrl/py/Json/Table/oatable.py +82 -0
  144. arctrl/py/Json/Table/templates.py +281 -0
  145. arctrl/py/Json/__init__.py +0 -0
  146. arctrl/py/Json/assay.py +600 -0
  147. arctrl/py/Json/comment.py +206 -0
  148. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  149. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  150. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  151. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  152. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  153. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  154. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  155. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  156. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  157. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  158. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  159. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  160. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  161. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  162. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  163. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  164. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  165. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  166. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  167. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  168. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  169. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  170. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  171. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  172. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  173. arctrl/py/Json/converter_options.py +23 -0
  174. arctrl/py/Json/data.py +356 -0
  175. arctrl/py/Json/data_file.py +63 -0
  176. arctrl/py/Json/decode.py +271 -0
  177. arctrl/py/Json/encode.py +140 -0
  178. arctrl/py/Json/idtable.py +44 -0
  179. arctrl/py/Json/investigation.py +695 -0
  180. arctrl/py/Json/ontology_annotation.py +404 -0
  181. arctrl/py/Json/ontology_source_reference.py +255 -0
  182. arctrl/py/Json/person.py +658 -0
  183. arctrl/py/Json/property_value.py +359 -0
  184. arctrl/py/Json/publication.py +279 -0
  185. arctrl/py/Json/run.py +275 -0
  186. arctrl/py/Json/string_table.py +87 -0
  187. arctrl/py/Json/study.py +793 -0
  188. arctrl/py/Json/workflow.py +307 -0
  189. arctrl/py/JsonIO/Process/__init__.py +0 -0
  190. arctrl/py/JsonIO/Process/component.py +60 -0
  191. arctrl/py/JsonIO/Process/factor.py +36 -0
  192. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  193. arctrl/py/JsonIO/Process/material.py +60 -0
  194. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  195. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  196. arctrl/py/JsonIO/Process/material_type.py +36 -0
  197. arctrl/py/JsonIO/Process/process.py +60 -0
  198. arctrl/py/JsonIO/Process/process_input.py +38 -0
  199. arctrl/py/JsonIO/Process/process_output.py +60 -0
  200. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  201. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  202. arctrl/py/JsonIO/Process/protocol.py +60 -0
  203. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  204. arctrl/py/JsonIO/Process/sample.py +60 -0
  205. arctrl/py/JsonIO/Process/source.py +60 -0
  206. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  207. arctrl/py/JsonIO/Process/value.py +32 -0
  208. arctrl/py/JsonIO/Table/__init__.py +0 -0
  209. arctrl/py/JsonIO/Table/arc_table.py +103 -0
  210. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  211. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  212. arctrl/py/JsonIO/Table/compression.py +67 -0
  213. arctrl/py/JsonIO/Table/iotype.py +36 -0
  214. arctrl/py/JsonIO/Table/templates.py +113 -0
  215. arctrl/py/JsonIO/__init__.py +0 -0
  216. arctrl/py/JsonIO/assay.py +113 -0
  217. arctrl/py/JsonIO/comment.py +80 -0
  218. arctrl/py/JsonIO/data.py +60 -0
  219. arctrl/py/JsonIO/data_file.py +58 -0
  220. arctrl/py/JsonIO/datamap.py +36 -0
  221. arctrl/py/JsonIO/decode.py +9 -0
  222. arctrl/py/JsonIO/encode.py +1 -0
  223. arctrl/py/JsonIO/investigation.py +91 -0
  224. arctrl/py/JsonIO/ldobject.py +106 -0
  225. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  226. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  227. arctrl/py/JsonIO/person.py +82 -0
  228. arctrl/py/JsonIO/publication.py +82 -0
  229. arctrl/py/JsonIO/run.py +68 -0
  230. arctrl/py/JsonIO/study.py +114 -0
  231. arctrl/py/JsonIO/workflow.py +68 -0
  232. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  233. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  234. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  235. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  236. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  237. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  238. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  239. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  240. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  241. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  242. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  243. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  244. arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
  245. arctrl/py/ROCrate/LDTypes/comment.py +131 -0
  246. arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
  247. arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
  248. arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
  249. arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
  250. arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
  251. arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
  252. arctrl/py/ROCrate/LDTypes/file.py +281 -0
  253. arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
  254. arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
  255. arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
  256. arctrl/py/ROCrate/LDTypes/organization.py +83 -0
  257. arctrl/py/ROCrate/LDTypes/person.py +484 -0
  258. arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
  259. arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
  260. arctrl/py/ROCrate/LDTypes/sample.py +202 -0
  261. arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
  262. arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
  263. arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
  264. arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
  265. arctrl/py/ROCrate/__init__.py +0 -0
  266. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  267. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  268. arctrl/py/ROCrate/helper.py +8 -0
  269. arctrl/py/ROCrate/ldcontext.py +406 -0
  270. arctrl/py/ROCrate/ldobject.py +1247 -0
  271. arctrl/py/ROCrate/rocrate_context.py +51 -0
  272. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  273. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
  274. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  275. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
  276. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  277. arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  278. arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
  279. arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
  280. arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
  281. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  282. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  283. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  284. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  285. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  286. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  287. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  288. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  289. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  290. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  291. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  292. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  293. arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
  294. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  295. arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
  296. arctrl/py/Spreadsheet/__init__.py +0 -0
  297. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  298. arctrl/py/Spreadsheet/arc_investigation.py +435 -0
  299. arctrl/py/Spreadsheet/arc_run.py +190 -0
  300. arctrl/py/Spreadsheet/arc_study.py +144 -0
  301. arctrl/py/Spreadsheet/arc_workflow.py +177 -0
  302. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  303. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  304. arctrl/py/Spreadsheet/datamap.py +43 -0
  305. arctrl/py/Spreadsheet/template.py +460 -0
  306. arctrl/py/ValidationPackages/__init__.py +0 -0
  307. arctrl/py/ValidationPackages/validation_package.py +82 -0
  308. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  309. arctrl/py/WebRequest/__init__.py +0 -0
  310. arctrl/py/WebRequest/web_request.py +9 -0
  311. arctrl/py/WebRequest/web_request_py.py +135 -0
  312. arctrl/py/WorkflowGraph/__init__.py +0 -0
  313. arctrl/py/WorkflowGraph/adapters.py +141 -0
  314. arctrl/py/WorkflowGraph/build_options.py +45 -0
  315. arctrl/py/WorkflowGraph/builder.py +720 -0
  316. arctrl/py/WorkflowGraph/graph_types.py +260 -0
  317. arctrl/py/WorkflowGraph/query_helpers.py +76 -0
  318. arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
  319. arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
  320. arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
  321. arctrl/py/Yaml/__init__.py +0 -0
  322. arctrl/py/Yaml/decode.py +1 -0
  323. arctrl/py/Yaml/encode.py +10 -0
  324. arctrl/py/Yaml/validation_package.py +77 -0
  325. arctrl/py/Yaml/validation_packages_config.py +86 -0
  326. arctrl/py/__init__.py +0 -0
  327. arctrl/py/arc.py +1891 -0
  328. arctrl/py/column_index.py +280 -0
  329. arctrl/py/conversion.py +142 -0
  330. arctrl/py/cross_async.py +76 -0
  331. arctrl/py/cwlrun_resolver.py +228 -0
  332. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  333. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  334. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  335. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  336. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  337. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  338. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  339. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  340. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  341. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  342. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  343. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  344. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  345. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  346. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  347. arctrl/py/fable_modules/fable_library/char.py +237 -0
  348. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  349. arctrl/py/fable_modules/fable_library/date.py +779 -0
  350. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  351. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  352. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  353. arctrl/py/fable_modules/fable_library/double.py +87 -0
  354. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  355. arctrl/py/fable_modules/fable_library/event.py +206 -0
  356. arctrl/py/fable_modules/fable_library/file.py +107 -0
  357. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  358. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  359. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  360. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  361. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  362. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  363. arctrl/py/fable_modules/fable_library/long.py +240 -0
  364. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  365. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  366. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  367. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  368. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  369. arctrl/py/fable_modules/fable_library/native.py +45 -0
  370. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  371. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  372. arctrl/py/fable_modules/fable_library/option.py +128 -0
  373. arctrl/py/fable_modules/fable_library/path.py +62 -0
  374. arctrl/py/fable_modules/fable_library/range.py +117 -0
  375. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  376. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  377. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  378. arctrl/py/fable_modules/fable_library/result.py +212 -0
  379. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  380. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  381. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  382. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  383. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  384. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  385. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  386. arctrl/py/fable_modules/fable_library/task.py +116 -0
  387. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  388. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  389. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  390. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  391. arctrl/py/fable_modules/fable_library/types.py +401 -0
  392. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  393. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  394. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  395. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  396. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  397. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  398. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  399. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  400. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  401. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  402. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  403. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  404. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  405. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  406. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  407. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  408. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  409. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  410. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  411. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  412. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  413. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  414. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  415. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  416. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  417. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  418. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  419. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  420. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  421. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
  422. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
  423. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  424. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  425. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  426. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  427. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  428. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  429. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  430. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  431. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  432. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
  433. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  434. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  435. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  436. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  437. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  438. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  439. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
  440. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  441. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  442. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
  443. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  444. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
  445. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
  446. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  447. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
  448. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  449. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  450. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
  451. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
  452. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  453. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  454. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
  455. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  456. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  457. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
  458. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
  459. arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
  460. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
  461. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  462. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
  463. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  464. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  465. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  466. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
  467. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
  468. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
  469. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  470. arctrl/py/fable_modules/siren/__init__.py +0 -0
  471. arctrl/py/fable_modules/siren/config.py +1038 -0
  472. arctrl/py/fable_modules/siren/formatting.py +1121 -0
  473. arctrl/py/fable_modules/siren/siren.py +1941 -0
  474. arctrl/py/fable_modules/siren/siren_types.py +1229 -0
  475. arctrl/py/fable_modules/siren/theme_variables.py +517 -0
  476. arctrl/py/fable_modules/siren/util.py +37 -0
  477. arctrl/py/fable_modules/siren/yaml.py +101 -0
  478. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  479. arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
  480. arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
  481. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  482. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  483. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  484. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  485. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  486. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  487. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  488. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  489. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  490. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  491. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  492. arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
  493. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  494. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  495. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  496. arctrl/py/fable_modules/yamlicious/reader.py +739 -0
  497. arctrl/py/fable_modules/yamlicious/regex.py +29 -0
  498. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
  499. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  500. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  501. arctrl/py/json.py +389 -0
  502. arctrl/py/license.py +169 -0
  503. arctrl/py/rocrate_io.py +242 -0
  504. arctrl/py/template_web.py +23 -0
  505. arctrl/py/xlsx.py +212 -0
  506. arctrl/py/yaml.py +79 -0
  507. arctrl/rocrate.py +21 -0
  508. arctrl-3.0.0.dist-info/METADATA +157 -0
  509. arctrl-3.0.0.dist-info/RECORD +511 -0
  510. arctrl-3.0.0.dist-info/WHEEL +4 -0
  511. arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,265 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ...fable_modules.fable_library.list import (FSharpList, choose, empty)
4
+ from ...fable_modules.fable_library.option import (default_arg, map)
5
+ from ...fable_modules.fable_library.reflection import (TypeInfo, union_type)
6
+ from ...fable_modules.fable_library.string_ import (to_text, printf)
7
+ from ...fable_modules.fable_library.types import (to_string, Array, Union)
8
+ from ..data import (Data_reflection, Data)
9
+ from ..data_file import DataFile
10
+ from ..ontology_annotation import OntologyAnnotation
11
+ from .factor_value import FactorValue
12
+ from .material import (Material_reflection, Material, Material_setCharacteristicValues, Material_getUnits_ZBCDEB61, Material_create_Z66909A6D)
13
+ from .material_attribute import MaterialAttribute
14
+ from .material_attribute_value import MaterialAttributeValue
15
+ from .sample import (Sample_reflection, Sample, Sample_setCharacteristicValues, Sample_getUnits_53716792, Sample_create_62424AD2)
16
+ from .source import (Source_reflection, Source_get_empty, Source, Source_setCharacteristicValues, Source_getUnits_53E41069, Source_create_Z5CA08497)
17
+
18
+ def _expr1094() -> TypeInfo:
19
+ return union_type("ARCtrl.Process.ProcessInput", [], ProcessInput, lambda: [[("Item", Source_reflection())], [("Item", Sample_reflection())], [("Item", Data_reflection())], [("Item", Material_reflection())]])
20
+
21
+
22
+ class ProcessInput(Union):
23
+ def __init__(self, tag: int, *fields: Any) -> None:
24
+ super().__init__()
25
+ self.tag: int = tag or 0
26
+ self.fields: Array[Any] = list(fields)
27
+
28
+ @staticmethod
29
+ def cases() -> list[str]:
30
+ return ["Source", "Sample", "Data", "Material"]
31
+
32
+ def Print(self, __unit: None=None) -> str:
33
+ this: ProcessInput = self
34
+ return to_string(this)
35
+
36
+ def PrintCompact(self, __unit: None=None) -> str:
37
+ this: ProcessInput = self
38
+ if this.tag == 0:
39
+ arg_1: str = this.fields[0].PrintCompact()
40
+ return to_text(printf("Source {%s}"))(arg_1)
41
+
42
+ elif this.tag == 3:
43
+ arg_2: str = this.fields[0].PrintCompact()
44
+ return to_text(printf("Material {%s}"))(arg_2)
45
+
46
+ elif this.tag == 2:
47
+ arg_3: str = this.fields[0].PrintCompact()
48
+ return to_text(printf("Data {%s}"))(arg_3)
49
+
50
+ else:
51
+ arg: str = this.fields[0].PrintCompact()
52
+ return to_text(printf("Sample {%s}"))(arg)
53
+
54
+
55
+
56
+ ProcessInput_reflection = _expr1094
57
+
58
+ def ProcessInput__get_TryName(this: ProcessInput) -> str | None:
59
+ if this.tag == 0:
60
+ return this.fields[0].Name
61
+
62
+ elif this.tag == 3:
63
+ return this.fields[0].Name
64
+
65
+ elif this.tag == 2:
66
+ return this.fields[0].Name
67
+
68
+ else:
69
+ return this.fields[0].Name
70
+
71
+
72
+
73
+ def ProcessInput__get_Name(this: ProcessInput) -> str:
74
+ return default_arg(ProcessInput__get_TryName(this), "")
75
+
76
+
77
+ def ProcessInput_get_Default(__unit: None=None) -> ProcessInput:
78
+ return ProcessInput(0, Source_get_empty())
79
+
80
+
81
+ def ProcessInput_tryGetName_5B3D5BA9(pi: ProcessInput) -> str | None:
82
+ return ProcessInput__get_TryName(pi)
83
+
84
+
85
+ def ProcessInput_getName_5B3D5BA9(pi: ProcessInput) -> str:
86
+ return ProcessInput__get_Name(pi)
87
+
88
+
89
+ def ProcessInput_nameEquals(name: str, pi: ProcessInput) -> bool:
90
+ return ProcessInput__get_Name(pi) == name
91
+
92
+
93
+ def ProcessInput_isSample_5B3D5BA9(pi: ProcessInput) -> bool:
94
+ if pi.tag == 1:
95
+ return True
96
+
97
+ else:
98
+ return False
99
+
100
+
101
+
102
+ def ProcessInput_isSource_5B3D5BA9(pi: ProcessInput) -> bool:
103
+ if pi.tag == 0:
104
+ return True
105
+
106
+ else:
107
+ return False
108
+
109
+
110
+
111
+ def ProcessInput_isData_5B3D5BA9(pi: ProcessInput) -> bool:
112
+ if pi.tag == 2:
113
+ return True
114
+
115
+ else:
116
+ return False
117
+
118
+
119
+
120
+ def ProcessInput_isMaterial_5B3D5BA9(pi: ProcessInput) -> bool:
121
+ if pi.tag == 3:
122
+ return True
123
+
124
+ else:
125
+ return False
126
+
127
+
128
+
129
+ def ProcessInput__isSource(this: ProcessInput) -> bool:
130
+ return ProcessInput_isSource_5B3D5BA9(this)
131
+
132
+
133
+ def ProcessInput__isSample(this: ProcessInput) -> bool:
134
+ return ProcessInput_isSample_5B3D5BA9(this)
135
+
136
+
137
+ def ProcessInput__isData(this: ProcessInput) -> bool:
138
+ return ProcessInput_isData_5B3D5BA9(this)
139
+
140
+
141
+ def ProcessInput__isMaterial(this: ProcessInput) -> bool:
142
+ return ProcessInput_isMaterial_5B3D5BA9(this)
143
+
144
+
145
+ def ProcessInput_trySample_5B3D5BA9(pi: ProcessInput) -> Sample | None:
146
+ if pi.tag == 1:
147
+ return pi.fields[0]
148
+
149
+ else:
150
+ return None
151
+
152
+
153
+
154
+ def ProcessInput_trySource_5B3D5BA9(pi: ProcessInput) -> Source | None:
155
+ if pi.tag == 0:
156
+ return pi.fields[0]
157
+
158
+ else:
159
+ return None
160
+
161
+
162
+
163
+ def ProcessInput_tryData_5B3D5BA9(pi: ProcessInput) -> Data | None:
164
+ if pi.tag == 2:
165
+ return pi.fields[0]
166
+
167
+ else:
168
+ return None
169
+
170
+
171
+
172
+ def ProcessInput_tryMaterial_5B3D5BA9(pi: ProcessInput) -> Material | None:
173
+ if pi.tag == 3:
174
+ return pi.fields[0]
175
+
176
+ else:
177
+ return None
178
+
179
+
180
+
181
+ def ProcessInput_setCharacteristicValues(characteristics: FSharpList[MaterialAttributeValue], pi: ProcessInput) -> ProcessInput:
182
+ if pi.tag == 0:
183
+ return ProcessInput(0, Source_setCharacteristicValues(characteristics, pi.fields[0]))
184
+
185
+ elif pi.tag == 3:
186
+ return ProcessInput(3, Material_setCharacteristicValues(characteristics, pi.fields[0]))
187
+
188
+ elif pi.tag == 2:
189
+ return pi
190
+
191
+ else:
192
+ return ProcessInput(1, Sample_setCharacteristicValues(characteristics, pi.fields[0]))
193
+
194
+
195
+
196
+ def ProcessInput_tryGetCharacteristicValues_5B3D5BA9(pi: ProcessInput) -> FSharpList[MaterialAttributeValue] | None:
197
+ if pi.tag == 0:
198
+ return pi.fields[0].Characteristics
199
+
200
+ elif pi.tag == 3:
201
+ return pi.fields[0].Characteristics
202
+
203
+ elif pi.tag == 2:
204
+ return None
205
+
206
+ else:
207
+ return pi.fields[0].Characteristics
208
+
209
+
210
+
211
+ def ProcessInput_tryGetCharacteristics_5B3D5BA9(pi: ProcessInput) -> FSharpList[MaterialAttribute] | None:
212
+ def mapping(list_1: FSharpList[MaterialAttributeValue], pi: Any=pi) -> FSharpList[MaterialAttribute]:
213
+ def chooser(c: MaterialAttributeValue, list_1: Any=list_1) -> MaterialAttribute | None:
214
+ return c.Category
215
+
216
+ return choose(chooser, list_1)
217
+
218
+ return map(mapping, ProcessInput_tryGetCharacteristicValues_5B3D5BA9(pi))
219
+
220
+
221
+ def ProcessInput_getCharacteristicValues_5B3D5BA9(pi: ProcessInput) -> FSharpList[MaterialAttributeValue]:
222
+ return default_arg(ProcessInput_tryGetCharacteristicValues_5B3D5BA9(pi), empty())
223
+
224
+
225
+ def ProcessInput_getUnits_5B3D5BA9(pi: ProcessInput) -> FSharpList[OntologyAnnotation]:
226
+ if pi.tag == 1:
227
+ return Sample_getUnits_53716792(pi.fields[0])
228
+
229
+ elif pi.tag == 3:
230
+ return Material_getUnits_ZBCDEB61(pi.fields[0])
231
+
232
+ elif pi.tag == 2:
233
+ return empty()
234
+
235
+ else:
236
+ return Source_getUnits_53E41069(pi.fields[0])
237
+
238
+
239
+
240
+ def ProcessInput_createSource_Z5E00540E(name: str, characteristics: FSharpList[MaterialAttributeValue] | None=None) -> ProcessInput:
241
+ return ProcessInput(0, Source_create_Z5CA08497(None, name, characteristics))
242
+
243
+
244
+ def ProcessInput_createSample_Z598187B7(name: str, characteristics: FSharpList[MaterialAttributeValue] | None=None, factors: FSharpList[FactorValue] | None=None, derives_from: FSharpList[Source] | None=None) -> ProcessInput:
245
+ return ProcessInput(1, Sample_create_62424AD2(None, name, characteristics, factors, derives_from))
246
+
247
+
248
+ def ProcessInput_createMaterial_4452CB4C(name: str, characteristics: FSharpList[MaterialAttributeValue] | None=None, derives_from: FSharpList[Material] | None=None) -> ProcessInput:
249
+ return ProcessInput(3, Material_create_Z66909A6D(None, name, None, characteristics, derives_from))
250
+
251
+
252
+ def ProcessInput_createImageFile_Z721C83C5(name: str) -> ProcessInput:
253
+ return ProcessInput(2, Data.create(None, name, DataFile(2)))
254
+
255
+
256
+ def ProcessInput_createRawData_Z721C83C5(name: str) -> ProcessInput:
257
+ return ProcessInput(2, Data.create(None, name, DataFile(0)))
258
+
259
+
260
+ def ProcessInput_createDerivedData_Z721C83C5(name: str) -> ProcessInput:
261
+ return ProcessInput(2, Data.create(None, name, DataFile(1)))
262
+
263
+
264
+ __all__ = ["ProcessInput_reflection", "ProcessInput__get_TryName", "ProcessInput__get_Name", "ProcessInput_get_Default", "ProcessInput_tryGetName_5B3D5BA9", "ProcessInput_getName_5B3D5BA9", "ProcessInput_nameEquals", "ProcessInput_isSample_5B3D5BA9", "ProcessInput_isSource_5B3D5BA9", "ProcessInput_isData_5B3D5BA9", "ProcessInput_isMaterial_5B3D5BA9", "ProcessInput__isSource", "ProcessInput__isSample", "ProcessInput__isData", "ProcessInput__isMaterial", "ProcessInput_trySample_5B3D5BA9", "ProcessInput_trySource_5B3D5BA9", "ProcessInput_tryData_5B3D5BA9", "ProcessInput_tryMaterial_5B3D5BA9", "ProcessInput_setCharacteristicValues", "ProcessInput_tryGetCharacteristicValues_5B3D5BA9", "ProcessInput_tryGetCharacteristics_5B3D5BA9", "ProcessInput_getCharacteristicValues_5B3D5BA9", "ProcessInput_getUnits_5B3D5BA9", "ProcessInput_createSource_Z5E00540E", "ProcessInput_createSample_Z598187B7", "ProcessInput_createMaterial_4452CB4C", "ProcessInput_createImageFile_Z721C83C5", "ProcessInput_createRawData_Z721C83C5", "ProcessInput_createDerivedData_Z721C83C5"]
265
+
@@ -0,0 +1,235 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ...fable_modules.fable_library.list import (FSharpList, choose, empty)
4
+ from ...fable_modules.fable_library.option import (default_arg, map)
5
+ from ...fable_modules.fable_library.reflection import (TypeInfo, union_type)
6
+ from ...fable_modules.fable_library.string_ import (to_text, printf)
7
+ from ...fable_modules.fable_library.types import (to_string, Array, Union)
8
+ from ..data import (Data_reflection, Data)
9
+ from ..data_file import DataFile
10
+ from ..ontology_annotation import OntologyAnnotation
11
+ from .factor_value import FactorValue
12
+ from .material import (Material_reflection, Material, Material_getUnits_ZBCDEB61, Material_create_Z66909A6D)
13
+ from .material_attribute import MaterialAttribute
14
+ from .material_attribute_value import MaterialAttributeValue
15
+ from .sample import (Sample_reflection, Sample_get_empty, Sample, Sample_setFactorValues, Sample_getUnits_53716792, Sample_create_62424AD2)
16
+ from .source import Source
17
+
18
+ def _expr1095() -> TypeInfo:
19
+ return union_type("ARCtrl.Process.ProcessOutput", [], ProcessOutput, lambda: [[("Item", Sample_reflection())], [("Item", Data_reflection())], [("Item", Material_reflection())]])
20
+
21
+
22
+ class ProcessOutput(Union):
23
+ def __init__(self, tag: int, *fields: Any) -> None:
24
+ super().__init__()
25
+ self.tag: int = tag or 0
26
+ self.fields: Array[Any] = list(fields)
27
+
28
+ @staticmethod
29
+ def cases() -> list[str]:
30
+ return ["Sample", "Data", "Material"]
31
+
32
+ def Print(self, __unit: None=None) -> str:
33
+ this: ProcessOutput = self
34
+ return to_string(this)
35
+
36
+ def PrintCompact(self, __unit: None=None) -> str:
37
+ this: ProcessOutput = self
38
+ if this.tag == 2:
39
+ arg_1: str = this.fields[0].PrintCompact()
40
+ return to_text(printf("Material {%s}"))(arg_1)
41
+
42
+ elif this.tag == 1:
43
+ arg_2: str = this.fields[0].PrintCompact()
44
+ return to_text(printf("Data {%s}"))(arg_2)
45
+
46
+ else:
47
+ arg: str = this.fields[0].PrintCompact()
48
+ return to_text(printf("Sample {%s}"))(arg)
49
+
50
+
51
+
52
+ ProcessOutput_reflection = _expr1095
53
+
54
+ def ProcessOutput__get_TryName(this: ProcessOutput) -> str | None:
55
+ if this.tag == 2:
56
+ return this.fields[0].Name
57
+
58
+ elif this.tag == 1:
59
+ return this.fields[0].Name
60
+
61
+ else:
62
+ return this.fields[0].Name
63
+
64
+
65
+
66
+ def ProcessOutput__get_Name(this: ProcessOutput) -> str:
67
+ return default_arg(ProcessOutput__get_TryName(this), "")
68
+
69
+
70
+ def ProcessOutput_get_Default(__unit: None=None) -> ProcessOutput:
71
+ return ProcessOutput(0, Sample_get_empty())
72
+
73
+
74
+ def ProcessOutput_tryGetName_Z42C11600(po: ProcessOutput) -> str | None:
75
+ return ProcessOutput__get_TryName(po)
76
+
77
+
78
+ def ProcessOutput_getName_Z42C11600(po: ProcessOutput) -> str:
79
+ return ProcessOutput__get_Name(po)
80
+
81
+
82
+ def ProcessOutput_nameEquals(name: str, po: ProcessOutput) -> bool:
83
+ return ProcessOutput__get_Name(po) == name
84
+
85
+
86
+ def ProcessOutput_isSample_Z42C11600(po: ProcessOutput) -> bool:
87
+ if po.tag == 0:
88
+ return True
89
+
90
+ else:
91
+ return False
92
+
93
+
94
+
95
+ def ProcessOutput_isData_Z42C11600(po: ProcessOutput) -> bool:
96
+ if po.tag == 1:
97
+ return True
98
+
99
+ else:
100
+ return False
101
+
102
+
103
+
104
+ def ProcessOutput_isMaterial_Z42C11600(po: ProcessOutput) -> bool:
105
+ if po.tag == 2:
106
+ return True
107
+
108
+ else:
109
+ return False
110
+
111
+
112
+
113
+ def ProcessOutput__isSample(this: ProcessOutput) -> bool:
114
+ return ProcessOutput_isSample_Z42C11600(this)
115
+
116
+
117
+ def ProcessOutput__isData(this: ProcessOutput) -> bool:
118
+ return ProcessOutput_isData_Z42C11600(this)
119
+
120
+
121
+ def ProcessOutput__isMaterial(this: ProcessOutput) -> bool:
122
+ return ProcessOutput_isMaterial_Z42C11600(this)
123
+
124
+
125
+ def ProcessOutput_trySample_Z42C11600(po: ProcessOutput) -> Sample | None:
126
+ if po.tag == 0:
127
+ return po.fields[0]
128
+
129
+ else:
130
+ return None
131
+
132
+
133
+
134
+ def ProcessOutput_tryData_Z42C11600(po: ProcessOutput) -> Data | None:
135
+ if po.tag == 1:
136
+ return po.fields[0]
137
+
138
+ else:
139
+ return None
140
+
141
+
142
+
143
+ def ProcessOutput_tryMaterial_Z42C11600(po: ProcessOutput) -> Material | None:
144
+ if po.tag == 2:
145
+ return po.fields[0]
146
+
147
+ else:
148
+ return None
149
+
150
+
151
+
152
+ def ProcessOutput_tryGetCharacteristicValues_Z42C11600(po: ProcessOutput) -> FSharpList[MaterialAttributeValue] | None:
153
+ if po.tag == 2:
154
+ return po.fields[0].Characteristics
155
+
156
+ elif po.tag == 1:
157
+ return None
158
+
159
+ else:
160
+ return po.fields[0].Characteristics
161
+
162
+
163
+
164
+ def ProcessOutput_tryGetCharacteristics_Z42C11600(po: ProcessOutput) -> FSharpList[MaterialAttribute] | None:
165
+ def mapping(list_1: FSharpList[MaterialAttributeValue], po: Any=po) -> FSharpList[MaterialAttribute]:
166
+ def chooser(c: MaterialAttributeValue, list_1: Any=list_1) -> MaterialAttribute | None:
167
+ return c.Category
168
+
169
+ return choose(chooser, list_1)
170
+
171
+ return map(mapping, ProcessOutput_tryGetCharacteristicValues_Z42C11600(po))
172
+
173
+
174
+ def ProcessOutput_tryGetFactorValues_Z42C11600(po: ProcessOutput) -> FSharpList[FactorValue] | None:
175
+ if po.tag == 2:
176
+ return None
177
+
178
+ elif po.tag == 1:
179
+ return None
180
+
181
+ else:
182
+ return po.fields[0].FactorValues
183
+
184
+
185
+
186
+ def ProcessOutput_setFactorValues(values: FSharpList[FactorValue], po: ProcessOutput) -> ProcessOutput:
187
+ if po.tag == 2:
188
+ return po
189
+
190
+ elif po.tag == 1:
191
+ return po
192
+
193
+ else:
194
+ return ProcessOutput(0, Sample_setFactorValues(values, po.fields[0]))
195
+
196
+
197
+
198
+ def ProcessOutput_getFactorValues_Z42C11600(po: ProcessOutput) -> FSharpList[FactorValue]:
199
+ return default_arg(ProcessOutput_tryGetFactorValues_Z42C11600(po), empty())
200
+
201
+
202
+ def ProcessOutput_getUnits_Z42C11600(po: ProcessOutput) -> FSharpList[OntologyAnnotation]:
203
+ if po.tag == 2:
204
+ return Material_getUnits_ZBCDEB61(po.fields[0])
205
+
206
+ elif po.tag == 1:
207
+ return empty()
208
+
209
+ else:
210
+ return Sample_getUnits_53716792(po.fields[0])
211
+
212
+
213
+
214
+ def ProcessOutput_createSample_Z598187B7(name: str, characteristics: FSharpList[MaterialAttributeValue] | None=None, factors: FSharpList[FactorValue] | None=None, derives_from: FSharpList[Source] | None=None) -> ProcessOutput:
215
+ return ProcessOutput(0, Sample_create_62424AD2(None, name, characteristics, factors, derives_from))
216
+
217
+
218
+ def ProcessOutput_createMaterial_4452CB4C(name: str, characteristics: FSharpList[MaterialAttributeValue] | None=None, derives_from: FSharpList[Material] | None=None) -> ProcessOutput:
219
+ return ProcessOutput(2, Material_create_Z66909A6D(None, name, None, characteristics, derives_from))
220
+
221
+
222
+ def ProcessOutput_createImageFile_Z721C83C5(name: str) -> ProcessOutput:
223
+ return ProcessOutput(1, Data.create(None, name, DataFile(2)))
224
+
225
+
226
+ def ProcessOutput_createRawData_Z721C83C5(name: str) -> ProcessOutput:
227
+ return ProcessOutput(1, Data.create(None, name, DataFile(0)))
228
+
229
+
230
+ def ProcessOutput_createDerivedData_Z721C83C5(name: str) -> ProcessOutput:
231
+ return ProcessOutput(1, Data.create(None, name, DataFile(1)))
232
+
233
+
234
+ __all__ = ["ProcessOutput_reflection", "ProcessOutput__get_TryName", "ProcessOutput__get_Name", "ProcessOutput_get_Default", "ProcessOutput_tryGetName_Z42C11600", "ProcessOutput_getName_Z42C11600", "ProcessOutput_nameEquals", "ProcessOutput_isSample_Z42C11600", "ProcessOutput_isData_Z42C11600", "ProcessOutput_isMaterial_Z42C11600", "ProcessOutput__isSample", "ProcessOutput__isData", "ProcessOutput__isMaterial", "ProcessOutput_trySample_Z42C11600", "ProcessOutput_tryData_Z42C11600", "ProcessOutput_tryMaterial_Z42C11600", "ProcessOutput_tryGetCharacteristicValues_Z42C11600", "ProcessOutput_tryGetCharacteristics_Z42C11600", "ProcessOutput_tryGetFactorValues_Z42C11600", "ProcessOutput_setFactorValues", "ProcessOutput_getFactorValues_Z42C11600", "ProcessOutput_getUnits_Z42C11600", "ProcessOutput_createSample_Z598187B7", "ProcessOutput_createMaterial_4452CB4C", "ProcessOutput_createImageFile_Z721C83C5", "ProcessOutput_createRawData_Z721C83C5", "ProcessOutput_createDerivedData_Z721C83C5"]
235
+
@@ -0,0 +1,200 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass
4
+ from ...fable_modules.fable_library.option import (default_arg, map, bind)
5
+ from ...fable_modules.fable_library.reflection import (TypeInfo, option_type, record_type)
6
+ from ...fable_modules.fable_library.string_ import (to_text, printf)
7
+ from ...fable_modules.fable_library.types import (to_string, Record)
8
+ from ...fable_modules.fable_library.util import int32_to_string
9
+ from ..ontology_annotation import (OntologyAnnotation, OntologyAnnotation_reflection)
10
+ from ..value import (Value as Value_1, Value_reflection)
11
+ from .protocol_parameter import (ProtocolParameter, ProtocolParameter_reflection)
12
+
13
+ def _expr1100() -> TypeInfo:
14
+ return record_type("ARCtrl.Process.ProcessParameterValue", [], ProcessParameterValue, lambda: [("Category", option_type(ProtocolParameter_reflection())), ("Value", option_type(Value_reflection())), ("Unit", option_type(OntologyAnnotation_reflection()))])
15
+
16
+
17
+ @dataclass(eq = False, repr = False, slots = True)
18
+ class ProcessParameterValue(Record):
19
+ Category: ProtocolParameter | None
20
+ Value: Value_1 | None
21
+ Unit: OntologyAnnotation | None
22
+ @staticmethod
23
+ def make(category: ProtocolParameter | None=None, value: Value_1 | None=None, unit: OntologyAnnotation | None=None) -> ProcessParameterValue:
24
+ return ProcessParameterValue(category, value, unit)
25
+
26
+ @staticmethod
27
+ def create(Category: ProtocolParameter | None=None, Value: Value_1 | None=None, Unit: OntologyAnnotation | None=None) -> ProcessParameterValue:
28
+ return ProcessParameterValue.make(Category, Value, Unit)
29
+
30
+ @staticmethod
31
+ def empty() -> ProcessParameterValue:
32
+ return ProcessParameterValue.create()
33
+
34
+ @property
35
+ def NameText(self, __unit: None=None) -> str:
36
+ this: ProcessParameterValue = self
37
+ def mapping(oa: ProtocolParameter) -> str:
38
+ return oa.NameText
39
+
40
+ return default_arg(map(mapping, this.Category), "")
41
+
42
+ @property
43
+ def TryNameText(self, __unit: None=None) -> str | None:
44
+ this: ProcessParameterValue = self
45
+ def binder(oa: ProtocolParameter) -> str | None:
46
+ return oa.TryNameText
47
+
48
+ return bind(binder, this.Category)
49
+
50
+ @property
51
+ def ValueText(self, __unit: None=None) -> str:
52
+ this: ProcessParameterValue = self
53
+ def mapping(oa: Value_1) -> str:
54
+ if oa.tag == 2:
55
+ return to_string(oa.fields[0])
56
+
57
+ elif oa.tag == 1:
58
+ return int32_to_string(oa.fields[0])
59
+
60
+ elif oa.tag == 3:
61
+ return oa.fields[0]
62
+
63
+ else:
64
+ return oa.fields[0].NameText
65
+
66
+
67
+ return default_arg(map(mapping, this.Value), "")
68
+
69
+ @property
70
+ def ValueWithUnitText(self, __unit: None=None) -> str:
71
+ this: ProcessParameterValue = self
72
+ def mapping(oa: OntologyAnnotation) -> str:
73
+ return oa.NameText
74
+
75
+ unit: str | None = map(mapping, this.Unit)
76
+ v: str = this.ValueText
77
+ if unit is None:
78
+ return v
79
+
80
+ else:
81
+ u: str = unit
82
+ return to_text(printf("%s %s"))(v)(u)
83
+
84
+
85
+ def MapCategory(self, f: Callable[[OntologyAnnotation], OntologyAnnotation]) -> ProcessParameterValue:
86
+ this: ProcessParameterValue = self
87
+ def mapping(p: ProtocolParameter) -> ProtocolParameter:
88
+ return p.MapCategory(f)
89
+
90
+ return ProcessParameterValue(map(mapping, this.Category), this.Value, this.Unit)
91
+
92
+ def SetCategory(self, c: OntologyAnnotation) -> ProcessParameterValue:
93
+ this: ProcessParameterValue = self
94
+ def _arrow1096(__unit: None=None) -> ProtocolParameter | None:
95
+ match_value: ProtocolParameter | None = this.Category
96
+ if match_value is None:
97
+ return ProtocolParameter.create(None, c)
98
+
99
+ else:
100
+ p: ProtocolParameter = match_value
101
+ return p.SetCategory(c)
102
+
103
+
104
+ return ProcessParameterValue(_arrow1096(), this.Value, this.Unit)
105
+
106
+ @staticmethod
107
+ def try_get_name_text(pv: ProcessParameterValue) -> str | None:
108
+ return pv.TryNameText
109
+
110
+ @staticmethod
111
+ def get_name_text(pv: ProcessParameterValue) -> str:
112
+ return pv.NameText
113
+
114
+ @staticmethod
115
+ def name_equals_string(name: str, pv: ProcessParameterValue) -> bool:
116
+ return pv.NameText == name
117
+
118
+ @staticmethod
119
+ def get_category(pv: ProcessParameterValue) -> ProtocolParameter | None:
120
+ return pv.Category
121
+
122
+ @staticmethod
123
+ def create_as_pv(alternate_name: str | None=None, measurement_method: str | None=None, description: str | None=None, category: OntologyAnnotation | None=None, value: Value_1 | None=None, unit: OntologyAnnotation | None=None) -> ProcessParameterValue:
124
+ def mapping(c: OntologyAnnotation) -> ProtocolParameter:
125
+ return ProtocolParameter.create(None, c)
126
+
127
+ category_1: ProtocolParameter | None = map(mapping, category)
128
+ return ProcessParameterValue.create(category_1, value, unit)
129
+
130
+ def Print(self, __unit: None=None) -> str:
131
+ this: ProcessParameterValue = self
132
+ return to_string(this)
133
+
134
+ def PrintCompact(self, __unit: None=None) -> str:
135
+ this: ProcessParameterValue = self
136
+ def mapping(f: ProtocolParameter) -> str:
137
+ return f.NameText
138
+
139
+ category: str | None = map(mapping, this.Category)
140
+ def mapping_1(oa: OntologyAnnotation) -> str:
141
+ return oa.NameText
142
+
143
+ unit: str | None = map(mapping_1, this.Unit)
144
+ def mapping_2(v: Value_1) -> str:
145
+ s: str = v.PrintCompact()
146
+ if unit is None:
147
+ return s
148
+
149
+ else:
150
+ return (s + " ") + unit
151
+
152
+
153
+ value: str | None = map(mapping_2, this.Value)
154
+ def _arrow1097(__unit: None=None) -> str:
155
+ value_2: str = value
156
+ return value_2
157
+
158
+ def _arrow1098(__unit: None=None) -> str:
159
+ category_2: str = category
160
+ return (category_2 + ":") + "No Value"
161
+
162
+ def _arrow1099(__unit: None=None) -> str:
163
+ category_1: str = category
164
+ value_1: str = value
165
+ return (category_1 + ":") + value_1
166
+
167
+ return ("" if (value is None) else _arrow1097()) if (category is None) else (_arrow1098() if (value is None) else _arrow1099())
168
+
169
+ def AlternateName(self, __unit: None=None) -> str | None:
170
+ return None
171
+
172
+ def MeasurementMethod(self, __unit: None=None) -> str | None:
173
+ return None
174
+
175
+ def Description(self, __unit: None=None) -> str | None:
176
+ return None
177
+
178
+ def GetCategory(self, __unit: None=None) -> OntologyAnnotation | None:
179
+ this: ProcessParameterValue = self
180
+ def binder(p: ProtocolParameter) -> OntologyAnnotation | None:
181
+ return p.ParameterName
182
+
183
+ return bind(binder, this.Category)
184
+
185
+ def GetAdditionalType(self, __unit: None=None) -> str:
186
+ return "ProcessParameterValue"
187
+
188
+ def GetValue(self, __unit: None=None) -> Value_1 | None:
189
+ this: ProcessParameterValue = self
190
+ return this.Value
191
+
192
+ def GetUnit(self, __unit: None=None) -> OntologyAnnotation | None:
193
+ this: ProcessParameterValue = self
194
+ return this.Unit
195
+
196
+
197
+ ProcessParameterValue_reflection = _expr1100
198
+
199
+ __all__ = ["ProcessParameterValue_reflection"]
200
+