arctrl 3.0.0a3__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 (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,600 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ..fable_modules.fable_library.list import (choose, of_array, FSharpList, singleton, empty)
5
+ from ..fable_modules.fable_library.option import (map, default_arg, value as value_9, bind)
6
+ from ..fable_modules.fable_library.seq import (map as map_1, to_list, delay, append, empty as empty_1, singleton as singleton_1, try_pick, length)
7
+ from ..fable_modules.fable_library.string_ import replace
8
+ from ..fable_modules.fable_library.types import Array
9
+ from ..fable_modules.fable_library.util import IEnumerable_1
10
+ from ..fable_modules.thoth_json_core.decode import (object, IRequiredGetter, string, IOptionalGetter, resize_array, IGetters, list_1 as list_1_2, map as map_2)
11
+ from ..fable_modules.thoth_json_core.encode import list_1 as list_1_1
12
+ from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
13
+ from ..Core.arc_types import ArcAssay
14
+ from ..Core.comment import Comment
15
+ from ..Core.conversion import (ARCtrl_ArcTables__ArcTables_GetProcesses, ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D, JsonTypes_composeTechnologyPlatform, JsonTypes_decomposeTechnologyPlatform)
16
+ from ..Core.data import Data
17
+ from ..Core.data_map import DataMap
18
+ from ..Core.Helper.collections_ import (Option_fromValueWithDefault, ResizeArray_filter)
19
+ from ..Core.Helper.identifier import (Assay_fileNameFromIdentifier, create_missing_identifier, Assay_tryIdentifierFromFileName)
20
+ from ..Core.ontology_annotation import OntologyAnnotation
21
+ from ..Core.person import Person
22
+ from ..Core.Process.material_attribute import MaterialAttribute
23
+ from ..Core.Process.process import Process
24
+ from ..Core.Process.process_sequence import (get_data, get_units, get_characteristics)
25
+ from ..Core.Table.arc_table import ArcTable
26
+ from ..Core.Table.arc_tables import ArcTables
27
+ from ..Core.Table.composite_cell import CompositeCell
28
+ from .comment import (encoder as encoder_7, decoder as decoder_4, ROCrate_encoder as ROCrate_encoder_4, ROCrate_decoder as ROCrate_decoder_3, ISAJson_encoder as ISAJson_encoder_3, ISAJson_decoder as ISAJson_decoder_2)
29
+ from .context.rocrate.isa_assay_context import context_jsonvalue
30
+ from .data import (ROCrate_encoder as ROCrate_encoder_2, ISAJson_encoder as ISAJson_encoder_1)
31
+ from .DataMap.data_map import (encoder as encoder_4, decoder as decoder_2, encoder_compressed as encoder_compressed_2, decoder_compressed as decoder_compressed_2)
32
+ from .decode import Decode_objectNoAdditionalProperties
33
+ from .encode import (try_include, try_include_seq, try_include_list)
34
+ from .idtable import encode
35
+ from .ontology_annotation import (OntologyAnnotation_encoder, OntologyAnnotation_decoder, OntologyAnnotation_ROCrate_encoderPropertyValue, OntologyAnnotation_ROCrate_encoderDefinedTerm, OntologyAnnotation_ROCrate_decoderPropertyValue, OntologyAnnotation_ROCrate_decoderDefinedTerm, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
36
+ from .person import (encoder as encoder_6, decoder as decoder_3, ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_2)
37
+ from .Process.assay_materials import encoder as encoder_9
38
+ from .Process.material_attribute import encoder as encoder_8
39
+ from .Process.process import (ROCrate_encoder as ROCrate_encoder_3, ROCrate_decoder as ROCrate_decoder_1, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_1)
40
+ from .Table.arc_table import (encoder as encoder_5, decoder as decoder_1, encoder_compressed as encoder_compressed_1, decoder_compressed as decoder_compressed_1)
41
+
42
+ __A_ = TypeVar("__A_")
43
+
44
+ def encoder(assay: ArcAssay) -> IEncodable:
45
+ def chooser(tupled_arg: tuple[str, IEncodable | None], assay: Any=assay) -> tuple[str, IEncodable] | None:
46
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
47
+ return (tupled_arg[0], v_1)
48
+
49
+ return map(mapping, tupled_arg[1])
50
+
51
+ def _arrow2892(__unit: None=None, assay: Any=assay) -> IEncodable:
52
+ value: str = assay.Identifier
53
+ class ObjectExpr2891(IEncodable):
54
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
55
+ return helpers.encode_string(value)
56
+
57
+ return ObjectExpr2891()
58
+
59
+ def _arrow2894(value_1: str, assay: Any=assay) -> IEncodable:
60
+ class ObjectExpr2893(IEncodable):
61
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
62
+ return helpers_1.encode_string(value_1)
63
+
64
+ return ObjectExpr2893()
65
+
66
+ def _arrow2896(value_3: str, assay: Any=assay) -> IEncodable:
67
+ class ObjectExpr2895(IEncodable):
68
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
69
+ return helpers_2.encode_string(value_3)
70
+
71
+ return ObjectExpr2895()
72
+
73
+ def _arrow2897(oa: OntologyAnnotation, assay: Any=assay) -> IEncodable:
74
+ return OntologyAnnotation_encoder(oa)
75
+
76
+ def _arrow2898(oa_1: OntologyAnnotation, assay: Any=assay) -> IEncodable:
77
+ return OntologyAnnotation_encoder(oa_1)
78
+
79
+ def _arrow2899(oa_2: OntologyAnnotation, assay: Any=assay) -> IEncodable:
80
+ return OntologyAnnotation_encoder(oa_2)
81
+
82
+ def _arrow2900(dm: DataMap, assay: Any=assay) -> IEncodable:
83
+ return encoder_4(dm)
84
+
85
+ def _arrow2901(table: ArcTable, assay: Any=assay) -> IEncodable:
86
+ return encoder_5(table)
87
+
88
+ def _arrow2902(person: Person, assay: Any=assay) -> IEncodable:
89
+ return encoder_6(person)
90
+
91
+ def _arrow2903(comment: Comment, assay: Any=assay) -> IEncodable:
92
+ return encoder_7(comment)
93
+
94
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("Identifier", _arrow2892()), try_include("Title", _arrow2894, assay.Title), try_include("Description", _arrow2896, assay.Description), try_include("MeasurementType", _arrow2897, assay.MeasurementType), try_include("TechnologyType", _arrow2898, assay.TechnologyType), try_include("TechnologyPlatform", _arrow2899, assay.TechnologyPlatform), try_include("DataMap", _arrow2900, assay.DataMap), try_include_seq("Tables", _arrow2901, assay.Tables), try_include_seq("Performers", _arrow2902, assay.Performers), try_include_seq("Comments", _arrow2903, assay.Comments)]))
95
+ class ObjectExpr2904(IEncodable):
96
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any], assay: Any=assay) -> Any:
97
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
98
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_3))
99
+
100
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
101
+ return helpers_3.encode_object(arg)
102
+
103
+ return ObjectExpr2904()
104
+
105
+
106
+ def _arrow2915(get: IGetters) -> ArcAssay:
107
+ def _arrow2905(__unit: None=None) -> str:
108
+ object_arg: IRequiredGetter = get.Required
109
+ return object_arg.Field("Identifier", string)
110
+
111
+ def _arrow2906(__unit: None=None) -> str | None:
112
+ object_arg_1: IOptionalGetter = get.Optional
113
+ return object_arg_1.Field("Title", string)
114
+
115
+ def _arrow2907(__unit: None=None) -> str | None:
116
+ object_arg_2: IOptionalGetter = get.Optional
117
+ return object_arg_2.Field("Description", string)
118
+
119
+ def _arrow2908(__unit: None=None) -> OntologyAnnotation | None:
120
+ object_arg_3: IOptionalGetter = get.Optional
121
+ return object_arg_3.Field("MeasurementType", OntologyAnnotation_decoder)
122
+
123
+ def _arrow2909(__unit: None=None) -> OntologyAnnotation | None:
124
+ object_arg_4: IOptionalGetter = get.Optional
125
+ return object_arg_4.Field("TechnologyType", OntologyAnnotation_decoder)
126
+
127
+ def _arrow2910(__unit: None=None) -> OntologyAnnotation | None:
128
+ object_arg_5: IOptionalGetter = get.Optional
129
+ return object_arg_5.Field("TechnologyPlatform", OntologyAnnotation_decoder)
130
+
131
+ def _arrow2911(__unit: None=None) -> Array[ArcTable] | None:
132
+ arg_13: Decoder_1[Array[ArcTable]] = resize_array(decoder_1)
133
+ object_arg_6: IOptionalGetter = get.Optional
134
+ return object_arg_6.Field("Tables", arg_13)
135
+
136
+ def _arrow2912(__unit: None=None) -> DataMap | None:
137
+ object_arg_7: IOptionalGetter = get.Optional
138
+ return object_arg_7.Field("DataMap", decoder_2)
139
+
140
+ def _arrow2913(__unit: None=None) -> Array[Person] | None:
141
+ arg_17: Decoder_1[Array[Person]] = resize_array(decoder_3)
142
+ object_arg_8: IOptionalGetter = get.Optional
143
+ return object_arg_8.Field("Performers", arg_17)
144
+
145
+ def _arrow2914(__unit: None=None) -> Array[Comment] | None:
146
+ arg_19: Decoder_1[Array[Comment]] = resize_array(decoder_4)
147
+ object_arg_9: IOptionalGetter = get.Optional
148
+ return object_arg_9.Field("Comments", arg_19)
149
+
150
+ return ArcAssay.create(_arrow2905(), _arrow2906(), _arrow2907(), _arrow2908(), _arrow2909(), _arrow2910(), _arrow2911(), _arrow2912(), _arrow2913(), _arrow2914())
151
+
152
+
153
+ decoder: Decoder_1[ArcAssay] = object(_arrow2915)
154
+
155
+ def encoder_compressed(string_table: Any, oa_table: Any, cell_table: Any, assay: ArcAssay) -> IEncodable:
156
+ def chooser(tupled_arg: tuple[str, IEncodable | None], string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> tuple[str, IEncodable] | None:
157
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
158
+ return (tupled_arg[0], v_1)
159
+
160
+ return map(mapping, tupled_arg[1])
161
+
162
+ def _arrow2919(__unit: None=None, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
163
+ value: str = assay.Identifier
164
+ class ObjectExpr2918(IEncodable):
165
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
166
+ return helpers.encode_string(value)
167
+
168
+ return ObjectExpr2918()
169
+
170
+ def _arrow2921(value_1: str, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
171
+ class ObjectExpr2920(IEncodable):
172
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
173
+ return helpers_1.encode_string(value_1)
174
+
175
+ return ObjectExpr2920()
176
+
177
+ def _arrow2923(value_3: str, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
178
+ class ObjectExpr2922(IEncodable):
179
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
180
+ return helpers_2.encode_string(value_3)
181
+
182
+ return ObjectExpr2922()
183
+
184
+ def _arrow2924(oa: OntologyAnnotation, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
185
+ return OntologyAnnotation_encoder(oa)
186
+
187
+ def _arrow2925(oa_1: OntologyAnnotation, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
188
+ return OntologyAnnotation_encoder(oa_1)
189
+
190
+ def _arrow2926(oa_2: OntologyAnnotation, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
191
+ return OntologyAnnotation_encoder(oa_2)
192
+
193
+ def _arrow2927(table: ArcTable, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
194
+ return encoder_compressed_1(string_table, oa_table, cell_table, table)
195
+
196
+ def _arrow2928(dm: DataMap, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
197
+ return encoder_compressed_2(string_table, oa_table, cell_table, dm)
198
+
199
+ def _arrow2929(person: Person, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
200
+ return encoder_6(person)
201
+
202
+ def _arrow2930(comment: Comment, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> IEncodable:
203
+ return encoder_7(comment)
204
+
205
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("Identifier", _arrow2919()), try_include("Title", _arrow2921, assay.Title), try_include("Description", _arrow2923, assay.Description), try_include("MeasurementType", _arrow2924, assay.MeasurementType), try_include("TechnologyType", _arrow2925, assay.TechnologyType), try_include("TechnologyPlatform", _arrow2926, assay.TechnologyPlatform), try_include_seq("Tables", _arrow2927, assay.Tables), try_include("DataMap", _arrow2928, assay.DataMap), try_include_seq("Performers", _arrow2929, assay.Performers), try_include_seq("Comments", _arrow2930, assay.Comments)]))
206
+ class ObjectExpr2931(IEncodable):
207
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any], string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, assay: Any=assay) -> Any:
208
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
209
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_3))
210
+
211
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
212
+ return helpers_3.encode_object(arg)
213
+
214
+ return ObjectExpr2931()
215
+
216
+
217
+ def decoder_compressed(string_table: Array[str], oa_table: Array[OntologyAnnotation], cell_table: Array[CompositeCell]) -> Decoder_1[ArcAssay]:
218
+ def _arrow2942(get: IGetters, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table) -> ArcAssay:
219
+ def _arrow2932(__unit: None=None) -> str:
220
+ object_arg: IRequiredGetter = get.Required
221
+ return object_arg.Field("Identifier", string)
222
+
223
+ def _arrow2933(__unit: None=None) -> str | None:
224
+ object_arg_1: IOptionalGetter = get.Optional
225
+ return object_arg_1.Field("Title", string)
226
+
227
+ def _arrow2934(__unit: None=None) -> str | None:
228
+ object_arg_2: IOptionalGetter = get.Optional
229
+ return object_arg_2.Field("Description", string)
230
+
231
+ def _arrow2935(__unit: None=None) -> OntologyAnnotation | None:
232
+ object_arg_3: IOptionalGetter = get.Optional
233
+ return object_arg_3.Field("MeasurementType", OntologyAnnotation_decoder)
234
+
235
+ def _arrow2936(__unit: None=None) -> OntologyAnnotation | None:
236
+ object_arg_4: IOptionalGetter = get.Optional
237
+ return object_arg_4.Field("TechnologyType", OntologyAnnotation_decoder)
238
+
239
+ def _arrow2937(__unit: None=None) -> OntologyAnnotation | None:
240
+ object_arg_5: IOptionalGetter = get.Optional
241
+ return object_arg_5.Field("TechnologyPlatform", OntologyAnnotation_decoder)
242
+
243
+ def _arrow2938(__unit: None=None) -> Array[ArcTable] | None:
244
+ arg_13: Decoder_1[Array[ArcTable]] = resize_array(decoder_compressed_1(string_table, oa_table, cell_table))
245
+ object_arg_6: IOptionalGetter = get.Optional
246
+ return object_arg_6.Field("Tables", arg_13)
247
+
248
+ def _arrow2939(__unit: None=None) -> DataMap | None:
249
+ arg_15: Decoder_1[DataMap] = decoder_compressed_2(string_table, oa_table, cell_table)
250
+ object_arg_7: IOptionalGetter = get.Optional
251
+ return object_arg_7.Field("DataMap", arg_15)
252
+
253
+ def _arrow2940(__unit: None=None) -> Array[Person] | None:
254
+ arg_17: Decoder_1[Array[Person]] = resize_array(decoder_3)
255
+ object_arg_8: IOptionalGetter = get.Optional
256
+ return object_arg_8.Field("Performers", arg_17)
257
+
258
+ def _arrow2941(__unit: None=None) -> Array[Comment] | None:
259
+ arg_19: Decoder_1[Array[Comment]] = resize_array(decoder_4)
260
+ object_arg_9: IOptionalGetter = get.Optional
261
+ return object_arg_9.Field("Comments", arg_19)
262
+
263
+ return ArcAssay.create(_arrow2932(), _arrow2933(), _arrow2934(), _arrow2935(), _arrow2936(), _arrow2937(), _arrow2938(), _arrow2939(), _arrow2940(), _arrow2941())
264
+
265
+ return object(_arrow2942)
266
+
267
+
268
+ def ROCrate_genID(a: ArcAssay) -> str:
269
+ match_value: str = a.Identifier
270
+ if match_value == "":
271
+ return "#EmptyAssay"
272
+
273
+ else:
274
+ return ("assays/" + replace(match_value, " ", "_")) + "/"
275
+
276
+
277
+
278
+ def ROCrate_encoder(study_name: str | None, a: ArcAssay) -> IEncodable:
279
+ file_name: str = Assay_fileNameFromIdentifier(a.Identifier)
280
+ processes: FSharpList[Process] = ARCtrl_ArcTables__ArcTables_GetProcesses(a)
281
+ data_files: FSharpList[Data] = get_data(processes)
282
+ def chooser(tupled_arg: tuple[str, IEncodable | None], study_name: Any=study_name, a: Any=a) -> tuple[str, IEncodable] | None:
283
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
284
+ return (tupled_arg[0], v_1)
285
+
286
+ return map(mapping, tupled_arg[1])
287
+
288
+ def _arrow2946(__unit: None=None, study_name: Any=study_name, a: Any=a) -> IEncodable:
289
+ value: str = ROCrate_genID(a)
290
+ class ObjectExpr2945(IEncodable):
291
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
292
+ return helpers.encode_string(value)
293
+
294
+ return ObjectExpr2945()
295
+
296
+ class ObjectExpr2947(IEncodable):
297
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], study_name: Any=study_name, a: Any=a) -> Any:
298
+ return helpers_1.encode_string("Assay")
299
+
300
+ class ObjectExpr2948(IEncodable):
301
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], study_name: Any=study_name, a: Any=a) -> Any:
302
+ return helpers_2.encode_string("Assay")
303
+
304
+ def _arrow2950(__unit: None=None, study_name: Any=study_name, a: Any=a) -> IEncodable:
305
+ value_3: str = a.Identifier
306
+ class ObjectExpr2949(IEncodable):
307
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
308
+ return helpers_3.encode_string(value_3)
309
+
310
+ return ObjectExpr2949()
311
+
312
+ class ObjectExpr2951(IEncodable):
313
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any], study_name: Any=study_name, a: Any=a) -> Any:
314
+ return helpers_4.encode_string(file_name)
315
+
316
+ def _arrow2953(value_5: str, study_name: Any=study_name, a: Any=a) -> IEncodable:
317
+ class ObjectExpr2952(IEncodable):
318
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
319
+ return helpers_5.encode_string(value_5)
320
+
321
+ return ObjectExpr2952()
322
+
323
+ def _arrow2955(value_7: str, study_name: Any=study_name, a: Any=a) -> IEncodable:
324
+ class ObjectExpr2954(IEncodable):
325
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
326
+ return helpers_6.encode_string(value_7)
327
+
328
+ return ObjectExpr2954()
329
+
330
+ def _arrow2956(oa: OntologyAnnotation, study_name: Any=study_name, a: Any=a) -> IEncodable:
331
+ return OntologyAnnotation_ROCrate_encoderPropertyValue(oa)
332
+
333
+ def _arrow2957(oa_1: OntologyAnnotation, study_name: Any=study_name, a: Any=a) -> IEncodable:
334
+ return OntologyAnnotation_ROCrate_encoderDefinedTerm(oa_1)
335
+
336
+ def _arrow2958(oa_2: OntologyAnnotation, study_name: Any=study_name, a: Any=a) -> IEncodable:
337
+ return OntologyAnnotation_ROCrate_encoderDefinedTerm(oa_2)
338
+
339
+ def _arrow2959(oa_3: Person, study_name: Any=study_name, a: Any=a) -> IEncodable:
340
+ return ROCrate_encoder_1(oa_3)
341
+
342
+ def _arrow2960(oa_4: Data, study_name: Any=study_name, a: Any=a) -> IEncodable:
343
+ return ROCrate_encoder_2(oa_4)
344
+
345
+ def _arrow2962(__unit: None=None, study_name: Any=study_name, a: Any=a) -> Callable[[Process], IEncodable]:
346
+ assay_name: str | None = a.Identifier
347
+ def _arrow2961(oa_5: Process) -> IEncodable:
348
+ return ROCrate_encoder_3(study_name, assay_name, oa_5)
349
+
350
+ return _arrow2961
351
+
352
+ def _arrow2963(comment: Comment, study_name: Any=study_name, a: Any=a) -> IEncodable:
353
+ return ROCrate_encoder_4(comment)
354
+
355
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2946()), ("@type", list_1_1(singleton(ObjectExpr2947()))), ("additionalType", ObjectExpr2948()), ("identifier", _arrow2950()), ("filename", ObjectExpr2951()), try_include("title", _arrow2953, a.Title), try_include("description", _arrow2955, a.Description), try_include("measurementType", _arrow2956, a.MeasurementType), try_include("technologyType", _arrow2957, a.TechnologyType), try_include("technologyPlatform", _arrow2958, a.TechnologyPlatform), try_include_seq("performers", _arrow2959, a.Performers), try_include_list("dataFiles", _arrow2960, data_files), try_include_list("processSequence", _arrow2962(), processes), try_include_seq("comments", _arrow2963, a.Comments), ("@context", context_jsonvalue)]))
356
+ class ObjectExpr2964(IEncodable):
357
+ def Encode(self, helpers_7: IEncoderHelpers_1[Any], study_name: Any=study_name, a: Any=a) -> Any:
358
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
359
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_7))
360
+
361
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
362
+ return helpers_7.encode_object(arg)
363
+
364
+ return ObjectExpr2964()
365
+
366
+
367
+ def _arrow2974(get: IGetters) -> ArcAssay:
368
+ def _arrow2965(__unit: None=None) -> str | None:
369
+ object_arg: IOptionalGetter = get.Optional
370
+ return object_arg.Field("identifier", string)
371
+
372
+ identifier: str = default_arg(_arrow2965(), create_missing_identifier())
373
+ def mapping(arg_4: FSharpList[Process]) -> Array[ArcTable]:
374
+ a: ArcTables = ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(arg_4)
375
+ return a.Tables
376
+
377
+ def _arrow2966(__unit: None=None) -> FSharpList[Process] | None:
378
+ arg_3: Decoder_1[FSharpList[Process]] = list_1_2(ROCrate_decoder_1)
379
+ object_arg_1: IOptionalGetter = get.Optional
380
+ return object_arg_1.Field("processSequence", arg_3)
381
+
382
+ tables: Array[ArcTable] | None = map(mapping, _arrow2966())
383
+ def _arrow2967(__unit: None=None) -> str | None:
384
+ object_arg_2: IOptionalGetter = get.Optional
385
+ return object_arg_2.Field("title", string)
386
+
387
+ def _arrow2968(__unit: None=None) -> str | None:
388
+ object_arg_3: IOptionalGetter = get.Optional
389
+ return object_arg_3.Field("description", string)
390
+
391
+ def _arrow2969(__unit: None=None) -> OntologyAnnotation | None:
392
+ object_arg_4: IOptionalGetter = get.Optional
393
+ return object_arg_4.Field("measurementType", OntologyAnnotation_ROCrate_decoderPropertyValue)
394
+
395
+ def _arrow2970(__unit: None=None) -> OntologyAnnotation | None:
396
+ object_arg_5: IOptionalGetter = get.Optional
397
+ return object_arg_5.Field("technologyType", OntologyAnnotation_ROCrate_decoderDefinedTerm)
398
+
399
+ def _arrow2971(__unit: None=None) -> OntologyAnnotation | None:
400
+ object_arg_6: IOptionalGetter = get.Optional
401
+ return object_arg_6.Field("technologyPlatform", OntologyAnnotation_ROCrate_decoderDefinedTerm)
402
+
403
+ def _arrow2972(__unit: None=None) -> Array[Person] | None:
404
+ arg_16: Decoder_1[Array[Person]] = resize_array(ROCrate_decoder_2)
405
+ object_arg_7: IOptionalGetter = get.Optional
406
+ return object_arg_7.Field("performers", arg_16)
407
+
408
+ def _arrow2973(__unit: None=None) -> Array[Comment] | None:
409
+ arg_18: Decoder_1[Array[Comment]] = resize_array(ROCrate_decoder_3)
410
+ object_arg_8: IOptionalGetter = get.Optional
411
+ return object_arg_8.Field("comments", arg_18)
412
+
413
+ return ArcAssay(identifier, _arrow2967(), _arrow2968(), _arrow2969(), _arrow2970(), _arrow2971(), tables, None, _arrow2972(), _arrow2973())
414
+
415
+
416
+ ROCrate_decoder: Decoder_1[ArcAssay] = object(_arrow2974)
417
+
418
+ def ISAJson_encoder(study_name: str | None, id_map: Any | None, a: ArcAssay) -> IEncodable:
419
+ def f(a_1: ArcAssay, study_name: Any=study_name, id_map: Any=id_map, a: Any=a) -> IEncodable:
420
+ file_name: str = Assay_fileNameFromIdentifier(a_1.Identifier)
421
+ processes: FSharpList[Process] = ARCtrl_ArcTables__ArcTables_GetProcesses(a_1)
422
+ def encoder_1(oa: OntologyAnnotation, a_1: Any=a_1) -> IEncodable:
423
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
424
+
425
+ encoded_units: tuple[str, IEncodable | None] = try_include_list("unitCategories", encoder_1, get_units(processes))
426
+ def encoder_2(value_1: MaterialAttribute, a_1: Any=a_1) -> IEncodable:
427
+ return encoder_8(id_map, value_1)
428
+
429
+ encoded_characteristics: tuple[str, IEncodable | None] = try_include_list("characteristicCategories", encoder_2, get_characteristics(processes))
430
+ def _arrow2975(ps: FSharpList[Process], a_1: Any=a_1) -> IEncodable:
431
+ return encoder_9(id_map, ps)
432
+
433
+ encoded_materials: tuple[str, IEncodable | None] = try_include("materials", _arrow2975, Option_fromValueWithDefault(empty(), processes))
434
+ def encoder_3(oa_1: Data, a_1: Any=a_1) -> IEncodable:
435
+ return ISAJson_encoder_1(id_map, oa_1)
436
+
437
+ encoced_data_files: tuple[str, IEncodable | None] = try_include_list("dataFiles", encoder_3, get_data(processes))
438
+ units: FSharpList[OntologyAnnotation] = get_units(processes)
439
+ def _arrow2978(__unit: None=None, a_1: Any=a_1) -> IEnumerable_1[Comment]:
440
+ def _arrow2977(__unit: None=None) -> IEnumerable_1[Comment]:
441
+ def _arrow2976(__unit: None=None) -> IEnumerable_1[Comment]:
442
+ return singleton_1(Comment.create("description", value_9(a_1.Description))) if (a_1.Description is not None) else empty_1()
443
+
444
+ return append(singleton_1(Comment.create("title", value_9(a_1.Title))) if (a_1.Title is not None) else empty_1(), delay(_arrow2976))
445
+
446
+ return append(a_1.Comments if (len(a_1.Comments) > 0) else empty_1(), delay(_arrow2977))
447
+
448
+ comments: FSharpList[Comment] = to_list(delay(_arrow2978))
449
+ def chooser(tupled_arg: tuple[str, IEncodable | None], a_1: Any=a_1) -> tuple[str, IEncodable] | None:
450
+ def mapping_1(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
451
+ return (tupled_arg[0], v_1)
452
+
453
+ return map(mapping_1, tupled_arg[1])
454
+
455
+ class ObjectExpr2980(IEncodable):
456
+ def Encode(self, helpers: IEncoderHelpers_1[Any], a_1: Any=a_1) -> Any:
457
+ return helpers.encode_string(file_name)
458
+
459
+ def _arrow2982(value_5: str, a_1: Any=a_1) -> IEncodable:
460
+ class ObjectExpr2981(IEncodable):
461
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
462
+ return helpers_1.encode_string(value_5)
463
+
464
+ return ObjectExpr2981()
465
+
466
+ def _arrow2983(oa_2: OntologyAnnotation, a_1: Any=a_1) -> IEncodable:
467
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa_2)
468
+
469
+ def _arrow2984(oa_3: OntologyAnnotation, a_1: Any=a_1) -> IEncodable:
470
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa_3)
471
+
472
+ def _arrow2986(value_7: str, a_1: Any=a_1) -> IEncodable:
473
+ class ObjectExpr2985(IEncodable):
474
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
475
+ return helpers_2.encode_string(value_7)
476
+
477
+ return ObjectExpr2985()
478
+
479
+ def mapping(tp: OntologyAnnotation, a_1: Any=a_1) -> str:
480
+ return JsonTypes_composeTechnologyPlatform(tp)
481
+
482
+ def _arrow2988(__unit: None=None, a_1: Any=a_1) -> Callable[[Process], IEncodable]:
483
+ assay_name: str | None = a_1.Identifier
484
+ def _arrow2987(oa_4: Process) -> IEncodable:
485
+ return ISAJson_encoder_2(study_name, assay_name, id_map, oa_4)
486
+
487
+ return _arrow2987
488
+
489
+ def _arrow2989(comment: Comment, a_1: Any=a_1) -> IEncodable:
490
+ return ISAJson_encoder_3(id_map, comment)
491
+
492
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("filename", ObjectExpr2980()), try_include("@id", _arrow2982, ROCrate_genID(a_1)), try_include("measurementType", _arrow2983, a_1.MeasurementType), try_include("technologyType", _arrow2984, a_1.TechnologyType), try_include("technologyPlatform", _arrow2986, map(mapping, a_1.TechnologyPlatform)), encoced_data_files, encoded_materials, encoded_characteristics, encoded_units, try_include_list("processSequence", _arrow2988(), processes), try_include_seq("comments", _arrow2989, comments)]))
493
+ class ObjectExpr2990(IEncodable):
494
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any], a_1: Any=a_1) -> Any:
495
+ def mapping_2(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
496
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_3))
497
+
498
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_2, values)
499
+ return helpers_3.encode_object(arg)
500
+
501
+ return ObjectExpr2990()
502
+
503
+ if id_map is not None:
504
+ def _arrow2991(a_2: ArcAssay, study_name: Any=study_name, id_map: Any=id_map, a: Any=a) -> str:
505
+ return ROCrate_genID(a_2)
506
+
507
+ return encode(_arrow2991, f, a, id_map)
508
+
509
+ else:
510
+ return f(a)
511
+
512
+
513
+
514
+ ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "filename", "measurementType", "technologyType", "technologyPlatform", "dataFiles", "materials", "characteristicCategories", "unitCategories", "processSequence", "comments", "@type", "@context"])
515
+
516
+ def _arrow2997(get: IGetters) -> ArcAssay:
517
+ def _arrow2992(__unit: None=None) -> str | None:
518
+ object_arg: IOptionalGetter = get.Optional
519
+ return object_arg.Field("filename", string)
520
+
521
+ identifier: str = default_arg(bind(Assay_tryIdentifierFromFileName, _arrow2992()), create_missing_identifier())
522
+ def mapping(arg_4: FSharpList[Process]) -> Array[ArcTable]:
523
+ a: ArcTables = ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(arg_4)
524
+ return a.Tables
525
+
526
+ def _arrow2993(__unit: None=None) -> FSharpList[Process] | None:
527
+ arg_3: Decoder_1[FSharpList[Process]] = list_1_2(ISAJson_decoder_1)
528
+ object_arg_1: IOptionalGetter = get.Optional
529
+ return object_arg_1.Field("processSequence", arg_3)
530
+
531
+ tables: Array[ArcTable] | None = map(mapping, _arrow2993())
532
+ comments: Array[Comment] | None
533
+ arg_6: Decoder_1[Array[Comment]] = resize_array(ISAJson_decoder_2)
534
+ object_arg_2: IOptionalGetter = get.Optional
535
+ comments = object_arg_2.Field("comments", arg_6)
536
+ def binder(c: Array[Comment]) -> str | None:
537
+ def chooser(x: Comment, c: Any=c) -> str | None:
538
+ if (value_9(x.Name) == "title") if (x.Name is not None) else False:
539
+ return x.Value
540
+
541
+ else:
542
+ return None
543
+
544
+
545
+ return try_pick(chooser, c)
546
+
547
+ title: str | None = bind(binder, comments)
548
+ def binder_1(c_1: Array[Comment]) -> str | None:
549
+ def chooser_1(x_1: Comment, c_1: Any=c_1) -> str | None:
550
+ if (value_9(x_1.Name) == "description") if (x_1.Name is not None) else False:
551
+ return x_1.Value
552
+
553
+ else:
554
+ return None
555
+
556
+
557
+ return try_pick(chooser_1, c_1)
558
+
559
+ description: str | None = bind(binder_1, comments)
560
+ def binder_2(c_2: Array[Comment]) -> Array[Comment] | None:
561
+ def f(x_2: Comment, c_2: Any=c_2) -> bool:
562
+ if x_2.Name is None:
563
+ return True
564
+
565
+ elif value_9(x_2.Name) != "title":
566
+ return value_9(x_2.Name) != "description"
567
+
568
+ else:
569
+ return False
570
+
571
+
572
+ match_value: Array[Comment] = ResizeArray_filter(f, c_2)
573
+ if length(match_value) == 0:
574
+ return None
575
+
576
+ else:
577
+ return match_value
578
+
579
+
580
+ comments_1: Array[Comment] | None = bind(binder_2, comments)
581
+ def _arrow2994(__unit: None=None) -> OntologyAnnotation | None:
582
+ object_arg_3: IOptionalGetter = get.Optional
583
+ return object_arg_3.Field("measurementType", OntologyAnnotation_ISAJson_decoder)
584
+
585
+ def _arrow2995(__unit: None=None) -> OntologyAnnotation | None:
586
+ object_arg_4: IOptionalGetter = get.Optional
587
+ return object_arg_4.Field("technologyType", OntologyAnnotation_ISAJson_decoder)
588
+
589
+ def _arrow2996(__unit: None=None) -> OntologyAnnotation | None:
590
+ arg_12: Decoder_1[OntologyAnnotation] = map_2(JsonTypes_decomposeTechnologyPlatform, string)
591
+ object_arg_5: IOptionalGetter = get.Optional
592
+ return object_arg_5.Field("technologyPlatform", arg_12)
593
+
594
+ return ArcAssay(identifier, title, description, _arrow2994(), _arrow2995(), _arrow2996(), tables, None, None, comments_1)
595
+
596
+
597
+ ISAJson_decoder: Decoder_1[ArcAssay] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow2997)
598
+
599
+ __all__ = ["encoder", "decoder", "encoder_compressed", "decoder_compressed", "ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
600
+