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
File without changes
@@ -0,0 +1,193 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.array_ import map as map_1
5
+ from ...fable_modules.fable_library.list import (reverse, map, FSharpList, fold, singleton, cons, is_empty, head, tail, empty, of_array, to_array, exists, collect as collect_1, sort_by, length, iterate_indexed)
6
+ from ...fable_modules.fable_library.map_util import add_to_dict
7
+ from ...fable_modules.fable_library.range import range_big_int
8
+ from ...fable_modules.fable_library.reflection import enum_type
9
+ from ...fable_modules.fable_library.seq import (try_find, to_array as to_array_1, delay, map as map_2, collect, singleton as singleton_1, fold as fold_1)
10
+ from ...fable_modules.fable_library.string_ import (starts_with_exact, to_fail, printf)
11
+ from ...fable_modules.fable_library.types import Array
12
+ from ...fable_modules.fable_library.util import (IEnumerable_1, compare_primitives, max)
13
+ from ...fable_modules.fs_spreadsheet.Cells.fs_cell import FsCell
14
+ from ...fable_modules.fs_spreadsheet.Cells.fs_cells_collection import (FsCellsCollection__TryGetCell_Z37302880, Dictionary_tryGet)
15
+ from ...fable_modules.fs_spreadsheet.fs_address import (FsAddress__get_RowNumber, FsAddress__get_ColumnNumber, FsAddress__ctor_Z37302880, FsAddress)
16
+ from ...fable_modules.fs_spreadsheet.fs_worksheet import FsWorksheet
17
+ from ...fable_modules.fs_spreadsheet.Ranges.fs_range_address import (FsRangeAddress__get_LastAddress, FsRangeAddress__ctor_7E77A4A0)
18
+ from ...fable_modules.fs_spreadsheet.Ranges.fs_range_base import (FsRangeBase__get_RangeAddress, FsRangeBase__Cell_Z3407A44B)
19
+ from ...fable_modules.fs_spreadsheet.Tables.fs_table import FsTable
20
+ from ...Core.Table.arc_table import ArcTable
21
+ from ...Core.Table.composite_column import CompositeColumn
22
+ from ...Core.Table.composite_header import CompositeHeader
23
+ from .composite_column import (from_string_cell_columns, fix_deprecated_ioheader, to_string_cell_columns)
24
+
25
+ __A = TypeVar("__A")
26
+
27
+ def Aux_List_groupWhen(f: Callable[[__A], bool], list_1: FSharpList[Any]) -> FSharpList[FSharpList[Any]]:
28
+ def mapping(list_3: FSharpList[__A], f: Any=f, list_1: Any=list_1) -> FSharpList[__A]:
29
+ return reverse(list_3)
30
+
31
+ def folder(acc: FSharpList[FSharpList[__A]], e: __A, f: Any=f, list_1: Any=list_1) -> FSharpList[FSharpList[__A]]:
32
+ match_value: bool = f(e)
33
+ if match_value:
34
+ return cons(singleton(e), acc)
35
+
36
+ elif not is_empty(acc):
37
+ return cons(cons(e, head(acc)), tail(acc))
38
+
39
+ else:
40
+ return singleton(singleton(e))
41
+
42
+
43
+ return reverse(map(mapping, fold(folder, empty(), list_1)))
44
+
45
+
46
+ def classify_header_order(header: CompositeHeader) -> enum_type("ARCtrl.Spreadsheet.ArcTable.ColumnOrder", int, [("InputClass", 1.0), ("ProtocolClass", 2.0), ("ParamsClass", 3.0), ("OutputClass", 4.0)]):
47
+ if ((((((header.tag == 4) or (header.tag == 5)) or (header.tag == 6)) or (header.tag == 7)) or (header.tag == 8)) or (header.tag == 9)) or (header.tag == 10):
48
+ return 2
49
+
50
+ elif (((((header.tag == 0) or (header.tag == 1)) or (header.tag == 2)) or (header.tag == 3)) or (header.tag == 14)) or (header.tag == 13):
51
+ return 3
52
+
53
+ elif header.tag == 12:
54
+ return 4
55
+
56
+ else:
57
+ return 1
58
+
59
+
60
+
61
+ def classify_column_order(column: CompositeColumn) -> enum_type("ARCtrl.Spreadsheet.ArcTable.ColumnOrder", int, [("InputClass", 1.0), ("ProtocolClass", 2.0), ("ParamsClass", 3.0), ("OutputClass", 4.0)]):
62
+ return classify_header_order(column.Header)
63
+
64
+
65
+ helper_column_strings: FSharpList[str] = of_array(["Term Source REF", "Term Accession Number", "Unit", "Data Format", "Data Selector Format"])
66
+
67
+ def group_columns_by_header(string_cell_columns: Array[Array[str]]) -> Array[Array[Array[str]]]:
68
+ def mapping(list_4: FSharpList[Array[str]], string_cell_columns: Any=string_cell_columns) -> Array[Array[str]]:
69
+ return to_array(list_4)
70
+
71
+ def f(c: Array[str], string_cell_columns: Any=string_cell_columns) -> bool:
72
+ v: str = c[0]
73
+ def predicate(s: str, c: Any=c) -> bool:
74
+ return starts_with_exact(v, s)
75
+
76
+ return not exists(predicate, helper_column_strings)
77
+
78
+ return map_1(mapping, to_array(Aux_List_groupWhen(f, of_array(string_cell_columns))), None)
79
+
80
+
81
+ def try_annotation_table(sheet: FsWorksheet) -> FsTable | None:
82
+ def predicate(t: FsTable, sheet: Any=sheet) -> bool:
83
+ return starts_with_exact(t.Name, "annotationTable")
84
+
85
+ return try_find(predicate, sheet.Tables)
86
+
87
+
88
+ def compose_columns(string_cell_columns: Array[Array[str]]) -> Array[CompositeColumn]:
89
+ def _arrow1329(columns: Array[Array[str]], string_cell_columns: Any=string_cell_columns) -> CompositeColumn:
90
+ return from_string_cell_columns(columns)
91
+
92
+ return map_1(_arrow1329, group_columns_by_header(string_cell_columns), None)
93
+
94
+
95
+ def try_from_fs_worksheet(sheet: FsWorksheet) -> ArcTable | None:
96
+ try:
97
+ match_value: FsTable | None = try_annotation_table(sheet)
98
+ if match_value is None:
99
+ return None
100
+
101
+ else:
102
+ t: FsTable = match_value
103
+ def _arrow1333(__unit: None=None) -> IEnumerable_1[Array[str]]:
104
+ def _arrow1332(c: int) -> Array[str]:
105
+ def _arrow1331(__unit: None=None) -> IEnumerable_1[str]:
106
+ def _arrow1330(r: int) -> IEnumerable_1[str]:
107
+ match_value_1: FsCell | None = FsCellsCollection__TryGetCell_Z37302880(sheet.CellCollection, r, c)
108
+ if match_value_1 is None:
109
+ return singleton_1("")
110
+
111
+ else:
112
+ cell: FsCell = match_value_1
113
+ return singleton_1(cell.ValueAsString())
114
+
115
+
116
+ return collect(_arrow1330, range_big_int(1, 1, FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(t)))))
117
+
118
+ return to_array_1(delay(_arrow1331))
119
+
120
+ return map_2(_arrow1332, range_big_int(1, 1, FsAddress__get_ColumnNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(t)))))
121
+
122
+ composite_columns: Array[CompositeColumn] = compose_columns(map_1(fix_deprecated_ioheader, to_array_1(delay(_arrow1333)), None))
123
+ return ArcTable.add_columns(composite_columns, None, True)(ArcTable.init(sheet.Name))
124
+
125
+
126
+ except Exception as err:
127
+ arg: str = sheet.Name
128
+ arg_1: str = str(err)
129
+ return to_fail(printf("Could not parse table with name \"%s\":\n%s"))(arg)(arg_1)
130
+
131
+
132
+
133
+ def to_fs_worksheet(index: int | None, table: ArcTable) -> FsWorksheet:
134
+ string_count: Any = dict([])
135
+ ws: FsWorksheet = FsWorksheet(table.Name)
136
+ if table.ColumnCount == 0:
137
+ return ws
138
+
139
+ else:
140
+ def _arrow1334(column_1: CompositeColumn, index: Any=index, table: Any=table) -> FSharpList[FSharpList[str]]:
141
+ return to_string_cell_columns(column_1)
142
+
143
+ def _arrow1335(column: CompositeColumn, index: Any=index, table: Any=table) -> enum_type("ARCtrl.Spreadsheet.ArcTable.ColumnOrder", int, [("InputClass", 1.0), ("ProtocolClass", 2.0), ("ParamsClass", 3.0), ("OutputClass", 4.0)]):
144
+ return classify_column_order(column)
145
+
146
+ class ObjectExpr1336:
147
+ @property
148
+ def Compare(self) -> Callable[[enum_type("ARCtrl.Spreadsheet.ArcTable.ColumnOrder", int, [("InputClass", 1.0), ("ProtocolClass", 2.0), ("ParamsClass", 3.0), ("OutputClass", 4.0)]), enum_type("ARCtrl.Spreadsheet.ArcTable.ColumnOrder", int, [("InputClass", 1.0), ("ProtocolClass", 2.0), ("ParamsClass", 3.0), ("OutputClass", 4.0)])], int]:
149
+ return compare_primitives
150
+
151
+ columns: FSharpList[FSharpList[str]] = collect_1(_arrow1334, sort_by(_arrow1335, of_array(table.Columns), ObjectExpr1336()))
152
+ table_row_count: int
153
+ def folder(acc: int, c: FSharpList[str], index: Any=index, table: Any=table) -> int:
154
+ def _arrow1337(x_1: int, y_1: int, acc: Any=acc, c: Any=c) -> int:
155
+ return compare_primitives(x_1, y_1)
156
+
157
+ return max(_arrow1337, acc, length(c))
158
+
159
+ max_row: int = fold_1(folder, 0, columns) or 0
160
+ table_row_count = 2 if (max_row == 1) else max_row
161
+ table_column_count: int = length(columns) or 0
162
+ name: str = "annotationTable" if (index is None) else (((("" + "annotationTable") + "") + str(index)) + "")
163
+ fs_table: FsTable = ws.Table(name, FsRangeAddress__ctor_7E77A4A0(FsAddress__ctor_Z37302880(1, 1), FsAddress__ctor_Z37302880(table_row_count, table_column_count)))
164
+ def action_1(col_i: int, col: FSharpList[str], index: Any=index, table: Any=table) -> None:
165
+ def action(row_i: int, string_cell: str, col_i: Any=col_i, col: Any=col) -> None:
166
+ value: str
167
+ if row_i == 0:
168
+ match_value: str | None = Dictionary_tryGet(string_cell, string_count)
169
+ if match_value is None:
170
+ add_to_dict(string_count, string_cell, "")
171
+ value = string_cell
172
+
173
+ else:
174
+ spaces: str = match_value
175
+ string_count[string_cell] = spaces + " "
176
+ value = (string_cell + " ") + spaces
177
+
178
+
179
+ else:
180
+ value = string_cell
181
+
182
+ address: FsAddress = FsAddress__ctor_Z37302880(row_i + 1, col_i + 1)
183
+ FsRangeBase__Cell_Z3407A44B(fs_table, address, ws.CellCollection).SetValueAs(value)
184
+
185
+ iterate_indexed(action, col)
186
+
187
+ iterate_indexed(action_1, columns)
188
+ return ws
189
+
190
+
191
+
192
+ __all__ = ["Aux_List_groupWhen", "classify_header_order", "classify_column_order", "helper_column_strings", "group_columns_by_header", "try_annotation_table", "compose_columns", "try_from_fs_worksheet", "to_fs_worksheet"]
193
+
@@ -0,0 +1,78 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ...fable_modules.fable_library.option import (map, bind, default_arg)
4
+ from ...fable_modules.fable_library.types import Array
5
+ from ...Core.Helper.collections_ import Option_fromValueWithDefault
6
+ from ...Core.Table.composite_cell import CompositeCell
7
+
8
+ def term_from_string_cells(tsr_col: int | None, tan_col: int | None, cell_values: Array[str]) -> CompositeCell:
9
+ def _arrow1242(i: int, tsr_col: Any=tsr_col, tan_col: Any=tan_col, cell_values: Any=cell_values) -> str:
10
+ return cell_values[i]
11
+
12
+ tan: str | None = map(_arrow1242, tan_col)
13
+ def _arrow1243(i_1: int, tsr_col: Any=tsr_col, tan_col: Any=tan_col, cell_values: Any=cell_values) -> str:
14
+ return cell_values[i_1]
15
+
16
+ tsr: str | None = map(_arrow1243, tsr_col)
17
+ return CompositeCell.create_term_from_string(cell_values[0], tsr, tan)
18
+
19
+
20
+ def unitized_from_string_cells(unit_col: int, tsr_col: int | None, tan_col: int | None, cell_values: Array[str]) -> CompositeCell:
21
+ unit: str = cell_values[unit_col]
22
+ def _arrow1244(i: int, unit_col: Any=unit_col, tsr_col: Any=tsr_col, tan_col: Any=tan_col, cell_values: Any=cell_values) -> str:
23
+ return cell_values[i]
24
+
25
+ tan: str | None = map(_arrow1244, tan_col)
26
+ def _arrow1245(i_1: int, unit_col: Any=unit_col, tsr_col: Any=tsr_col, tan_col: Any=tan_col, cell_values: Any=cell_values) -> str:
27
+ return cell_values[i_1]
28
+
29
+ tsr: str | None = map(_arrow1245, tsr_col)
30
+ return CompositeCell.create_unitized_from_string(cell_values[0], unit, tsr, tan)
31
+
32
+
33
+ def free_text_from_string_cells(cell_values: Array[str]) -> CompositeCell:
34
+ return CompositeCell.create_free_text(cell_values[0])
35
+
36
+
37
+ def data_from_string_cells(format: int | None, selector_format: int | None, cell_values: Array[str]) -> CompositeCell:
38
+ def _arrow1246(i: int, format: Any=format, selector_format: Any=selector_format, cell_values: Any=cell_values) -> str | None:
39
+ return Option_fromValueWithDefault("", cell_values[i])
40
+
41
+ format_1: str | None = bind(_arrow1246, format)
42
+ def _arrow1247(i_1: int, format: Any=format, selector_format: Any=selector_format, cell_values: Any=cell_values) -> str | None:
43
+ return Option_fromValueWithDefault("", cell_values[i_1])
44
+
45
+ selector_format_1: str | None = bind(_arrow1247, selector_format)
46
+ return CompositeCell.create_data_from_string(cell_values[0], format_1, selector_format_1)
47
+
48
+
49
+ def to_string_cells(is_term: bool, has_unit: bool, cell: CompositeCell) -> Array[str]:
50
+ if cell.tag == 0:
51
+ if has_unit:
52
+ return [cell.fields[0].NameText, "", default_arg(cell.fields[0].TermSourceREF, ""), cell.fields[0].TermAccessionOntobeeUrl]
53
+
54
+ else:
55
+ return [cell.fields[0].NameText, default_arg(cell.fields[0].TermSourceREF, ""), cell.fields[0].TermAccessionOntobeeUrl]
56
+
57
+
58
+ elif cell.tag == 2:
59
+ return [cell.fields[0], cell.fields[1].NameText, default_arg(cell.fields[1].TermSourceREF, ""), cell.fields[1].TermAccessionOntobeeUrl]
60
+
61
+ elif cell.tag == 3:
62
+ format: str = default_arg(cell.fields[0].Format, "")
63
+ selector_format: str = default_arg(cell.fields[0].SelectorFormat, "")
64
+ return [default_arg(cell.fields[0].Name, ""), format, selector_format]
65
+
66
+ elif has_unit:
67
+ return [cell.fields[0], "", "", ""]
68
+
69
+ elif is_term:
70
+ return [cell.fields[0], "", ""]
71
+
72
+ else:
73
+ return [cell.fields[0]]
74
+
75
+
76
+
77
+ __all__ = ["term_from_string_cells", "unitized_from_string_cells", "free_text_from_string_cells", "data_from_string_cells", "to_string_cells"]
78
+
@@ -0,0 +1,210 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ...fable_modules.fable_library.array_ import (skip, map, try_item)
5
+ from ...fable_modules.fable_library.list import (of_array, singleton as singleton_1, FSharpList, map as map_2)
6
+ from ...fable_modules.fable_library.option import default_arg
7
+ from ...fable_modules.fable_library.range import range_big_int
8
+ from ...fable_modules.fable_library.seq import (to_array, delay, map as map_1, exists, to_list, append, singleton)
9
+ from ...fable_modules.fable_library.types import (Array, to_string)
10
+ from ...fable_modules.fable_library.util import IEnumerable_1
11
+ from ...fable_modules.fs_spreadsheet.Cells.fs_cell import FsCell
12
+ from ...fable_modules.fs_spreadsheet.fs_column import FsColumn
13
+ from ...Core.Table.composite_cell import CompositeCell
14
+ from ...Core.Table.composite_column import CompositeColumn
15
+ from ...Core.Table.composite_header import (IOType, CompositeHeader)
16
+ from .composite_cell import to_string_cells as to_string_cells_1
17
+ from .composite_header import (from_string_cells, to_string_cells)
18
+
19
+ def fix_deprecated_ioheader(string_cell_col: Array[str]) -> Array[str]:
20
+ if len(string_cell_col) == 0:
21
+ raise Exception("Can\'t fix IOHeader Invalid column, neither header nor values given")
22
+
23
+ values: Array[str] = skip(1, string_cell_col, None)
24
+ match_value: IOType = IOType.of_string(string_cell_col[0])
25
+ if match_value.tag == 4:
26
+ return string_cell_col
27
+
28
+ elif match_value.tag == 0:
29
+ string_cell_col[0] = to_string(CompositeHeader(11, IOType(0)))
30
+ return string_cell_col
31
+
32
+ else:
33
+ string_cell_col[0] = to_string(CompositeHeader(12, match_value))
34
+ return string_cell_col
35
+
36
+
37
+
38
+ def from_string_cell_columns(columns: Array[Array[str]]) -> CompositeColumn:
39
+ def mapping(c: Array[str], columns: Any=columns) -> str:
40
+ return c[0]
41
+
42
+ pattern_input: tuple[CompositeHeader, Callable[[Array[str]], CompositeCell]] = from_string_cells(map(mapping, columns, None))
43
+ l: int = len(columns[0]) or 0
44
+ def _arrow1286(__unit: None=None, columns: Any=columns) -> IEnumerable_1[CompositeCell]:
45
+ def _arrow1285(i: int) -> CompositeCell:
46
+ def mapping_1(c_1: Array[str]) -> str:
47
+ return c_1[i]
48
+
49
+ return pattern_input[1](map(mapping_1, columns, None))
50
+
51
+ return map_1(_arrow1285, range_big_int(1, 1, l - 1))
52
+
53
+ cells: Array[CompositeCell] = to_array(delay(_arrow1286))
54
+ return CompositeColumn.create(pattern_input[0], cells)
55
+
56
+
57
+ def from_fs_columns(columns: Array[FsColumn]) -> CompositeColumn:
58
+ def mapping_1(c: FsColumn, columns: Any=columns) -> Array[str]:
59
+ c.ToDenseColumn()
60
+ def mapping(c_1: FsCell, c: Any=c) -> str:
61
+ return c_1.ValueAsString()
62
+
63
+ return map(mapping, to_array(c.Cells), None)
64
+
65
+ return from_string_cell_columns(map(mapping_1, columns, None))
66
+
67
+
68
+ def to_string_cell_columns(column: CompositeColumn) -> FSharpList[FSharpList[str]]:
69
+ def predicate(c: CompositeCell, column: Any=column) -> bool:
70
+ return c.is_unitized
71
+
72
+ has_unit: bool = exists(predicate, column.Cells)
73
+ is_term: bool = column.Header.IsTermColumn
74
+ def predicate_1(c_1: CompositeCell, column: Any=column) -> bool:
75
+ return c_1.is_data
76
+
77
+ is_data: bool = exists(predicate_1, column.Cells) if column.Header.IsDataColumn else False
78
+ header: Array[str] = to_string_cells(has_unit, column.Header)
79
+ def mapping(cell: CompositeCell, column: Any=column) -> Array[str]:
80
+ return to_string_cells_1(is_term, has_unit, cell)
81
+
82
+ cells: Array[Array[str]] = map(mapping, column.Cells, None)
83
+ def get_cell_or_default(ri: int, ci: int, cells_1: Array[Array[str]], column: Any=column) -> str:
84
+ return default_arg(try_item(ci, cells_1[ri]), "")
85
+
86
+ if has_unit:
87
+ def _arrow1292(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
88
+ def _arrow1291(__unit: None=None) -> IEnumerable_1[str]:
89
+ def _arrow1290(i: int) -> str:
90
+ return get_cell_or_default(i, 0, cells)
91
+
92
+ return map_1(_arrow1290, range_big_int(0, 1, len(column.Cells) - 1))
93
+
94
+ return append(singleton(header[0]), delay(_arrow1291))
95
+
96
+ def _arrow1295(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
97
+ def _arrow1294(__unit: None=None) -> IEnumerable_1[str]:
98
+ def _arrow1293(i_1: int) -> str:
99
+ return get_cell_or_default(i_1, 1, cells)
100
+
101
+ return map_1(_arrow1293, range_big_int(0, 1, len(column.Cells) - 1))
102
+
103
+ return append(singleton(header[1]), delay(_arrow1294))
104
+
105
+ def _arrow1298(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
106
+ def _arrow1297(__unit: None=None) -> IEnumerable_1[str]:
107
+ def _arrow1296(i_2: int) -> str:
108
+ return get_cell_or_default(i_2, 2, cells)
109
+
110
+ return map_1(_arrow1296, range_big_int(0, 1, len(column.Cells) - 1))
111
+
112
+ return append(singleton(header[2]), delay(_arrow1297))
113
+
114
+ def _arrow1301(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
115
+ def _arrow1300(__unit: None=None) -> IEnumerable_1[str]:
116
+ def _arrow1299(i_3: int) -> str:
117
+ return get_cell_or_default(i_3, 3, cells)
118
+
119
+ return map_1(_arrow1299, range_big_int(0, 1, len(column.Cells) - 1))
120
+
121
+ return append(singleton(header[3]), delay(_arrow1300))
122
+
123
+ return of_array([to_list(delay(_arrow1292)), to_list(delay(_arrow1295)), to_list(delay(_arrow1298)), to_list(delay(_arrow1301))])
124
+
125
+ elif is_term:
126
+ def _arrow1307(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
127
+ def _arrow1306(__unit: None=None) -> IEnumerable_1[str]:
128
+ def _arrow1305(i_4: int) -> str:
129
+ return get_cell_or_default(i_4, 0, cells)
130
+
131
+ return map_1(_arrow1305, range_big_int(0, 1, len(column.Cells) - 1))
132
+
133
+ return append(singleton(header[0]), delay(_arrow1306))
134
+
135
+ def _arrow1310(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
136
+ def _arrow1309(__unit: None=None) -> IEnumerable_1[str]:
137
+ def _arrow1308(i_5: int) -> str:
138
+ return get_cell_or_default(i_5, 1, cells)
139
+
140
+ return map_1(_arrow1308, range_big_int(0, 1, len(column.Cells) - 1))
141
+
142
+ return append(singleton(header[1]), delay(_arrow1309))
143
+
144
+ def _arrow1313(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
145
+ def _arrow1312(__unit: None=None) -> IEnumerable_1[str]:
146
+ def _arrow1311(i_6: int) -> str:
147
+ return get_cell_or_default(i_6, 2, cells)
148
+
149
+ return map_1(_arrow1311, range_big_int(0, 1, len(column.Cells) - 1))
150
+
151
+ return append(singleton(header[2]), delay(_arrow1312))
152
+
153
+ return of_array([to_list(delay(_arrow1307)), to_list(delay(_arrow1310)), to_list(delay(_arrow1313))])
154
+
155
+ elif is_data:
156
+ def _arrow1319(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
157
+ def _arrow1318(__unit: None=None) -> IEnumerable_1[str]:
158
+ def _arrow1317(i_7: int) -> str:
159
+ return get_cell_or_default(i_7, 0, cells)
160
+
161
+ return map_1(_arrow1317, range_big_int(0, 1, len(column.Cells) - 1))
162
+
163
+ return append(singleton(header[0]), delay(_arrow1318))
164
+
165
+ def _arrow1322(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
166
+ def _arrow1321(__unit: None=None) -> IEnumerable_1[str]:
167
+ def _arrow1320(i_8: int) -> str:
168
+ return get_cell_or_default(i_8, 1, cells)
169
+
170
+ return map_1(_arrow1320, range_big_int(0, 1, len(column.Cells) - 1))
171
+
172
+ return append(singleton(header[1]), delay(_arrow1321))
173
+
174
+ def _arrow1325(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
175
+ def _arrow1324(__unit: None=None) -> IEnumerable_1[str]:
176
+ def _arrow1323(i_9: int) -> str:
177
+ return get_cell_or_default(i_9, 2, cells)
178
+
179
+ return map_1(_arrow1323, range_big_int(0, 1, len(column.Cells) - 1))
180
+
181
+ return append(singleton(header[2]), delay(_arrow1324))
182
+
183
+ return of_array([to_list(delay(_arrow1319)), to_list(delay(_arrow1322)), to_list(delay(_arrow1325))])
184
+
185
+ else:
186
+ def _arrow1328(__unit: None=None, column: Any=column) -> IEnumerable_1[str]:
187
+ def _arrow1327(__unit: None=None) -> IEnumerable_1[str]:
188
+ def _arrow1326(i_10: int) -> str:
189
+ return cells[i_10][0]
190
+
191
+ return map_1(_arrow1326, range_big_int(0, 1, len(column.Cells) - 1))
192
+
193
+ return append(singleton(header[0]), delay(_arrow1327))
194
+
195
+ return singleton_1(to_list(delay(_arrow1328)))
196
+
197
+
198
+
199
+ def to_fs_columns(column: CompositeColumn) -> FSharpList[FSharpList[FsCell]]:
200
+ def mapping_1(c: FSharpList[str], column: Any=column) -> FSharpList[FsCell]:
201
+ def mapping(s: str, c: Any=c) -> FsCell:
202
+ return FsCell(s)
203
+
204
+ return map_2(mapping, c)
205
+
206
+ return map_2(mapping_1, to_string_cell_columns(column))
207
+
208
+
209
+ __all__ = ["fix_deprecated_ioheader", "from_string_cell_columns", "from_fs_columns", "to_string_cell_columns", "to_fs_columns"]
210
+