arctrl 3.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. arctrl/__init__.py +23 -0
  2. arctrl/cwl.py +12 -0
  3. arctrl/py/CWL/__init__.py +0 -0
  4. arctrl/py/CWL/cwlprocessing_unit.py +221 -0
  5. arctrl/py/CWL/cwltypes.py +364 -0
  6. arctrl/py/CWL/decode.py +3532 -0
  7. arctrl/py/CWL/encode.py +1905 -0
  8. arctrl/py/CWL/expression_tool_description.py +192 -0
  9. arctrl/py/CWL/hash_helpers.py +60 -0
  10. arctrl/py/CWL/inputs.py +122 -0
  11. arctrl/py/CWL/operation_description.py +169 -0
  12. arctrl/py/CWL/outputs.py +171 -0
  13. arctrl/py/CWL/parameter_reference.py +74 -0
  14. arctrl/py/CWL/requirements.py +350 -0
  15. arctrl/py/CWL/tool_description.py +192 -0
  16. arctrl/py/CWL/workflow_description.py +181 -0
  17. arctrl/py/CWL/workflow_steps.py +354 -0
  18. arctrl/py/Contract/__init__.py +0 -0
  19. arctrl/py/Contract/arc.py +89 -0
  20. arctrl/py/Contract/arc_assay.py +125 -0
  21. arctrl/py/Contract/arc_investigation.py +88 -0
  22. arctrl/py/Contract/arc_run.py +291 -0
  23. arctrl/py/Contract/arc_study.py +126 -0
  24. arctrl/py/Contract/arc_workflow.py +213 -0
  25. arctrl/py/Contract/contract.py +153 -0
  26. arctrl/py/Contract/datamap.py +396 -0
  27. arctrl/py/Contract/git.py +116 -0
  28. arctrl/py/Contract/license.py +58 -0
  29. arctrl/py/Contract/validation_packages_config.py +107 -0
  30. arctrl/py/ContractIO/__init__.py +0 -0
  31. arctrl/py/ContractIO/contract_io.py +350 -0
  32. arctrl/py/ContractIO/file_system_helper.py +264 -0
  33. arctrl/py/Conversion/__init__.py +0 -0
  34. arctrl/py/Conversion/assay.py +151 -0
  35. arctrl/py/Conversion/basic.py +559 -0
  36. arctrl/py/Conversion/column_index.py +91 -0
  37. arctrl/py/Conversion/datamap.py +36 -0
  38. arctrl/py/Conversion/date_time.py +32 -0
  39. arctrl/py/Conversion/investigation.py +171 -0
  40. arctrl/py/Conversion/person.py +148 -0
  41. arctrl/py/Conversion/process.py +828 -0
  42. arctrl/py/Conversion/run.py +367 -0
  43. arctrl/py/Conversion/scholarly_article.py +163 -0
  44. arctrl/py/Conversion/study.py +99 -0
  45. arctrl/py/Conversion/table.py +229 -0
  46. arctrl/py/Conversion/workflow.py +680 -0
  47. arctrl/py/Core/Helper/__init__.py +0 -0
  48. arctrl/py/Core/Helper/collections_.py +512 -0
  49. arctrl/py/Core/Helper/date_time.py +26 -0
  50. arctrl/py/Core/Helper/hash_codes.py +60 -0
  51. arctrl/py/Core/Helper/identifier.py +290 -0
  52. arctrl/py/Core/Helper/orcid.py +42 -0
  53. arctrl/py/Core/Helper/printer.py +13 -0
  54. arctrl/py/Core/Helper/regex.py +554 -0
  55. arctrl/py/Core/Helper/sem_ver.py +71 -0
  56. arctrl/py/Core/Helper/url.py +148 -0
  57. arctrl/py/Core/Process/__init__.py +0 -0
  58. arctrl/py/Core/Process/column_index.py +280 -0
  59. arctrl/py/Core/Process/component.py +200 -0
  60. arctrl/py/Core/Process/factor.py +151 -0
  61. arctrl/py/Core/Process/factor_value.py +182 -0
  62. arctrl/py/Core/Process/material.py +74 -0
  63. arctrl/py/Core/Process/material_attribute.py +95 -0
  64. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  65. arctrl/py/Core/Process/material_type.py +45 -0
  66. arctrl/py/Core/Process/process.py +477 -0
  67. arctrl/py/Core/Process/process_input.py +265 -0
  68. arctrl/py/Core/Process/process_output.py +235 -0
  69. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  70. arctrl/py/Core/Process/process_sequence.py +435 -0
  71. arctrl/py/Core/Process/protocol.py +175 -0
  72. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  73. arctrl/py/Core/Process/sample.py +82 -0
  74. arctrl/py/Core/Process/source.py +62 -0
  75. arctrl/py/Core/Table/__init__.py +0 -0
  76. arctrl/py/Core/Table/arc_table.py +1206 -0
  77. arctrl/py/Core/Table/arc_table_aux.py +1308 -0
  78. arctrl/py/Core/Table/arc_tables.py +574 -0
  79. arctrl/py/Core/Table/composite_cell.py +319 -0
  80. arctrl/py/Core/Table/composite_column.py +73 -0
  81. arctrl/py/Core/Table/composite_header.py +739 -0
  82. arctrl/py/Core/__init__.py +0 -0
  83. arctrl/py/Core/arc_types.py +5312 -0
  84. arctrl/py/Core/comment.py +128 -0
  85. arctrl/py/Core/comment_list.py +127 -0
  86. arctrl/py/Core/conversion.py +1375 -0
  87. arctrl/py/Core/data.py +247 -0
  88. arctrl/py/Core/data_context.py +157 -0
  89. arctrl/py/Core/data_file.py +112 -0
  90. arctrl/py/Core/datamap.py +217 -0
  91. arctrl/py/Core/identifier_setters.py +43 -0
  92. arctrl/py/Core/iproperty_value.py +36 -0
  93. arctrl/py/Core/ontology_annotation.py +298 -0
  94. arctrl/py/Core/ontology_source_reference.py +114 -0
  95. arctrl/py/Core/person.py +259 -0
  96. arctrl/py/Core/publication.py +161 -0
  97. arctrl/py/Core/template.py +231 -0
  98. arctrl/py/Core/templates.py +148 -0
  99. arctrl/py/Core/uri.py +11 -0
  100. arctrl/py/Core/value.py +188 -0
  101. arctrl/py/FileSystem/__init__.py +0 -0
  102. arctrl/py/FileSystem/commit.py +21 -0
  103. arctrl/py/FileSystem/default_gitattributes.py +1 -0
  104. arctrl/py/FileSystem/default_gitignore.py +1 -0
  105. arctrl/py/FileSystem/default_license.py +1 -0
  106. arctrl/py/FileSystem/file_system.py +58 -0
  107. arctrl/py/FileSystem/file_system_tree.py +483 -0
  108. arctrl/py/FileSystem/path.py +266 -0
  109. arctrl/py/Json/Datamap/__init__.py +0 -0
  110. arctrl/py/Json/Datamap/data_context.py +101 -0
  111. arctrl/py/Json/Datamap/datamap.py +53 -0
  112. arctrl/py/Json/Process/__init__.py +0 -0
  113. arctrl/py/Json/Process/assay_materials.py +46 -0
  114. arctrl/py/Json/Process/component.py +125 -0
  115. arctrl/py/Json/Process/factor.py +107 -0
  116. arctrl/py/Json/Process/factor_value.py +101 -0
  117. arctrl/py/Json/Process/material.py +226 -0
  118. arctrl/py/Json/Process/material_attribute.py +79 -0
  119. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  120. arctrl/py/Json/Process/material_type.py +53 -0
  121. arctrl/py/Json/Process/process.py +296 -0
  122. arctrl/py/Json/Process/process_input.py +83 -0
  123. arctrl/py/Json/Process/process_output.py +67 -0
  124. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  125. arctrl/py/Json/Process/protocol.py +354 -0
  126. arctrl/py/Json/Process/protocol_parameter.py +91 -0
  127. arctrl/py/Json/Process/sample.py +277 -0
  128. arctrl/py/Json/Process/source.py +214 -0
  129. arctrl/py/Json/Process/study_materials.py +52 -0
  130. arctrl/py/Json/Process/value.py +56 -0
  131. arctrl/py/Json/ROCrate/__init__.py +0 -0
  132. arctrl/py/Json/ROCrate/ldcontext.py +143 -0
  133. arctrl/py/Json/ROCrate/ldgraph.py +117 -0
  134. arctrl/py/Json/ROCrate/ldnode.py +304 -0
  135. arctrl/py/Json/ROCrate/ldref.py +44 -0
  136. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  137. arctrl/py/Json/Table/__init__.py +0 -0
  138. arctrl/py/Json/Table/arc_table.py +375 -0
  139. arctrl/py/Json/Table/cell_table.py +83 -0
  140. arctrl/py/Json/Table/composite_cell.py +136 -0
  141. arctrl/py/Json/Table/composite_header.py +67 -0
  142. arctrl/py/Json/Table/iotype.py +24 -0
  143. arctrl/py/Json/Table/oatable.py +82 -0
  144. arctrl/py/Json/Table/templates.py +281 -0
  145. arctrl/py/Json/__init__.py +0 -0
  146. arctrl/py/Json/assay.py +600 -0
  147. arctrl/py/Json/comment.py +206 -0
  148. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  149. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  150. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  151. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  152. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  153. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  154. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  155. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  156. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  157. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  158. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  159. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  160. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  161. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  162. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  163. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  164. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  165. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  166. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  167. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  168. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  169. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  170. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  171. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  172. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  173. arctrl/py/Json/converter_options.py +23 -0
  174. arctrl/py/Json/data.py +356 -0
  175. arctrl/py/Json/data_file.py +63 -0
  176. arctrl/py/Json/decode.py +271 -0
  177. arctrl/py/Json/encode.py +140 -0
  178. arctrl/py/Json/idtable.py +44 -0
  179. arctrl/py/Json/investigation.py +695 -0
  180. arctrl/py/Json/ontology_annotation.py +404 -0
  181. arctrl/py/Json/ontology_source_reference.py +255 -0
  182. arctrl/py/Json/person.py +658 -0
  183. arctrl/py/Json/property_value.py +359 -0
  184. arctrl/py/Json/publication.py +279 -0
  185. arctrl/py/Json/run.py +275 -0
  186. arctrl/py/Json/string_table.py +87 -0
  187. arctrl/py/Json/study.py +793 -0
  188. arctrl/py/Json/workflow.py +307 -0
  189. arctrl/py/JsonIO/Process/__init__.py +0 -0
  190. arctrl/py/JsonIO/Process/component.py +60 -0
  191. arctrl/py/JsonIO/Process/factor.py +36 -0
  192. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  193. arctrl/py/JsonIO/Process/material.py +60 -0
  194. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  195. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  196. arctrl/py/JsonIO/Process/material_type.py +36 -0
  197. arctrl/py/JsonIO/Process/process.py +60 -0
  198. arctrl/py/JsonIO/Process/process_input.py +38 -0
  199. arctrl/py/JsonIO/Process/process_output.py +60 -0
  200. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  201. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  202. arctrl/py/JsonIO/Process/protocol.py +60 -0
  203. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  204. arctrl/py/JsonIO/Process/sample.py +60 -0
  205. arctrl/py/JsonIO/Process/source.py +60 -0
  206. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  207. arctrl/py/JsonIO/Process/value.py +32 -0
  208. arctrl/py/JsonIO/Table/__init__.py +0 -0
  209. arctrl/py/JsonIO/Table/arc_table.py +103 -0
  210. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  211. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  212. arctrl/py/JsonIO/Table/compression.py +67 -0
  213. arctrl/py/JsonIO/Table/iotype.py +36 -0
  214. arctrl/py/JsonIO/Table/templates.py +113 -0
  215. arctrl/py/JsonIO/__init__.py +0 -0
  216. arctrl/py/JsonIO/assay.py +113 -0
  217. arctrl/py/JsonIO/comment.py +80 -0
  218. arctrl/py/JsonIO/data.py +60 -0
  219. arctrl/py/JsonIO/data_file.py +58 -0
  220. arctrl/py/JsonIO/datamap.py +36 -0
  221. arctrl/py/JsonIO/decode.py +9 -0
  222. arctrl/py/JsonIO/encode.py +1 -0
  223. arctrl/py/JsonIO/investigation.py +91 -0
  224. arctrl/py/JsonIO/ldobject.py +106 -0
  225. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  226. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  227. arctrl/py/JsonIO/person.py +82 -0
  228. arctrl/py/JsonIO/publication.py +82 -0
  229. arctrl/py/JsonIO/run.py +68 -0
  230. arctrl/py/JsonIO/study.py +114 -0
  231. arctrl/py/JsonIO/workflow.py +68 -0
  232. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  233. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  234. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  235. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  236. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  237. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  238. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  239. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  240. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  241. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  242. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  243. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  244. arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
  245. arctrl/py/ROCrate/LDTypes/comment.py +131 -0
  246. arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
  247. arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
  248. arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
  249. arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
  250. arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
  251. arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
  252. arctrl/py/ROCrate/LDTypes/file.py +281 -0
  253. arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
  254. arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
  255. arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
  256. arctrl/py/ROCrate/LDTypes/organization.py +83 -0
  257. arctrl/py/ROCrate/LDTypes/person.py +484 -0
  258. arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
  259. arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
  260. arctrl/py/ROCrate/LDTypes/sample.py +202 -0
  261. arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
  262. arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
  263. arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
  264. arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
  265. arctrl/py/ROCrate/__init__.py +0 -0
  266. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  267. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  268. arctrl/py/ROCrate/helper.py +8 -0
  269. arctrl/py/ROCrate/ldcontext.py +406 -0
  270. arctrl/py/ROCrate/ldobject.py +1247 -0
  271. arctrl/py/ROCrate/rocrate_context.py +51 -0
  272. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  273. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
  274. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  275. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
  276. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  277. arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  278. arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
  279. arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
  280. arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
  281. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  282. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  283. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  284. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  285. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  286. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  287. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  288. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  289. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  290. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  291. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  292. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  293. arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
  294. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  295. arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
  296. arctrl/py/Spreadsheet/__init__.py +0 -0
  297. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  298. arctrl/py/Spreadsheet/arc_investigation.py +435 -0
  299. arctrl/py/Spreadsheet/arc_run.py +190 -0
  300. arctrl/py/Spreadsheet/arc_study.py +144 -0
  301. arctrl/py/Spreadsheet/arc_workflow.py +177 -0
  302. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  303. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  304. arctrl/py/Spreadsheet/datamap.py +43 -0
  305. arctrl/py/Spreadsheet/template.py +460 -0
  306. arctrl/py/ValidationPackages/__init__.py +0 -0
  307. arctrl/py/ValidationPackages/validation_package.py +82 -0
  308. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  309. arctrl/py/WebRequest/__init__.py +0 -0
  310. arctrl/py/WebRequest/web_request.py +9 -0
  311. arctrl/py/WebRequest/web_request_py.py +135 -0
  312. arctrl/py/WorkflowGraph/__init__.py +0 -0
  313. arctrl/py/WorkflowGraph/adapters.py +141 -0
  314. arctrl/py/WorkflowGraph/build_options.py +45 -0
  315. arctrl/py/WorkflowGraph/builder.py +720 -0
  316. arctrl/py/WorkflowGraph/graph_types.py +260 -0
  317. arctrl/py/WorkflowGraph/query_helpers.py +76 -0
  318. arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
  319. arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
  320. arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
  321. arctrl/py/Yaml/__init__.py +0 -0
  322. arctrl/py/Yaml/decode.py +1 -0
  323. arctrl/py/Yaml/encode.py +10 -0
  324. arctrl/py/Yaml/validation_package.py +77 -0
  325. arctrl/py/Yaml/validation_packages_config.py +86 -0
  326. arctrl/py/__init__.py +0 -0
  327. arctrl/py/arc.py +1891 -0
  328. arctrl/py/column_index.py +280 -0
  329. arctrl/py/conversion.py +142 -0
  330. arctrl/py/cross_async.py +76 -0
  331. arctrl/py/cwlrun_resolver.py +228 -0
  332. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  333. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  334. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  335. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  336. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  337. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  338. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  339. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  340. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  341. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  342. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  343. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  344. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  345. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  346. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  347. arctrl/py/fable_modules/fable_library/char.py +237 -0
  348. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  349. arctrl/py/fable_modules/fable_library/date.py +779 -0
  350. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  351. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  352. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  353. arctrl/py/fable_modules/fable_library/double.py +87 -0
  354. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  355. arctrl/py/fable_modules/fable_library/event.py +206 -0
  356. arctrl/py/fable_modules/fable_library/file.py +107 -0
  357. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  358. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  359. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  360. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  361. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  362. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  363. arctrl/py/fable_modules/fable_library/long.py +240 -0
  364. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  365. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  366. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  367. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  368. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  369. arctrl/py/fable_modules/fable_library/native.py +45 -0
  370. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  371. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  372. arctrl/py/fable_modules/fable_library/option.py +128 -0
  373. arctrl/py/fable_modules/fable_library/path.py +62 -0
  374. arctrl/py/fable_modules/fable_library/range.py +117 -0
  375. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  376. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  377. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  378. arctrl/py/fable_modules/fable_library/result.py +212 -0
  379. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  380. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  381. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  382. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  383. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  384. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  385. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  386. arctrl/py/fable_modules/fable_library/task.py +116 -0
  387. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  388. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  389. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  390. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  391. arctrl/py/fable_modules/fable_library/types.py +401 -0
  392. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  393. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  394. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  395. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  396. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  397. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  398. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  399. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  400. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  401. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  402. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  403. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  404. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  405. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  406. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  407. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  408. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  409. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  410. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  411. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  412. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  413. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  414. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  415. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  416. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  417. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  418. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  419. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  420. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  421. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
  422. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
  423. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  424. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  425. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  426. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  427. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  428. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  429. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  430. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  431. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  432. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
  433. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  434. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  435. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  436. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  437. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  438. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  439. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
  440. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  441. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  442. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
  443. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  444. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
  445. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
  446. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  447. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
  448. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  449. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  450. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
  451. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
  452. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  453. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  454. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
  455. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  456. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  457. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
  458. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
  459. arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
  460. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
  461. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  462. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
  463. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  464. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  465. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  466. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
  467. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
  468. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
  469. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  470. arctrl/py/fable_modules/siren/__init__.py +0 -0
  471. arctrl/py/fable_modules/siren/config.py +1038 -0
  472. arctrl/py/fable_modules/siren/formatting.py +1121 -0
  473. arctrl/py/fable_modules/siren/siren.py +1941 -0
  474. arctrl/py/fable_modules/siren/siren_types.py +1229 -0
  475. arctrl/py/fable_modules/siren/theme_variables.py +517 -0
  476. arctrl/py/fable_modules/siren/util.py +37 -0
  477. arctrl/py/fable_modules/siren/yaml.py +101 -0
  478. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  479. arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
  480. arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
  481. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  482. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  483. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  484. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  485. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  486. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  487. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  488. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  489. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  490. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  491. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  492. arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
  493. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  494. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  495. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  496. arctrl/py/fable_modules/yamlicious/reader.py +739 -0
  497. arctrl/py/fable_modules/yamlicious/regex.py +29 -0
  498. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
  499. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  500. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  501. arctrl/py/json.py +389 -0
  502. arctrl/py/license.py +169 -0
  503. arctrl/py/rocrate_io.py +242 -0
  504. arctrl/py/template_web.py +23 -0
  505. arctrl/py/xlsx.py +212 -0
  506. arctrl/py/yaml.py +79 -0
  507. arctrl/rocrate.py +21 -0
  508. arctrl-3.0.0.dist-info/METADATA +157 -0
  509. arctrl-3.0.0.dist-info/RECORD +511 -0
  510. arctrl-3.0.0.dist-info/WHEEL +4 -0
  511. arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,574 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ...fable_modules.fable_library.array_ import insert_range_in_place
