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,81 @@
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)
5
+ from ...fable_modules.fable_library.option import map
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, Decoder_1, IEncoderHelpers_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.process_parameter_value import ProcessParameterValue
12
+ from ...Core.Process.protocol_parameter import ProtocolParameter
13
+ from ...Core.value import Value
14
+ from ..encode import try_include
15
+ from ..ontology_annotation import (OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
16
+ from ..property_value import (encoder, decoder)
17
+ from .protocol_parameter import (encoder as encoder_1, decoder as decoder_1)
18
+ from .value import (encoder as encoder_2, decoder as decoder_2)
19
+
20
+ __A_ = TypeVar("__A_")
21
+
22
+ ROCrate_encoder: Callable[[ProcessParameterValue], IEncodable] = encoder
23
+
24
+ def _arrow2605(alternate_name: str | None=None, measurement_method: str | None=None, description: str | None=None, category: OntologyAnnotation | None=None, value: Value | None=None, unit: OntologyAnnotation | None=None) -> ProcessParameterValue:
25
+ return ProcessParameterValue.create_as_pv(alternate_name, measurement_method, description, category, value, unit)
26
+
27
+
28
+ ROCrate_decoder: Decoder_1[ProcessParameterValue] = decoder(_arrow2605)
29
+
30
+ def ISAJson_genID(oa: ProcessParameterValue) -> Any:
31
+ raise Exception("Not implemented")
32
+
33
+
34
+ def ISAJson_encoder(id_map: Any | None, oa: ProcessParameterValue) -> IEncodable:
35
+ def chooser(tupled_arg: tuple[str, IEncodable | None], id_map: Any=id_map, oa: Any=oa) -> tuple[str, IEncodable] | None:
36
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
37
+ return (tupled_arg[0], v_1)
38
+
39
+ return map(mapping, tupled_arg[1])
40
+
41
+ def _arrow2607(value: ProtocolParameter, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
42
+ return encoder_1(id_map, value)
43
+
44
+ def _arrow2608(value_1: Value, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
45
+ return encoder_2(id_map, value_1)
46
+
47
+ def _arrow2609(oa_1: OntologyAnnotation, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
48
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa_1)
49
+
50
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("category", _arrow2607, oa.Category), try_include("value", _arrow2608, oa.Value), try_include("unit", _arrow2609, oa.Unit)]))
51
+ class ObjectExpr2610(IEncodable):
52
+ def Encode(self, helpers: IEncoderHelpers_1[Any], id_map: Any=id_map, oa: Any=oa) -> Any:
53
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
54
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers))
55
+
56
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
57
+ return helpers.encode_object(arg)
58
+
59
+ return ObjectExpr2610()
60
+
61
+
62
+ def _arrow2614(get: IGetters) -> ProcessParameterValue:
63
+ def _arrow2611(__unit: None=None) -> ProtocolParameter | None:
64
+ object_arg: IOptionalGetter = get.Optional
65
+ return object_arg.Field("category", decoder_1)
66
+
67
+ def _arrow2612(__unit: None=None) -> Value | None:
68
+ object_arg_1: IOptionalGetter = get.Optional
69
+ return object_arg_1.Field("value", decoder_2)
70
+
71
+ def _arrow2613(__unit: None=None) -> OntologyAnnotation | None:
72
+ object_arg_2: IOptionalGetter = get.Optional
73
+ return object_arg_2.Field("unit", OntologyAnnotation_ISAJson_decoder)
74
+
75
+ return ProcessParameterValue(_arrow2611(), _arrow2612(), _arrow2613())
76
+
77
+
78
+ ISAJson_decoder: Decoder_1[ProcessParameterValue] = object(_arrow2614)
79
+
80
+ __all__ = ["ROCrate_encoder", "ROCrate_decoder", "ISAJson_genID", "ISAJson_encoder", "ISAJson_decoder"]
81
+
@@ -0,0 +1,354 @@
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, singleton, of_array, FSharpList, empty, append)
5
+ from ...fable_modules.fable_library.option import (map, default_arg)
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.string_ import replace
8
+ from ...fable_modules.fable_library.util import IEnumerable_1
9
+ from ...fable_modules.thoth_json_core.decode import (object, list_1 as list_1_2, IOptionalGetter, string, IGetters)
10
+ from ...fable_modules.thoth_json_core.encode import list_1 as list_1_1
11
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
12
+ from ...Core.comment import Comment
13
+ from ...Core.Helper.collections_ import Option_fromValueWithDefault
14
+ from ...Core.ontology_annotation import OntologyAnnotation
15
+ from ...Core.Process.component import Component
16
+ from ...Core.Process.protocol import Protocol
17
+ from ...Core.Process.protocol_parameter import ProtocolParameter
18
+ from ..comment import (ROCrate_encoder as ROCrate_encoder_2, ROCrate_decoder as ROCrate_decoder_2, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_2)
19
+ from ..context.rocrate.isa_protocol_context import context_jsonvalue
20
+ from ..decode import Decode_uri
21
+ from ..encode import (try_include, try_include_list_opt)
22
+ from ..idtable import encode
23
+ from ..ontology_annotation import (OntologyAnnotation_ROCrate_encoderDefinedTerm, OntologyAnnotation_ROCrate_decoderDefinedTerm, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
24
+ from .component import (ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_1, ISAJson_encoder as ISAJson_encoder_1, ISAJson_decoder as ISAJson_decoder_1)
25
+ from .protocol_parameter import (encoder, decoder)
26
+
27
+ __A_ = TypeVar("__A_")
28
+
29
+ def ROCrate_genID(study_name: str | None, assay_name: str | None, process_name: str | None, p: Protocol) -> str:
30
+ match_value: str | None = p.ID
31
+ (pattern_matching_result, id_1) = (None, None)
32
+ if match_value is not None:
33
+ if match_value != "":
34
+ pattern_matching_result = 0
35
+ id_1 = match_value
36
+
37
+ else:
38
+ pattern_matching_result = 1
39
+
40
+
41
+ else:
42
+ pattern_matching_result = 1
43
+
44
+ if pattern_matching_result == 0:
45
+ return id_1
46
+
47
+ elif pattern_matching_result == 1:
48
+ match_value_1: str | None = p.Uri
49
+ if match_value_1 is None:
50
+ match_value_2: str | None = p.Name
51
+ if match_value_2 is None:
52
+ (pattern_matching_result_1, an, pn, sn, pn_1, sn_1, pn_2) = (None, None, None, None, None, None, None)
53
+ if study_name is None:
54
+ if assay_name is None:
55
+ if process_name is not None:
56
+ pattern_matching_result_1 = 2
57
+ pn_2 = process_name
58
+
59
+ else:
60
+ pattern_matching_result_1 = 3
61
+
62
+
63
+ else:
64
+ pattern_matching_result_1 = 3
65
+
66
+
67
+ elif assay_name is None:
68
+ if process_name is not None:
69
+ pattern_matching_result_1 = 1
70
+ pn_1 = process_name
71
+ sn_1 = study_name
72
+
73
+ else:
74
+ pattern_matching_result_1 = 3
75
+
76
+
77
+ elif process_name is not None:
78
+ pattern_matching_result_1 = 0
79
+ an = assay_name
80
+ pn = process_name
81
+ sn = study_name
82
+
83
+ else:
84
+ pattern_matching_result_1 = 3
85
+
86
+ if pattern_matching_result_1 == 0:
87
+ return (((("#Protocol_" + replace(sn, " ", "_")) + "_") + replace(an, " ", "_")) + "_") + replace(pn, " ", "_")
88
+
89
+ elif pattern_matching_result_1 == 1:
90
+ return (("#Protocol_" + replace(sn_1, " ", "_")) + "_") + replace(pn_1, " ", "_")
91
+
92
+ elif pattern_matching_result_1 == 2:
93
+ return "#Protocol_" + replace(pn_2, " ", "_")
94
+
95
+ elif pattern_matching_result_1 == 3:
96
+ return "#EmptyProtocol"
97
+
98
+
99
+ else:
100
+ return "#Protocol_" + replace(match_value_2, " ", "_")
101
+
102
+
103
+ else:
104
+ return match_value_1
105
+
106
+
107
+
108
+
109
+ def ROCrate_encoder(study_name: str | None, assay_name: str | None, process_name: str | None, oa: Protocol) -> IEncodable:
110
+ def chooser(tupled_arg: tuple[str, IEncodable | None], study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> tuple[str, IEncodable] | None:
111
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
112
+ return (tupled_arg[0], v_1)
113
+
114
+ return map(mapping, tupled_arg[1])
115
+
116
+ def _arrow2491(__unit: None=None, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> IEncodable:
117
+ value: str = ROCrate_genID(study_name, assay_name, process_name, oa)
118
+ class ObjectExpr2490(IEncodable):
119
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
120
+ return helpers.encode_string(value)
121
+
122
+ return ObjectExpr2490()
123
+
124
+ class ObjectExpr2492(IEncodable):
125
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> Any:
126
+ return helpers_1.encode_string("Protocol")
127
+
128
+ def _arrow2494(value_2: str, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> IEncodable:
129
+ class ObjectExpr2493(IEncodable):
130
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
131
+ return helpers_2.encode_string(value_2)
132
+
133
+ return ObjectExpr2493()
134
+
135
+ def _arrow2495(oa_1: OntologyAnnotation, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> IEncodable:
136
+ return OntologyAnnotation_ROCrate_encoderDefinedTerm(oa_1)
137
+
138
+ def _arrow2497(value_4: str, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> IEncodable:
139
+ class ObjectExpr2496(IEncodable):
140
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
141
+ return helpers_3.encode_string(value_4)
142
+
143
+ return ObjectExpr2496()
144
+
145
+ def _arrow2499(value_6: str, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> IEncodable:
146
+ class ObjectExpr2498(IEncodable):
147
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
148
+ return helpers_4.encode_string(value_6)
149
+
150
+ return ObjectExpr2498()
151
+
152
+ def _arrow2501(value_8: str, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> IEncodable:
153
+ class ObjectExpr2500(IEncodable):
154
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
155
+ return helpers_5.encode_string(value_8)
156
+
157
+ return ObjectExpr2500()
158
+
159
+ def _arrow2502(comment: Comment, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> IEncodable:
160
+ return ROCrate_encoder_2(comment)
161
+
162
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2491()), ("@type", list_1_1(singleton(ObjectExpr2492()))), try_include("name", _arrow2494, oa.Name), try_include("protocolType", _arrow2495, oa.ProtocolType), try_include("description", _arrow2497, oa.Description), try_include("uri", _arrow2499, oa.Uri), try_include("version", _arrow2501, oa.Version), try_include_list_opt("components", ROCrate_encoder_1, oa.Components), try_include_list_opt("comments", _arrow2502, oa.Comments), ("@context", context_jsonvalue)]))
163
+ class ObjectExpr2503(IEncodable):
164
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any], study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, oa: Any=oa) -> Any:
165
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
166
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_6))
167
+
168
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
169
+ return helpers_6.encode_object(arg)
170
+
171
+ return ObjectExpr2503()
172
+
173
+
174
+ def _arrow2515(get: IGetters) -> Protocol:
175
+ def _arrow2507(__unit: None=None) -> FSharpList[Component]:
176
+ list_4: FSharpList[Component]
177
+ def _arrow2504(__unit: None=None) -> FSharpList[Component] | None:
178
+ arg_1: Decoder_1[FSharpList[Component]] = list_1_2(ROCrate_decoder_1)
179
+ object_arg: IOptionalGetter = get.Optional
180
+ return object_arg.Field("components", arg_1)
181
+
182
+ list_2: FSharpList[Component] = default_arg(_arrow2504(), empty())
183
+ def _arrow2505(__unit: None=None) -> FSharpList[Component] | None:
184
+ arg_3: Decoder_1[FSharpList[Component]] = list_1_2(ROCrate_decoder_1)
185
+ object_arg_1: IOptionalGetter = get.Optional
186
+ return object_arg_1.Field("reagents", arg_3)
187
+
188
+ list_4 = append(default_arg(_arrow2505(), empty()), list_2)
189
+ def _arrow2506(__unit: None=None) -> FSharpList[Component] | None:
190
+ arg_5: Decoder_1[FSharpList[Component]] = list_1_2(ROCrate_decoder_1)
191
+ object_arg_2: IOptionalGetter = get.Optional
192
+ return object_arg_2.Field("computationalTools", arg_5)
193
+
194
+ return append(default_arg(_arrow2506(), empty()), list_4)
195
+
196
+ components: FSharpList[Component] | None = Option_fromValueWithDefault(empty(), _arrow2507())
197
+ def _arrow2508(__unit: None=None) -> str | None:
198
+ object_arg_3: IOptionalGetter = get.Optional
199
+ return object_arg_3.Field("@id", Decode_uri)
200
+
201
+ def _arrow2509(__unit: None=None) -> str | None:
202
+ object_arg_4: IOptionalGetter = get.Optional
203
+ return object_arg_4.Field("name", string)
204
+
205
+ def _arrow2510(__unit: None=None) -> OntologyAnnotation | None:
206
+ object_arg_5: IOptionalGetter = get.Optional
207
+ return object_arg_5.Field("protocolType", OntologyAnnotation_ROCrate_decoderDefinedTerm)
208
+
209
+ def _arrow2511(__unit: None=None) -> str | None:
210
+ object_arg_6: IOptionalGetter = get.Optional
211
+ return object_arg_6.Field("description", string)
212
+
213
+ def _arrow2512(__unit: None=None) -> str | None:
214
+ object_arg_7: IOptionalGetter = get.Optional
215
+ return object_arg_7.Field("uri", Decode_uri)
216
+
217
+ def _arrow2513(__unit: None=None) -> str | None:
218
+ object_arg_8: IOptionalGetter = get.Optional
219
+ return object_arg_8.Field("version", string)
220
+
221
+ def _arrow2514(__unit: None=None) -> FSharpList[Comment] | None:
222
+ arg_19: Decoder_1[FSharpList[Comment]] = list_1_2(ROCrate_decoder_2)
223
+ object_arg_9: IOptionalGetter = get.Optional
224
+ return object_arg_9.Field("comments", arg_19)
225
+
226
+ return Protocol(_arrow2508(), _arrow2509(), _arrow2510(), _arrow2511(), _arrow2512(), _arrow2513(), None, components, _arrow2514())
227
+
228
+
229
+ ROCrate_decoder: Decoder_1[Protocol] = object(_arrow2515)
230
+
231
+ def ISAJson_encoder(study_name: str | None, assay_name: str | None, process_name: str | None, id_map: Any | None, oa: Protocol) -> IEncodable:
232
+ def f(oa_1: Protocol, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
233
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa_1: Any=oa_1) -> tuple[str, IEncodable] | None:
234
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
235
+ return (tupled_arg[0], v_1)
236
+
237
+ return map(mapping, tupled_arg[1])
238
+
239
+ def _arrow2519(value: str, oa_1: Any=oa_1) -> IEncodable:
240
+ class ObjectExpr2518(IEncodable):
241
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
242
+ return helpers.encode_string(value)
243
+
244
+ return ObjectExpr2518()
245
+
246
+ def _arrow2521(value_2: str, oa_1: Any=oa_1) -> IEncodable:
247
+ class ObjectExpr2520(IEncodable):
248
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
249
+ return helpers_1.encode_string(value_2)
250
+
251
+ return ObjectExpr2520()
252
+
253
+ def _arrow2522(oa_2: OntologyAnnotation, oa_1: Any=oa_1) -> IEncodable:
254
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa_2)
255
+
256
+ def _arrow2524(value_4: str, oa_1: Any=oa_1) -> IEncodable:
257
+ class ObjectExpr2523(IEncodable):
258
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
259
+ return helpers_2.encode_string(value_4)
260
+
261
+ return ObjectExpr2523()
262
+
263
+ def _arrow2526(value_6: str, oa_1: Any=oa_1) -> IEncodable:
264
+ class ObjectExpr2525(IEncodable):
265
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
266
+ return helpers_3.encode_string(value_6)
267
+
268
+ return ObjectExpr2525()
269
+
270
+ def _arrow2528(value_8: str, oa_1: Any=oa_1) -> IEncodable:
271
+ class ObjectExpr2527(IEncodable):
272
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
273
+ return helpers_4.encode_string(value_8)
274
+
275
+ return ObjectExpr2527()
276
+
277
+ def _arrow2529(value_10: ProtocolParameter, oa_1: Any=oa_1) -> IEncodable:
278
+ return encoder(id_map, value_10)
279
+
280
+ def _arrow2530(c: Component, oa_1: Any=oa_1) -> IEncodable:
281
+ return ISAJson_encoder_1(id_map, c)
282
+
283
+ def _arrow2531(comment: Comment, oa_1: Any=oa_1) -> IEncodable:
284
+ return ISAJson_encoder_2(id_map, comment)
285
+
286
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2519, ROCrate_genID(study_name, assay_name, process_name, oa_1)), try_include("name", _arrow2521, oa_1.Name), try_include("protocolType", _arrow2522, oa_1.ProtocolType), try_include("description", _arrow2524, oa_1.Description), try_include("uri", _arrow2526, oa_1.Uri), try_include("version", _arrow2528, oa_1.Version), try_include_list_opt("parameters", _arrow2529, oa_1.Parameters), try_include_list_opt("components", _arrow2530, oa_1.Components), try_include_list_opt("comments", _arrow2531, oa_1.Comments)]))
287
+ class ObjectExpr2532(IEncodable):
288
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any], oa_1: Any=oa_1) -> Any:
289
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
290
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_5))
291
+
292
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
293
+ return helpers_5.encode_object(arg)
294
+
295
+ return ObjectExpr2532()
296
+
297
+ if id_map is not None:
298
+ def _arrow2533(p_1: Protocol, study_name: Any=study_name, assay_name: Any=assay_name, process_name: Any=process_name, id_map: Any=id_map, oa: Any=oa) -> str:
299
+ return ROCrate_genID(study_name, assay_name, process_name, p_1)
300
+
301
+ return encode(_arrow2533, f, oa, id_map)
302
+
303
+ else:
304
+ return f(oa)
305
+
306
+
307
+
308
+ def _arrow2543(get: IGetters) -> Protocol:
309
+ def _arrow2534(__unit: None=None) -> str | None:
310
+ object_arg: IOptionalGetter = get.Optional
311
+ return object_arg.Field("@id", Decode_uri)
312
+
313
+ def _arrow2535(__unit: None=None) -> str | None:
314
+ object_arg_1: IOptionalGetter = get.Optional
315
+ return object_arg_1.Field("name", string)
316
+
317
+ def _arrow2536(__unit: None=None) -> OntologyAnnotation | None:
318
+ object_arg_2: IOptionalGetter = get.Optional
319
+ return object_arg_2.Field("protocolType", OntologyAnnotation_ISAJson_decoder)
320
+
321
+ def _arrow2537(__unit: None=None) -> str | None:
322
+ object_arg_3: IOptionalGetter = get.Optional
323
+ return object_arg_3.Field("description", string)
324
+
325
+ def _arrow2538(__unit: None=None) -> str | None:
326
+ object_arg_4: IOptionalGetter = get.Optional
327
+ return object_arg_4.Field("uri", Decode_uri)
328
+
329
+ def _arrow2539(__unit: None=None) -> str | None:
330
+ object_arg_5: IOptionalGetter = get.Optional
331
+ return object_arg_5.Field("version", string)
332
+
333
+ def _arrow2540(__unit: None=None) -> FSharpList[ProtocolParameter] | None:
334
+ arg_13: Decoder_1[FSharpList[ProtocolParameter]] = list_1_2(decoder)
335
+ object_arg_6: IOptionalGetter = get.Optional
336
+ return object_arg_6.Field("parameters", arg_13)
337
+
338
+ def _arrow2541(__unit: None=None) -> FSharpList[Component] | None:
339
+ arg_15: Decoder_1[FSharpList[Component]] = list_1_2(ISAJson_decoder_1)
340
+ object_arg_7: IOptionalGetter = get.Optional
341
+ return object_arg_7.Field("components", arg_15)
342
+
343
+ def _arrow2542(__unit: None=None) -> FSharpList[Comment] | None:
344
+ arg_17: Decoder_1[FSharpList[Comment]] = list_1_2(ISAJson_decoder_2)
345
+ object_arg_8: IOptionalGetter = get.Optional
346
+ return object_arg_8.Field("comments", arg_17)
347
+
348
+ return Protocol(_arrow2534(), _arrow2535(), _arrow2536(), _arrow2537(), _arrow2538(), _arrow2539(), _arrow2540(), _arrow2541(), _arrow2542())
349
+
350
+
351
+ ISAJson_decoder: Decoder_1[Protocol] = object(_arrow2543)
352
+
353
+ __all__ = ["ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_decoder"]
354
+
@@ -0,0 +1,79 @@
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)
5
+ from ...fable_modules.fable_library.option import map
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.protocol_parameter import ProtocolParameter
12
+ from ..encode import try_include
13
+ from ..idtable import encode
14
+ from ..ontology_annotation import (OntologyAnnotation_ROCrate_genID, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
15
+
16
+ __A_ = TypeVar("__A_")
17
+
18
+ def gen_id(p: ProtocolParameter) -> str:
19
+ match_value: OntologyAnnotation | None = p.ParameterName
20
+ if match_value is None:
21
+ return "#EmptyProtocolParameter"
22
+
23
+ else:
24
+ return ("#ProtocolParameter/" + OntologyAnnotation_ROCrate_genID(match_value)) + ""
25
+
26
+
27
+
28
+ def encoder(id_map: Any | None, value: ProtocolParameter) -> IEncodable:
29
+ def f(value_1: ProtocolParameter, id_map: Any=id_map, value: Any=value) -> IEncodable:
30
+ def chooser(tupled_arg: tuple[str, IEncodable | None], value_1: Any=value_1) -> tuple[str, IEncodable] | None:
31
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
32
+ return (tupled_arg[0], v_1)
33
+
34
+ return map(mapping, tupled_arg[1])
35
+
36
+ def _arrow2370(value_2: str, value_1: Any=value_1) -> IEncodable:
37
+ class ObjectExpr2369(IEncodable):
38
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
39
+ return helpers.encode_string(value_2)
40
+
41
+ return ObjectExpr2369()
42
+
43
+ def _arrow2373(oa: OntologyAnnotation, value_1: Any=value_1) -> IEncodable:
44
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
45
+
46
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2370, gen_id(value_1)), try_include("parameterName", _arrow2373, value_1.ParameterName)]))
47
+ class ObjectExpr2377(IEncodable):
48
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], value_1: Any=value_1) -> Any:
49
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
50
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_1))
51
+
52
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
53
+ return helpers_1.encode_object(arg)
54
+
55
+ return ObjectExpr2377()
56
+
57
+ if id_map is not None:
58
+ def _arrow2380(p_1: ProtocolParameter, id_map: Any=id_map, value: Any=value) -> str:
59
+ return gen_id(p_1)
60
+
61
+ return encode(_arrow2380, f, value, id_map)
62
+
63
+ else:
64
+ return f(value)
65
+
66
+
67
+
68
+ def _arrow2384(get: IGetters) -> ProtocolParameter:
69
+ def _arrow2383(__unit: None=None) -> OntologyAnnotation | None:
70
+ object_arg: IOptionalGetter = get.Optional
71
+ return object_arg.Field("parameterName", OntologyAnnotation_ISAJson_decoder)
72
+
73
+ return ProtocolParameter(None, _arrow2383())
74
+
75
+
76
+ decoder: Decoder_1[ProtocolParameter] = object(_arrow2384)
77
+
78
+ __all__ = ["gen_id", "encoder", "decoder"]
79
+