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,45 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ...fable_modules.fable_library.reflection import (TypeInfo, union_type)
4
+ from ...fable_modules.fable_library.types import (Array, Union)
5
+
6
+ def _expr1079() -> TypeInfo:
7
+ return union_type("ARCtrl.Process.MaterialType", [], MaterialType, lambda: [[], []])
8
+
9
+
10
+ class MaterialType(Union):
11
+ def __init__(self, tag: int, *fields: Any) -> None:
12
+ super().__init__()
13
+ self.tag: int = tag or 0
14
+ self.fields: Array[Any] = list(fields)
15
+
16
+ @staticmethod
17
+ def cases() -> list[str]:
18
+ return ["ExtractName", "LabeledExtractName"]
19
+
20
+
21
+ MaterialType_reflection = _expr1079
22
+
23
+ def MaterialType_create_Z721C83C5(t: str) -> MaterialType:
24
+ if t == "Extract Name":
25
+ return MaterialType(0)
26
+
27
+ elif t == "Labeled Extract Name":
28
+ return MaterialType(1)
29
+
30
+ else:
31
+ raise Exception("No other value than \"Extract Name\" or \"Labeled Extract Name\" allowed for materialtype")
32
+
33
+
34
+
35
+ def MaterialType__get_AsString(this: MaterialType) -> str:
36
+ if this.tag == 1:
37
+ return "Labeled Extract"
38
+
39
+ else:
40
+ return "Extract"
41
+
42
+
43
+
44
+ __all__ = ["MaterialType_reflection", "MaterialType_create_Z721C83C5", "MaterialType__get_AsString"]
45
+
@@ -0,0 +1,477 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass
4
+ from typing import Any
5
+ from ...fable_modules.fable_library.int32 import parse
6
+ from ...fable_modules.fable_library.list import (length, empty, FSharpList, choose, collect, append, try_find, map as map_1, try_pick, zip)
7
+ from ...fable_modules.fable_library.option import (default_arg, bind, value as value_4, map)
8
+ from ...fable_modules.fable_library.reflection import (TypeInfo, string_type, option_type, list_type, record_type)
9
+ from ...fable_modules.fable_library.reg_exp import (get_item, groups)
10
+ from ...fable_modules.fable_library.seq2 import List_distinct
11
+ from ...fable_modules.fable_library.string_ import (to_text, printf)
12
+ from ...fable_modules.fable_library.types import (to_string, Record)
13
+ from ...fable_modules.fable_library.util import (equals, safe_hash)
14
+ from ..comment import (Comment, Comment_reflection)
15
+ from ..data import Data
16
+ from ..Helper.collections_ import Option_fromValueWithDefault
17
+ from ..Helper.regex import ActivePatterns__007CRegex_007C__007C
18
+ from ..ontology_annotation import OntologyAnnotation
19
+ from .factor import Factor
20
+ from .factor_value import FactorValue
21
+ from .material import Material
22
+ from .material_attribute import MaterialAttribute
23
+ from .material_attribute_value import MaterialAttributeValue
24
+ from .process_input import (ProcessInput, ProcessInput_reflection, ProcessInput_tryGetCharacteristicValues_5B3D5BA9, ProcessInput_trySource_5B3D5BA9, ProcessInput_tryData_5B3D5BA9, ProcessInput_trySample_5B3D5BA9, ProcessInput_tryMaterial_5B3D5BA9)
25
+ from .process_output import (ProcessOutput, ProcessOutput_reflection, ProcessOutput_tryGetCharacteristicValues_Z42C11600, ProcessOutput_tryGetFactorValues_Z42C11600, ProcessOutput_tryData_Z42C11600, ProcessOutput_trySample_Z42C11600, ProcessOutput_tryMaterial_Z42C11600)
26
+ from .process_parameter_value import (ProcessParameterValue, ProcessParameterValue_reflection)
27
+ from .protocol import (Protocol, Protocol_reflection)
28
+ from .protocol_parameter import ProtocolParameter
29
+ from .sample import Sample
30
+ from .source import Source
31
+
32
+ def _expr1101() -> TypeInfo:
33
+ return record_type("ARCtrl.Process.Process", [], Process, lambda: [("ID", option_type(string_type)), ("Name", option_type(string_type)), ("ExecutesProtocol", option_type(Protocol_reflection())), ("ParameterValues", option_type(list_type(ProcessParameterValue_reflection()))), ("Performer", option_type(string_type)), ("Date", option_type(string_type)), ("PreviousProcess", option_type(Process_reflection())), ("NextProcess", option_type(Process_reflection())), ("Inputs", option_type(list_type(ProcessInput_reflection()))), ("Outputs", option_type(list_type(ProcessOutput_reflection()))), ("Comments", option_type(list_type(Comment_reflection())))])
34
+
35
+
36
+ @dataclass(eq = False, repr = False, slots = True)
37
+ class Process(Record):
38
+ ID: str | None
39
+ Name: str | None
40
+ ExecutesProtocol: Protocol | None
41
+ ParameterValues: FSharpList[ProcessParameterValue] | None
42
+ Performer: str | None
43
+ Date: str | None
44
+ PreviousProcess: Process | None
45
+ NextProcess: Process | None
46
+ Inputs: FSharpList[ProcessInput] | None
47
+ Outputs: FSharpList[ProcessOutput] | None
48
+ Comments: FSharpList[Comment] | None
49
+ def Print(self, __unit: None=None) -> str:
50
+ this: Process = self
51
+ return to_string(this)
52
+
53
+ def PrintCompact(self, __unit: None=None) -> str:
54
+ this: Process = self
55
+ input_count: int = length(default_arg(this.Inputs, empty())) or 0
56
+ output_count: int = length(default_arg(this.Outputs, empty())) or 0
57
+ param_count: int = length(default_arg(this.ParameterValues, empty())) or 0
58
+ name: str = default_arg(this.Name, "Unnamed Process")
59
+ return to_text(printf("%s [%i Inputs -> %i Params -> %i Outputs]"))(name)(input_count)(param_count)(output_count)
60
+
61
+
62
+ Process_reflection = _expr1101
63
+
64
+ def Process_make(id: str | None=None, name: str | None=None, executes_protocol: Protocol | None=None, parameter_values: FSharpList[ProcessParameterValue] | None=None, performer: str | None=None, date: str | None=None, previous_process: Process | None=None, next_process: Process | None=None, inputs: FSharpList[ProcessInput] | None=None, outputs: FSharpList[ProcessOutput] | None=None, comments: FSharpList[Comment] | None=None) -> Process:
65
+ return Process(id, name, executes_protocol, parameter_values, performer, date, previous_process, next_process, inputs, outputs, comments)
66
+
67
+
68
+ def Process_create_Z7C1F7FA9(Id: str | None=None, Name: str | None=None, ExecutesProtocol: Protocol | None=None, ParameterValues: FSharpList[ProcessParameterValue] | None=None, Performer: str | None=None, Date: str | None=None, PreviousProcess: Process | None=None, NextProcess: Process | None=None, Inputs: FSharpList[ProcessInput] | None=None, Outputs: FSharpList[ProcessOutput] | None=None, Comments: FSharpList[Comment] | None=None) -> Process:
69
+ return Process_make(Id, Name, ExecutesProtocol, ParameterValues, Performer, Date, PreviousProcess, NextProcess, Inputs, Outputs, Comments)
70
+
71
+
72
+ def Process_get_empty(__unit: None=None) -> Process:
73
+ return Process_create_Z7C1F7FA9()
74
+
75
+
76
+ def Process_composeName(process_name_root: str, i: int) -> str:
77
+ return ((("" + process_name_root) + "_") + str(i)) + ""
78
+
79
+
80
+ def Process_decomposeName_Z721C83C5(name: str) -> tuple[str, int | None]:
81
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C("(?<name>.+)_(?<num>\\d+)", name)
82
+ if active_pattern_result is not None:
83
+ r: Any = active_pattern_result
84
+ return (get_item(groups(r), "name") or "", parse(get_item(groups(r), "num") or "", 511, False, 32))
85
+
86
+ else:
87
+ return (name, None)
88
+
89
+
90
+
91
+ def Process_tryGetProtocolName_763471FF(p: Process) -> str | None:
92
+ def binder(p_1: Protocol, p: Any=p) -> str | None:
93
+ return p_1.Name
94
+
95
+ return bind(binder, p.ExecutesProtocol)
96
+
97
+
98
+ def Process_getProtocolName_763471FF(p: Process) -> str:
99
+ def binder(p_1: Protocol, p: Any=p) -> str | None:
100
+ return p_1.Name
101
+
102
+ return value_4(bind(binder, p.ExecutesProtocol))
103
+
104
+
105
+ def Process_getParameterValues_763471FF(p: Process) -> FSharpList[ProcessParameterValue]:
106
+ return default_arg(p.ParameterValues, empty())
107
+
108
+
109
+ def Process_getParameters_763471FF(p: Process) -> FSharpList[ProtocolParameter]:
110
+ def chooser(pv: ProcessParameterValue, p: Any=p) -> ProtocolParameter | None:
111
+ return pv.Category
112
+
113
+ return choose(chooser, Process_getParameterValues_763471FF(p))
114
+
115
+
116
+ def Process_getInputCharacteristicValues_763471FF(p: Process) -> FSharpList[MaterialAttributeValue]:
117
+ match_value: FSharpList[ProcessInput] | None = p.Inputs
118
+ if match_value is None:
119
+ return empty()
120
+
121
+ else:
122
+ def mapping(inp: ProcessInput, p: Any=p) -> FSharpList[MaterialAttributeValue]:
123
+ return default_arg(ProcessInput_tryGetCharacteristicValues_5B3D5BA9(inp), empty())
124
+
125
+ class ObjectExpr1102:
126
+ @property
127
+ def Equals(self) -> Callable[[MaterialAttributeValue, MaterialAttributeValue], bool]:
128
+ return equals
129
+
130
+ @property
131
+ def GetHashCode(self) -> Callable[[MaterialAttributeValue], int]:
132
+ return safe_hash
133
+
134
+ return List_distinct(collect(mapping, match_value), ObjectExpr1102())
135
+
136
+
137
+
138
+ def Process_getOutputCharacteristicValues_763471FF(p: Process) -> FSharpList[MaterialAttributeValue]:
139
+ match_value: FSharpList[ProcessOutput] | None = p.Outputs
140
+ if match_value is None:
141
+ return empty()
142
+
143
+ else:
144
+ def mapping(out: ProcessOutput, p: Any=p) -> FSharpList[MaterialAttributeValue]:
145
+ return default_arg(ProcessOutput_tryGetCharacteristicValues_Z42C11600(out), empty())
146
+
147
+ class ObjectExpr1103:
148
+ @property
149
+ def Equals(self) -> Callable[[MaterialAttributeValue, MaterialAttributeValue], bool]:
150
+ return equals
151
+
152
+ @property
153
+ def GetHashCode(self) -> Callable[[MaterialAttributeValue], int]:
154
+ return safe_hash
155
+
156
+ return List_distinct(collect(mapping, match_value), ObjectExpr1103())
157
+
158
+
159
+
160
+ def Process_getCharacteristicValues_763471FF(p: Process) -> FSharpList[MaterialAttributeValue]:
161
+ class ObjectExpr1104:
162
+ @property
163
+ def Equals(self) -> Callable[[MaterialAttributeValue, MaterialAttributeValue], bool]:
164
+ return equals
165
+
166
+ @property
167
+ def GetHashCode(self) -> Callable[[MaterialAttributeValue], int]:
168
+ return safe_hash
169
+
170
+ return List_distinct(append(Process_getInputCharacteristicValues_763471FF(p), Process_getOutputCharacteristicValues_763471FF(p)), ObjectExpr1104())
171
+
172
+
173
+ def Process_getCharacteristics_763471FF(p: Process) -> FSharpList[MaterialAttribute]:
174
+ def chooser(cv: MaterialAttributeValue, p: Any=p) -> MaterialAttribute | None:
175
+ return cv.Category
176
+
177
+ class ObjectExpr1105:
178
+ @property
179
+ def Equals(self) -> Callable[[MaterialAttribute, MaterialAttribute], bool]:
180
+ return equals
181
+
182
+ @property
183
+ def GetHashCode(self) -> Callable[[MaterialAttribute], int]:
184
+ return safe_hash
185
+
186
+ return List_distinct(choose(chooser, Process_getCharacteristicValues_763471FF(p)), ObjectExpr1105())
187
+
188
+
189
+ def Process_getFactorValues_763471FF(p: Process) -> FSharpList[FactorValue]:
190
+ def mapping(arg: ProcessOutput, p: Any=p) -> FSharpList[FactorValue]:
191
+ return default_arg(ProcessOutput_tryGetFactorValues_Z42C11600(arg), empty())
192
+
193
+ class ObjectExpr1106:
194
+ @property
195
+ def Equals(self) -> Callable[[FactorValue, FactorValue], bool]:
196
+ return equals
197
+
198
+ @property
199
+ def GetHashCode(self) -> Callable[[FactorValue], int]:
200
+ return safe_hash
201
+
202
+ return List_distinct(collect(mapping, default_arg(p.Outputs, empty())), ObjectExpr1106())
203
+
204
+
205
+ def Process_getFactors_763471FF(p: Process) -> FSharpList[Factor]:
206
+ def chooser(fv: FactorValue, p: Any=p) -> Factor | None:
207
+ return fv.Category
208
+
209
+ class ObjectExpr1107:
210
+ @property
211
+ def Equals(self) -> Callable[[Factor, Factor], bool]:
212
+ return equals
213
+
214
+ @property
215
+ def GetHashCode(self) -> Callable[[Factor], int]:
216
+ return safe_hash
217
+
218
+ return List_distinct(choose(chooser, Process_getFactorValues_763471FF(p)), ObjectExpr1107())
219
+
220
+
221
+ def Process_getUnits_763471FF(p: Process) -> FSharpList[OntologyAnnotation]:
222
+ def chooser(cv: MaterialAttributeValue, p: Any=p) -> OntologyAnnotation | None:
223
+ return cv.Unit
224
+
225
+ def chooser_1(pv: ProcessParameterValue, p: Any=p) -> OntologyAnnotation | None:
226
+ return pv.Unit
227
+
228
+ def chooser_2(fv: FactorValue, p: Any=p) -> OntologyAnnotation | None:
229
+ return fv.Unit
230
+
231
+ return append(choose(chooser, Process_getCharacteristicValues_763471FF(p)), append(choose(chooser_1, Process_getParameterValues_763471FF(p)), choose(chooser_2, Process_getFactorValues_763471FF(p))))
232
+
233
+
234
+ def Process_tryGetInputsWithParameterBy(predicate: Callable[[ProtocolParameter], bool], p: Process) -> FSharpList[tuple[ProcessInput, ProcessParameterValue]] | None:
235
+ match_value: FSharpList[ProcessParameterValue] | None = p.ParameterValues
236
+ if match_value is None:
237
+ return None
238
+
239
+ else:
240
+ def predicate_1(pv: ProcessParameterValue, predicate: Any=predicate, p: Any=p) -> bool:
241
+ return predicate(default_arg(pv.Category, ProtocolParameter.empty()))
242
+
243
+ match_value_1: ProcessParameterValue | None = try_find(predicate_1, match_value)
244
+ if match_value_1 is None:
245
+ return None
246
+
247
+ else:
248
+ param_value: ProcessParameterValue = match_value_1
249
+ def mapping_1(list_2: FSharpList[ProcessInput], predicate: Any=predicate, p: Any=p) -> FSharpList[tuple[ProcessInput, ProcessParameterValue]]:
250
+ def mapping(i: ProcessInput, list_2: Any=list_2) -> tuple[ProcessInput, ProcessParameterValue]:
251
+ return (i, param_value)
252
+
253
+ return map_1(mapping, list_2)
254
+
255
+ return map(mapping_1, p.Inputs)
256
+
257
+
258
+
259
+
260
+ def Process_tryGetOutputsWithParameterBy(predicate: Callable[[ProtocolParameter], bool], p: Process) -> FSharpList[tuple[ProcessOutput, ProcessParameterValue]] | None:
261
+ match_value: FSharpList[ProcessParameterValue] | None = p.ParameterValues
262
+ if match_value is None:
263
+ return None
264
+
265
+ else:
266
+ def predicate_1(pv: ProcessParameterValue, predicate: Any=predicate, p: Any=p) -> bool:
267
+ return predicate(default_arg(pv.Category, ProtocolParameter.empty()))
268
+
269
+ match_value_1: ProcessParameterValue | None = try_find(predicate_1, match_value)
270
+ if match_value_1 is None:
271
+ return None
272
+
273
+ else:
274
+ param_value: ProcessParameterValue = match_value_1
275
+ def mapping_1(list_2: FSharpList[ProcessOutput], predicate: Any=predicate, p: Any=p) -> FSharpList[tuple[ProcessOutput, ProcessParameterValue]]:
276
+ def mapping(i: ProcessOutput, list_2: Any=list_2) -> tuple[ProcessOutput, ProcessParameterValue]:
277
+ return (i, param_value)
278
+
279
+ return map_1(mapping, list_2)
280
+
281
+ return map(mapping_1, p.Outputs)
282
+
283
+
284
+
285
+
286
+ def Process_tryGetInputsWithCharacteristicBy(predicate: Callable[[MaterialAttribute], bool], p: Process) -> FSharpList[tuple[ProcessInput, MaterialAttributeValue]] | None:
287
+ match_value: FSharpList[ProcessInput] | None = p.Inputs
288
+ if match_value is None:
289
+ return None
290
+
291
+ else:
292
+ def chooser_1(i: ProcessInput, predicate: Any=predicate, p: Any=p) -> tuple[ProcessInput, MaterialAttributeValue] | None:
293
+ def chooser(mv: MaterialAttributeValue, i: Any=i) -> tuple[ProcessInput, MaterialAttributeValue] | None:
294
+ match_value_1: MaterialAttribute | None = mv.Category
295
+ (pattern_matching_result,) = (None,)
296
+ if match_value_1 is not None:
297
+ if predicate(match_value_1):
298
+ pattern_matching_result = 0
299
+
300
+ else:
301
+ pattern_matching_result = 1
302
+
303
+
304
+ else:
305
+ pattern_matching_result = 1
306
+
307
+ if pattern_matching_result == 0:
308
+ return (i, mv)
309
+
310
+ elif pattern_matching_result == 1:
311
+ return None
312
+
313
+
314
+ return try_pick(chooser, default_arg(ProcessInput_tryGetCharacteristicValues_5B3D5BA9(i), empty()))
315
+
316
+ return Option_fromValueWithDefault(empty(), choose(chooser_1, match_value))
317
+
318
+
319
+
320
+ def Process_tryGetOutputsWithCharacteristicBy(predicate: Callable[[MaterialAttribute], bool], p: Process) -> FSharpList[tuple[ProcessOutput, MaterialAttributeValue]] | None:
321
+ match_value: FSharpList[ProcessInput] | None = p.Inputs
322
+ match_value_1: FSharpList[ProcessOutput] | None = p.Outputs
323
+ (pattern_matching_result, is_, os) = (None, None, None)
324
+ if match_value is not None:
325
+ if match_value_1 is not None:
326
+ pattern_matching_result = 0
327
+ is_ = match_value
328
+ os = match_value_1
329
+
330
+ else:
331
+ pattern_matching_result = 1
332
+
333
+
334
+ else:
335
+ pattern_matching_result = 1
336
+
337
+ if pattern_matching_result == 0:
338
+ def chooser_1(tupled_arg: tuple[ProcessInput, ProcessOutput], predicate: Any=predicate, p: Any=p) -> tuple[ProcessOutput, MaterialAttributeValue] | None:
339
+ def chooser(mv: MaterialAttributeValue, tupled_arg: Any=tupled_arg) -> tuple[ProcessOutput, MaterialAttributeValue] | None:
340
+ match_value_1: MaterialAttribute | None = mv.Category
341
+ (pattern_matching_result_1,) = (None,)
342
+ if match_value_1 is not None:
343
+ if predicate(match_value_1):
344
+ pattern_matching_result_1 = 0
345
+
346
+ else:
347
+ pattern_matching_result_1 = 1
348
+
349
+
350
+ else:
351
+ pattern_matching_result_1 = 1
352
+
353
+ if pattern_matching_result_1 == 0:
354
+ return (tupled_arg[1], mv)
355
+
356
+ elif pattern_matching_result_1 == 1:
357
+ return None
358
+
359
+
360
+ return try_pick(chooser, default_arg(ProcessInput_tryGetCharacteristicValues_5B3D5BA9(tupled_arg[0]), empty()))
361
+
362
+ return Option_fromValueWithDefault(empty(), choose(chooser_1, zip(is_, os)))
363
+
364
+ elif pattern_matching_result == 1:
365
+ return None
366
+
367
+
368
+
369
+ def Process_tryGetOutputsWithFactorBy(predicate: Callable[[Factor], bool], p: Process) -> FSharpList[tuple[ProcessOutput, FactorValue]] | None:
370
+ match_value: FSharpList[ProcessOutput] | None = p.Outputs
371
+ if match_value is None:
372
+ return None
373
+
374
+ else:
375
+ def chooser_1(o: ProcessOutput, predicate: Any=predicate, p: Any=p) -> tuple[ProcessOutput, FactorValue] | None:
376
+ def chooser(mv: FactorValue, o: Any=o) -> tuple[ProcessOutput, FactorValue] | None:
377
+ match_value_1: Factor | None = mv.Category
378
+ (pattern_matching_result,) = (None,)
379
+ if match_value_1 is not None:
380
+ if predicate(match_value_1):
381
+ pattern_matching_result = 0
382
+
383
+ else:
384
+ pattern_matching_result = 1
385
+
386
+
387
+ else:
388
+ pattern_matching_result = 1
389
+
390
+ if pattern_matching_result == 0:
391
+ return (o, mv)
392
+
393
+ elif pattern_matching_result == 1:
394
+ return None
395
+
396
+
397
+ return try_pick(chooser, default_arg(ProcessOutput_tryGetFactorValues_Z42C11600(o), empty()))
398
+
399
+ return Option_fromValueWithDefault(empty(), choose(chooser_1, match_value))
400
+
401
+
402
+
403
+ def Process_getSources_763471FF(p: Process) -> FSharpList[Source]:
404
+ def chooser(pi: ProcessInput, p: Any=p) -> Source | None:
405
+ return ProcessInput_trySource_5B3D5BA9(pi)
406
+
407
+ class ObjectExpr1108:
408
+ @property
409
+ def Equals(self) -> Callable[[Source, Source], bool]:
410
+ return equals
411
+
412
+ @property
413
+ def GetHashCode(self) -> Callable[[Source], int]:
414
+ return safe_hash
415
+
416
+ return List_distinct(choose(chooser, default_arg(p.Inputs, empty())), ObjectExpr1108())
417
+
418
+
419
+ def Process_getData_763471FF(p: Process) -> FSharpList[Data]:
420
+ def chooser(pi: ProcessInput, p: Any=p) -> Data | None:
421
+ return ProcessInput_tryData_5B3D5BA9(pi)
422
+
423
+ def chooser_1(po: ProcessOutput, p: Any=p) -> Data | None:
424
+ return ProcessOutput_tryData_Z42C11600(po)
425
+
426
+ class ObjectExpr1109:
427
+ @property
428
+ def Equals(self) -> Callable[[Data, Data], bool]:
429
+ return equals
430
+
431
+ @property
432
+ def GetHashCode(self) -> Callable[[Data], int]:
433
+ return safe_hash
434
+
435
+ return List_distinct(append(choose(chooser, default_arg(p.Inputs, empty())), choose(chooser_1, default_arg(p.Outputs, empty()))), ObjectExpr1109())
436
+
437
+
438
+ def Process_getSamples_763471FF(p: Process) -> FSharpList[Sample]:
439
+ def chooser(pi: ProcessInput, p: Any=p) -> Sample | None:
440
+ return ProcessInput_trySample_5B3D5BA9(pi)
441
+
442
+ def chooser_1(po: ProcessOutput, p: Any=p) -> Sample | None:
443
+ return ProcessOutput_trySample_Z42C11600(po)
444
+
445
+ class ObjectExpr1110:
446
+ @property
447
+ def Equals(self) -> Callable[[Sample, Sample], bool]:
448
+ return equals
449
+
450
+ @property
451
+ def GetHashCode(self) -> Callable[[Sample], int]:
452
+ return safe_hash
453
+
454
+ return List_distinct(append(choose(chooser, default_arg(p.Inputs, empty())), choose(chooser_1, default_arg(p.Outputs, empty()))), ObjectExpr1110())
455
+
456
+
457
+ def Process_getMaterials_763471FF(p: Process) -> FSharpList[Material]:
458
+ def chooser(pi: ProcessInput, p: Any=p) -> Material | None:
459
+ return ProcessInput_tryMaterial_5B3D5BA9(pi)
460
+
461
+ def chooser_1(po: ProcessOutput, p: Any=p) -> Material | None:
462
+ return ProcessOutput_tryMaterial_Z42C11600(po)
463
+
464
+ class ObjectExpr1111:
465
+ @property
466
+ def Equals(self) -> Callable[[Material, Material], bool]:
467
+ return equals
468
+
469
+ @property
470
+ def GetHashCode(self) -> Callable[[Material], int]:
471
+ return safe_hash
472
+
473
+ return List_distinct(append(choose(chooser, default_arg(p.Inputs, empty())), choose(chooser_1, default_arg(p.Outputs, empty()))), ObjectExpr1111())
474
+
475
+
476
+ __all__ = ["Process_reflection", "Process_make", "Process_create_Z7C1F7FA9", "Process_get_empty", "Process_composeName", "Process_decomposeName_Z721C83C5", "Process_tryGetProtocolName_763471FF", "Process_getProtocolName_763471FF", "Process_getParameterValues_763471FF", "Process_getParameters_763471FF", "Process_getInputCharacteristicValues_763471FF", "Process_getOutputCharacteristicValues_763471FF", "Process_getCharacteristicValues_763471FF", "Process_getCharacteristics_763471FF", "Process_getFactorValues_763471FF", "Process_getFactors_763471FF", "Process_getUnits_763471FF", "Process_tryGetInputsWithParameterBy", "Process_tryGetOutputsWithParameterBy", "Process_tryGetInputsWithCharacteristicBy", "Process_tryGetOutputsWithCharacteristicBy", "Process_tryGetOutputsWithFactorBy", "Process_getSources_763471FF", "Process_getData_763471FF", "Process_getSamples_763471FF", "Process_getMaterials_763471FF"]
477
+