5
+ from ...fable_modules.fable_library.list import FSharpList
6
+ from ...fable_modules.fable_library.map import (of_seq as of_seq_1, try_find)
7
+ from ...fable_modules.fable_library.map_util import (add_to_dict, add_to_set)
8
+ from ...fable_modules.fable_library.option import (value as value_2, default_arg, map as map_2, bind)
9
+ from ...fable_modules.fable_library.reflection import (TypeInfo, class_type)
10
+ from ...fable_modules.fable_library.seq import (try_find_index, find_index, length, to_list, delay, map as map_1, choose, reduce, append)
11
+ from ...fable_modules.fable_library.seq2 import distinct
12
+ from ...fable_modules.fable_library.set import (intersect, of_seq, FSharpSet__get_IsEmpty)
13
+ from ...fable_modules.fable_library.types import Array
14
+ from ...fable_modules.fable_library.util import (get_enumerator, dispose, compare, string_hash, IEnumerable_1, compare_primitives, equals, ignore, IEnumerator, to_iterator)
15
+ from ..Helper.collections_ import (Dictionary_tryFind, ResizeArray_iter, ResizeArray_fold, ResizeArray_map, ResizeArray_groupBy, ResizeArray_collect)
16
+ from .arc_table import ArcTable
17
+ from .composite_cell import CompositeCell
18
+ from .composite_column import CompositeColumn
19
+ from .composite_header import (IOType, CompositeHeader)
20
+
21
+ def ArcTablesAux_tryFindIndexByTableName(name: str, tables: Array[ArcTable]) -> int | None:
22
+ def predicate(t: ArcTable, name: Any=name, tables: Any=tables) -> bool:
23
+ return t.Name == name
24
+
25
+ return try_find_index(predicate, tables)
26
+
27
+
28
+ def ArcTablesAux_findIndexByTableName(name: str, tables: Array[ArcTable]) -> int:
29
+ def predicate(t: ArcTable, name: Any=name, tables: Any=tables) -> bool:
30
+ return t.Name == name
31
+
32
+ match_value: int | None = try_find_index(predicate, tables)
33
+ if match_value is None:
34
+ raise Exception(("Unable to find table with name \'" + name) + "\'!")
35
+
36
+ else:
37
+ return match_value
38
+
39
+
40
+
41
+ def ArcTablesAux_getIOMap(tables: Array[ArcTable]) -> Any:
42
+ mappings: Any = dict([])
43
+ def include_in_map(name: str, io_type: IOType, tables: Any=tables) -> None:
44
+ if name != "":
45
+ match_value: IOType | None = Dictionary_tryFind(name, mappings)
46
+ if match_value is None:
47
+ add_to_dict(mappings, name, io_type)
48
+
49
+ else:
50
+ old_iotype: IOType = match_value
51
+ new_iotype: IOType = old_iotype.Merge(io_type)
52
+ mappings[name] = new_iotype
53
+
54
+
55
+
56
+ enumerator: Any = get_enumerator(tables)
57
+ try:
58
+ while enumerator.System_Collections_IEnumerator_MoveNext():
59
+ table: ArcTable = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
60
+ match_value_1: CompositeColumn | None = table.TryGetInputColumn()
61
+ if match_value_1 is None:
62
+ pass
63
+
64
+ else:
65
+ ic: CompositeColumn = match_value_1
66
+ io_type_1: IOType = value_2(ic.Header.TryInput())
67
+ def f(c: CompositeCell) -> None:
68
+ include_in_map(c.ToFreeTextCell().AsFreeText, io_type_1)
69
+
70
+ ResizeArray_iter(f, ic.Cells)
71
+
72
+ match_value_2: CompositeColumn | None = table.TryGetOutputColumn()
73
+ if match_value_2 is None:
74
+ pass
75
+
76
+ else:
77
+ oc: CompositeColumn = match_value_2
78
+ io_type_2: IOType = value_2(oc.Header.TryOutput())
79
+ def f_1(c_1: CompositeCell) -> None:
80
+ include_in_map(c_1.ToFreeTextCell().AsFreeText, io_type_2)
81
+
82
+ ResizeArray_iter(f_1, oc.Cells)
83
+
84
+
85
+ finally:
86
+ dispose(enumerator)
87
+
88
+ return mappings
89
+
90
+
91
+ def ArcTablesAux_applyIOMap(map: Any, tables: Array[ArcTable]) -> None:
92
+ enumerator: Any = get_enumerator(tables)
93
+ try:
94
+ while enumerator.System_Collections_IEnumerator_MoveNext():
95
+ table: ArcTable = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
96
+ match_value: CompositeColumn | None = table.TryGetInputColumn()
97
+ if match_value is None:
98
+ pass
99
+
100
+ else:
101
+ ic: CompositeColumn = match_value
102
+ def predicate(x: CompositeHeader) -> bool:
103
+ return x.is_input
104
+
105
+ index: int = find_index(predicate, table.Headers) or 0
106
+ def f(io: IOType, c: CompositeCell) -> IOType:
107
+ match_value_1: IOType | None = Dictionary_tryFind(c.ToFreeTextCell().AsFreeText, map)
108
+ if match_value_1 is None:
109
+ return io
110
+
111
+ else:
112
+ new_io: IOType = match_value_1
113
+ return io.Merge(new_io)
114
+
115
+
116
+ new_iotype: IOType = ResizeArray_fold(f, value_2(ic.Header.TryInput()), ic.Cells)
117
+ table.UpdateHeader(index, CompositeHeader(11, new_iotype))
118
+
119
+ match_value_2: CompositeColumn | None = table.TryGetOutputColumn()
120
+ if match_value_2 is None:
121
+ pass
122
+
123
+ else:
124
+ oc: CompositeColumn = match_value_2
125
+ def predicate_1(x_1: CompositeHeader) -> bool:
126
+ return x_1.is_output
127
+
128
+ index_1: int = find_index(predicate_1, table.Headers) or 0
129
+ def f_1(io_1: IOType, c_1: CompositeCell) -> IOType:
130
+ match_value_3: IOType | None = Dictionary_tryFind(c_1.ToFreeTextCell().AsFreeText, map)
131
+ if match_value_3 is None:
132
+ return io_1
133
+
134
+ else:
135
+ new_io_1: IOType = match_value_3
136
+ return io_1.Merge(new_io_1)
137
+
138
+
139
+ new_iotype_1: IOType = ResizeArray_fold(f_1, value_2(oc.Header.TryOutput()), oc.Cells)
140
+ table.UpdateHeader(index_1, CompositeHeader(12, new_iotype_1))
141
+
142
+
143
+ finally:
144
+ dispose(enumerator)
145
+
146
+
147
+
148
+ def ArcTablesAux_SanityChecks_validateSheetIndex(index: int, allow_append: bool, sheets: Array[ArcTable]) -> None:
149
+ if index < 0:
150
+ raise Exception("Cannot insert ArcTable at index < 0.")
151
+
152
+ def _arrow1215(__unit: None=None, index: Any=index, allow_append: Any=allow_append, sheets: Any=sheets) -> bool:
153
+ x: int = index or 0
154
+ y: int = len(sheets) or 0
155
+ return (compare(x, y) > 0) if allow_append else (compare(x, y) >= 0)
156
+
157
+ if _arrow1215():
158
+ raise Exception(("Specified index is out of range! Assay contains only " + str(len(sheets))) + " tables.")
159
+
160
+
161
+
162
+ def ArcTablesAux_SanityChecks_validateNamesUnique(names: IEnumerable_1[str]) -> None:
163
+ class ObjectExpr1217:
164
+ @property
165
+ def Equals(self) -> Callable[[str, str], bool]:
166
+ def _arrow1216(x: str, y: str) -> bool:
167
+ return x == y
168
+
169
+ return _arrow1216
170
+
171
+ @property
172
+ def GetHashCode(self) -> Callable[[str], int]:
173
+ return string_hash
174
+
175
+ if not (length(names) == length(distinct(names, ObjectExpr1217()))):
176
+ raise Exception("Cannot add multiple tables with the same name! Table names inside one assay must be unqiue")
177
+
178
+
179
+
180
+ def ArcTablesAux_SanityChecks_validateNewNameUnique(new_name: str, existing_names: IEnumerable_1[str]) -> None:
181
+ def _arrow1218(x: str, new_name: Any=new_name, existing_names: Any=existing_names) -> bool:
182
+ return x == new_name
183
+
184
+ match_value: int | None = try_find_index(_arrow1218, existing_names)
185
+ if match_value is None:
186
+ pass
187
+
188
+ else:
189
+ raise Exception(((("Cannot create table with name " + new_name) + ", as table names must be unique and table at index ") + str(match_value)) + " has the same name.")
190
+
191
+
192
+
193
+ def ArcTablesAux_SanityChecks_validateNewNameAtUnique(index: int, new_name: str, existing_names: IEnumerable_1[str]) -> None:
194
+ def _arrow1219(x: str, index: Any=index, new_name: Any=new_name, existing_names: Any=existing_names) -> bool:
195
+ return x == new_name
196
+
197
+ match_value: int | None = try_find_index(_arrow1219, existing_names)
198
+ if match_value is None:
199
+ pass
200
+
201
+ elif index == match_value:
202
+ i_1: int = match_value or 0
203
+
204
+ else:
205
+ i_2: int = match_value or 0
206
+ raise Exception(((("Cannot create table with name " + new_name) + ", as table names must be unique and table at index ") + str(i_2)) + " has the same name.")
207
+
208
+
209
+
210
+ def ArcTablesAux_SanityChecks_validateNewNamesUnique(new_names: IEnumerable_1[str], existing_names: IEnumerable_1[str]) -> None:
211
+ ArcTablesAux_SanityChecks_validateNamesUnique(new_names)
212
+ class ObjectExpr1220:
213
+ @property
214
+ def Compare(self) -> Callable[[str, str], int]:
215
+ return compare_primitives
216
+
217
+ class ObjectExpr1221:
218
+ @property
219
+ def Compare(self) -> Callable[[str, str], int]:
220
+ return compare_primitives
221
+
222
+ same: Any = intersect(of_seq(new_names, ObjectExpr1220()), of_seq(existing_names, ObjectExpr1221()))
223
+ if not FSharpSet__get_IsEmpty(same):
224
+ raise Exception(("Cannot create tables with the names " + str(same)) + ", as table names must be unique.")
225
+
226
+
227
+
228
+ def _expr1245() -> TypeInfo:
229
+ return class_type("ARCtrl.ArcTables", None, ArcTables)
230
+
231
+
232
+ class ArcTables:
233
+ def __init__(self, init_tables: Array[ArcTable]) -> None:
234
+ def _expr1244():
235
+ def mapping(t: ArcTable) -> str:
236
+ return t.Name
237
+
238
+ ArcTablesAux_SanityChecks_validateNamesUnique(map_1(mapping, init_tables))
239
+ return init_tables
240
+
241
+ self.tables: Array[ArcTable] = _expr1244()
242
+
243
+ @property
244
+ def Tables(self, __unit: None=None) -> Array[ArcTable]:
245
+ this: ArcTables = self
246
+ return this.tables
247
+
248
+ @Tables.setter
249
+ def Tables(self, new_tables: Array[ArcTable]) -> None:
250
+ this: ArcTables = self
251
+ this.tables = new_tables
252
+
253
+ def get_item(self, index: int) -> ArcTable:
254
+ this: ArcTables = self
255
+ return this.Tables[index]
256
+
257
+ @property
258
+ def TableNames(self, __unit: None=None) -> FSharpList[str]:
259
+ this: ArcTables = self
260
+ def _arrow1223(__unit: None=None) -> IEnumerable_1[str]:
261
+ def _arrow1222(s: ArcTable) -> str:
262
+ return s.Name
263
+
264
+ return map_1(_arrow1222, this.Tables)
265
+
266
+ return to_list(delay(_arrow1223))
267
+
268
+ @property
269
+ def TableCount(self, __unit: None=None) -> int:
270
+ this: ArcTables = self
271
+ return len(this.Tables)
272
+
273
+ def AddTable(self, table: ArcTable, index: int | None=None) -> None:
274
+ this: ArcTables = self
275
+ index_1: int = default_arg(index, this.TableCount) or 0
276
+ ArcTablesAux_SanityChecks_validateSheetIndex(index_1, True, this.Tables)
277
+ ArcTablesAux_SanityChecks_validateNewNameUnique(table.Name, this.TableNames)
278
+ this.Tables.insert(index_1, table)
279
+
280
+ def AddTables(self, tables: IEnumerable_1[ArcTable], index: int | None=None) -> None:
281
+ this: ArcTables = self
282
+ index_1: int = default_arg(index, this.TableCount) or 0
283
+ ArcTablesAux_SanityChecks_validateSheetIndex(index_1, True, this.Tables)
284
+ def mapping(x: ArcTable) -> str:
285
+ return x.Name
286
+
287
+ ArcTablesAux_SanityChecks_validateNewNamesUnique(map_1(mapping, tables), this.TableNames)
288
+ insert_range_in_place(index_1, tables, this.Tables)
289
+
290
+ def InitTable(self, table_name: str, index: int | None=None) -> ArcTable:
291
+ this: ArcTables = self
292
+ index_1: int = default_arg(index, this.TableCount) or 0
293
+ table: ArcTable = ArcTable.init(table_name)
294
+ ArcTablesAux_SanityChecks_validateSheetIndex(index_1, True, this.Tables)
295
+ ArcTablesAux_SanityChecks_validateNewNameUnique(table.Name, this.TableNames)
296
+ this.Tables.insert(index_1, table)
297
+ return table
298
+
299
+ def InitTables(self, table_names: IEnumerable_1[str], index: int | None=None) -> None:
300
+ this: ArcTables = self
301
+ index_1: int = default_arg(index, this.TableCount) or 0
302
+ def mapping(x: str) -> ArcTable:
303
+ return ArcTable.init(x)
304
+
305
+ tables: IEnumerable_1[ArcTable] = map_1(mapping, table_names)
306
+ ArcTablesAux_SanityChecks_validateSheetIndex(index_1, True, this.Tables)
307
+ def mapping_1(x_1: ArcTable) -> str:
308
+ return x_1.Name
309
+
310
+ ArcTablesAux_SanityChecks_validateNewNamesUnique(map_1(mapping_1, tables), this.TableNames)
311
+ insert_range_in_place(index_1, tables, this.Tables)
312
+
313
+ def GetTableAt(self, index: int) -> ArcTable:
314
+ this: ArcTables = self
315
+ ArcTablesAux_SanityChecks_validateSheetIndex(index, False, this.Tables)
316
+ return this.Tables[index]
317
+
318
+ def GetTable(self, name: str) -> ArcTable:
319
+ this: ArcTables = self
320
+ index: int = ArcTablesAux_findIndexByTableName(name, this.Tables) or 0
321
+ return this.GetTableAt(index)
322
+
323
+ def UpdateTableAt(self, index: int, table: ArcTable) -> None:
324
+ this: ArcTables = self
325
+ ArcTablesAux_SanityChecks_validateSheetIndex(index, False, this.Tables)
326
+ ArcTablesAux_SanityChecks_validateNewNameAtUnique(index, table.Name, this.TableNames)
327
+ this.Tables[index] = table
328
+
329
+ def UpdateTable(self, name: str, table: ArcTable) -> None:
330
+ this: ArcTables = self
331
+ tupled_arg: tuple[int, ArcTable] = (ArcTablesAux_findIndexByTableName(name, this.Tables), table)
332
+ this.UpdateTableAt(tupled_arg[0], tupled_arg[1])
333
+
334
+ def SetTableAt(self, index: int, table: ArcTable) -> None:
335
+ this: ArcTables = self
336
+ ArcTablesAux_SanityChecks_validateSheetIndex(index, True, this.Tables)
337
+ ArcTablesAux_SanityChecks_validateNewNameAtUnique(index, table.Name, this.TableNames)
338
+ this.Tables[index] = table
339
+
340
+ def SetTable(self, name: str, table: ArcTable) -> None:
341
+ this: ArcTables = self
342
+ match_value: int | None = ArcTablesAux_tryFindIndexByTableName(name, this.Tables)
343
+ if match_value is None:
344
+ this.AddTable(table)
345
+
346
+ else:
347
+ index: int = match_value or 0
348
+ this.SetTableAt(index, table)
349
+
350
+
351
+ def RemoveTableAt(self, index: int) -> None:
352
+ this: ArcTables = self
353
+ ArcTablesAux_SanityChecks_validateSheetIndex(index, False, this.Tables)
354
+ this.Tables.pop(index)
355
+
356
+ def RemoveTable(self, name: str) -> None:
357
+ this: ArcTables = self
358
+ index: int = ArcTablesAux_findIndexByTableName(name, this.Tables) or 0
359
+ this.RemoveTableAt(index)
360
+
361
+ def MapTableAt(self, index: int, update_fun: Callable[[ArcTable], None]) -> None:
362
+ this: ArcTables = self
363
+ ArcTablesAux_SanityChecks_validateSheetIndex(index, False, this.Tables)
364
+ update_fun(this.Tables[index])
365
+
366
+ def MapTable(self, name: str, update_fun: Callable[[ArcTable], None]) -> None:
367
+ this: ArcTables = self
368
+ tupled_arg: tuple[int, Callable[[ArcTable], None]] = (ArcTablesAux_findIndexByTableName(name, this.Tables), update_fun)
369
+ this.MapTableAt(tupled_arg[0], tupled_arg[1])
370
+
371
+ def RenameTableAt(self, index: int, new_name: str) -> None:
372
+ this: ArcTables = self
373
+ ArcTablesAux_SanityChecks_validateSheetIndex(index, False, this.Tables)
374
+ ArcTablesAux_SanityChecks_validateNewNameUnique(new_name, this.TableNames)
375
+ table: ArcTable = this.GetTableAt(index)
376
+ table.Name = new_name
377
+
378
+ def RenameTable(self, name: str, new_name: str) -> None:
379
+ this: ArcTables = self
380
+ tupled_arg: tuple[int, str] = (ArcTablesAux_findIndexByTableName(name, this.Tables), new_name)
381
+ this.RenameTableAt(tupled_arg[0], tupled_arg[1])
382
+
383
+ def AddColumnAt(self, table_index: int, header: CompositeHeader, cells: Array[CompositeCell] | None=None, column_index: int | None=None, force_replace: bool | None=None) -> None:
384
+ this: ArcTables = self
385
+ def _arrow1224(table: ArcTable) -> None:
386
+ table.AddColumn(header, cells, column_index, force_replace)
387
+
388
+ this.MapTableAt(table_index, _arrow1224)
389
+
390
+ def AddColumn(self, table_name: str, header: CompositeHeader, cells: Array[CompositeCell] | None=None, column_index: int | None=None, force_replace: bool | None=None) -> None:
391
+ this: ArcTables = self
392
+ i: int = ArcTablesAux_findIndexByTableName(table_name, this.Tables) or 0
393
+ this.AddColumnAt(i, header, cells, column_index, force_replace)
394
+
395
+ def RemoveColumnAt(self, table_index: int, column_index: int) -> None:
396
+ this: ArcTables = self
397
+ def _arrow1225(table: ArcTable) -> None:
398
+ table.RemoveColumn(column_index)
399
+
400
+ this.MapTableAt(table_index, _arrow1225)
401
+
402
+ def RemoveColumn(self, table_name: str, column_index: int) -> None:
403
+ this: ArcTables = self
404
+ tupled_arg: tuple[int, int] = (ArcTablesAux_findIndexByTableName(table_name, this.Tables), column_index)
405
+ this.RemoveColumnAt(tupled_arg[0], tupled_arg[1])
406
+
407
+ def UpdateColumnAt(self, table_index: int, column_index: int, header: CompositeHeader, cells: Array[CompositeCell] | None=None) -> None:
408
+ this: ArcTables = self
409
+ def _arrow1226(table: ArcTable) -> None:
410
+ table.UpdateColumn(column_index, header, cells)
411
+
412
+ this.MapTableAt(table_index, _arrow1226)
413
+
414
+ def UpdateColumn(self, table_name: str, column_index: int, header: CompositeHeader, cells: Array[CompositeCell] | None=None) -> None:
415
+ this: ArcTables = self
416
+ table_index: int = ArcTablesAux_findIndexByTableName(table_name, this.Tables) or 0
417
+ this.UpdateColumnAt(table_index, column_index, header, cells)
418
+
419
+ def GetColumnAt(self, table_index: int, column_index: int) -> CompositeColumn:
420
+ this: ArcTables = self
421
+ table: ArcTable = this.GetTableAt(table_index)
422
+ return table.GetColumn(column_index)
423
+
424
+ def GetColumn(self, table_name: str, column_index: int) -> CompositeColumn:
425
+ this: ArcTables = self
426
+ tupled_arg: tuple[int, int] = (ArcTablesAux_findIndexByTableName(table_name, this.Tables), column_index)
427
+ return this.GetColumnAt(tupled_arg[0], tupled_arg[1])
428
+
429
+ def AddRowAt(self, table_index: int, cells: Array[CompositeCell] | None=None, row_index: int | None=None) -> None:
430
+ this: ArcTables = self
431
+ def _arrow1228(table: ArcTable) -> None:
432
+ table.AddRow(cells, row_index)
433
+
434
+ this.MapTableAt(table_index, _arrow1228)
435
+
436
+ def AddRow(self, table_name: str, cells: Array[CompositeCell] | None=None, row_index: int | None=None) -> None:
437
+ this: ArcTables = self
438
+ i: int = ArcTablesAux_findIndexByTableName(table_name, this.Tables) or 0
439
+ this.AddRowAt(i, cells, row_index)
440
+
441
+ def RemoveRowAt(self, table_index: int, row_index: int) -> None:
442
+ this: ArcTables = self
443
+ def _arrow1232(table: ArcTable) -> None:
444
+ table.RemoveRow(row_index)
445
+
446
+ this.MapTableAt(table_index, _arrow1232)
447
+
448
+ def RemoveRow(self, table_name: str, row_index: int) -> None:
449
+ this: ArcTables = self
450
+ tupled_arg: tuple[int, int] = (ArcTablesAux_findIndexByTableName(table_name, this.Tables), row_index)
451
+ this.RemoveRowAt(tupled_arg[0], tupled_arg[1])
452
+
453
+ def UpdateRowAt(self, table_index: int, row_index: int, cells: Array[CompositeCell]) -> None:
454
+ this: ArcTables = self
455
+ def _arrow1234(table: ArcTable) -> None:
456
+ table.UpdateRow(row_index, cells)
457
+
458
+ this.MapTableAt(table_index, _arrow1234)
459
+
460
+ def UpdateRow(self, table_name: str, row_index: int, cells: Array[CompositeCell]) -> None:
461
+ this: ArcTables = self
462
+ tupled_arg: tuple[int, int, Array[CompositeCell]] = (ArcTablesAux_findIndexByTableName(table_name, this.Tables), row_index, cells)
463
+ this.UpdateRowAt(tupled_arg[0], tupled_arg[1], tupled_arg[2])
464
+
465
+ def GetRowAt(self, table_index: int, row_index: int) -> Array[CompositeCell]:
466
+ this: ArcTables = self
467
+ table: ArcTable = this.GetTableAt(table_index)
468
+ return table.GetRow(row_index)
469
+
470
+ def GetRow(self, table_name: str, row_index: int) -> Array[CompositeCell]:
471
+ this: ArcTables = self
472
+ tupled_arg: tuple[int, int] = (ArcTablesAux_findIndexByTableName(table_name, this.Tables), row_index)
473
+ return this.GetRowAt(tupled_arg[0], tupled_arg[1])
474
+
475
+ @staticmethod
476
+ def of_seq(tables: IEnumerable_1[ArcTable]) -> ArcTables:
477
+ return ArcTables(list(tables))
478
+
479
+ def MoveTable(self, old_index: int, new_index: int) -> None:
480
+ this: ArcTables = self
481
+ table: ArcTable = this.GetTableAt(old_index)
482
+ this.Tables.pop(old_index)
483
+ this.Tables.insert(new_index, table)
484
+
485
+ @staticmethod
486
+ def update_reference_tables_by_sheets(reference_tables: ArcTables, sheet_tables: ArcTables, keep_unused_ref_tables: bool | None=None) -> ArcTables:
487
+ keep_unused_ref_tables_1: bool = default_arg(keep_unused_ref_tables, False)
488
+ used_tables: Any = set([])
489
+ def chooser(t: ArcTable) -> tuple[str, ArcTable] | None:
490
+ def mapping(c: CompositeColumn, t: Any=t) -> tuple[str, ArcTable]:
491
+ return (c.Cells[0].AsFreeText, t)
492
+
493
+ return map_2(mapping, t.TryGetProtocolNameColumn())
494
+
495
+ class ObjectExpr1238:
496
+ @property
497
+ def Compare(self) -> Callable[[str, str], int]:
498
+ return compare_primitives
499
+
500
+ reference_table_map: Any = of_seq_1(choose(chooser, reference_tables.Tables), ObjectExpr1238())
501
+ def _arrow1242(__unit: None=None) -> IEnumerable_1[ArcTable]:
502
+ def f_3(tupled_arg: tuple[str, Array[ArcTable]]) -> ArcTable:
503
+ def reduction(table: ArcTable, table_1: ArcTable, tupled_arg: Any=tupled_arg) -> ArcTable:
504
+ return ArcTable.append(table, table_1)
505
+
506
+ return reduce(reduction, tupled_arg[1])
507
+
508
+ def f_2(t_2: ArcTable) -> str:
509
+ return t_2.Name
510
+
511
+ def f_1(t_1: ArcTable) -> ArcTable:
512
+ def binder_1(c_1: CompositeCell, t_1: Any=t_1) -> str | None:
513
+ if c_1.AsFreeText == "":
514
+ return None
515
+
516
+ else:
517
+ return c_1.AsFreeText
518
+
519
+
520
+ def binder(i: int, t_1: Any=t_1) -> CompositeCell | None:
521
+ return t_1.TryGetCellAt(i, 0)
522
+
523
+ def predicate(x_1: CompositeHeader, t_1: Any=t_1) -> bool:
524
+ return equals(x_1, CompositeHeader(8))
525
+
526
+ k: str = default_arg(bind(binder_1, bind(binder, try_find_index(predicate, t_1.Headers))), t_1.Name)
527
+ match_value: ArcTable | None = try_find(k, reference_table_map)
528
+ if match_value is None:
529
+ return t_1
530
+
531
+ else:
532
+ rt: ArcTable = match_value
533
+ ignore(add_to_set(k, used_tables))
534
+ updated_table: ArcTable = ArcTable.update_reference_by_annotation_table(rt, t_1)
535
+ return ArcTable.from_arc_table_values(t_1.Name, updated_table.Headers, updated_table.Values)
536
+
537
+
538
+ def _arrow1241(__unit: None=None) -> Array[ArcTable]:
539
+ a: Array[ArcTable] = sheet_tables.Tables
540
+ return ResizeArray_collect(ArcTable.SplitByProtocolREF(), a)
541
+
542
+ s: Array[ArcTable] = ResizeArray_map(f_3, ResizeArray_groupBy(f_2, ResizeArray_map(f_1, _arrow1241())))
543
+ def chooser_1(kv: Any) -> ArcTable | None:
544
+ if kv[0] in used_tables:
545
+ return None
546
+
547
+ else:
548
+ return kv[1]
549
+
550
+
551
+ return append(choose(chooser_1, reference_table_map), s) if keep_unused_ref_tables_1 else s
552
+
553
+ return ArcTables(list(_arrow1242()))
554
+
555
+ def GetEnumerator(self, __unit: None=None) -> IEnumerator[ArcTable]:
556
+ this: ArcTables = self
557
+ return get_enumerator(this.Tables)
558
+
559
+ def __iter__(self) -> IEnumerator[ArcTable]:
560
+ return to_iterator(self.GetEnumerator())
561
+
562
+ def System_Collections_IEnumerable_GetEnumerator(self, __unit: None=None) -> IEnumerator[Any]:
563
+ this: ArcTables = self
564
+ return get_enumerator(this.Tables)
565
+
566
+
567
+ ArcTables_reflection = _expr1245
568
+
569
+ def ArcTables__ctor_Z420F2E1A(init_tables: Array[ArcTable]) -> ArcTables:
570
+ return ArcTables(init_tables)
571
+
572
+
573
+ __all__ = ["ArcTablesAux_tryFindIndexByTableName", "ArcTablesAux_findIndexByTableName", "ArcTablesAux_getIOMap", "ArcTablesAux_applyIOMap", "ArcTablesAux_SanityChecks_validateSheetIndex", "ArcTablesAux_SanityChecks_validateNamesUnique", "ArcTablesAux_SanityChecks_validateNewNameUnique", "ArcTablesAux_SanityChecks_validateNewNameAtUnique", "ArcTablesAux_SanityChecks_validateNewNamesUnique", "ArcTables_reflection"]
574
+