arctrl 3.0.0a3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,469 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ...fable_library.map_util import (get_item_from_dict, add_to_dict, remove_from_dict, add_to_set)
5
+ from ...fable_library.option import some
6
+ from ...fable_library.range import range_big_int
7
+ from ...fable_library.reflection import (TypeInfo, class_type)
8
+ from ...fable_library.seq import (map, iterate, is_empty, max, collect, delay, empty, singleton, min, min_by)
9
+ from ...fable_library.util import (ignore, IEnumerable_1, compare_primitives)
10
+ from ..fs_address import (FsAddress__get_RowNumber, FsAddress__get_ColumnNumber, FsAddress, FsAddress__ctor_Z37302880)
11
+ from .fs_cell import FsCell
12
+
13
+ def Dictionary_tryGet(k: Any, dict_1: Any) -> Any | None:
14
+ if k in dict_1:
15
+ return some(get_item_from_dict(dict_1, k))
16
+
17
+ else:
18
+ return None
19
+
20
+
21
+
22
+ def _expr155() -> TypeInfo:
23
+ return class_type("FsSpreadsheet.FsCellsCollection", None, FsCellsCollection)
24
+
25
+
26
+ class FsCellsCollection:
27
+ def __init__(self, __unit: None=None) -> None:
28
+ self._columnsUsed: Any = dict([])
29
+ self._deleted: Any = dict([])
30
+ self._rowsCollection: Any = dict([])
31
+ self._maxColumnUsed: int = 0
32
+ self._maxRowUsed: int = 0
33
+ self._rowsUsed: Any = dict([])
34
+ self._count: int = 0
35
+
36
+
37
+ FsCellsCollection_reflection = _expr155
38
+
39
+ def FsCellsCollection__ctor(__unit: None=None) -> FsCellsCollection:
40
+ return FsCellsCollection(__unit)
41
+
42
+
43
+ def FsCellsCollection__get_Count(this: FsCellsCollection) -> int:
44
+ return this._count
45
+
46
+
47
+ def FsCellsCollection__set_Count_Z524259A4(this: FsCellsCollection, count: int) -> None:
48
+ this._count = count or 0
49
+
50
+
51
+ def FsCellsCollection__get_MaxRowNumber(this: FsCellsCollection) -> int:
52
+ return this._maxRowUsed
53
+
54
+
55
+ def FsCellsCollection__get_MaxColumnNumber(this: FsCellsCollection) -> int:
56
+ return this._maxColumnUsed
57
+
58
+
59
+ def FsCellsCollection__Copy(this: FsCellsCollection) -> FsCellsCollection:
60
+ def mapping(c: FsCell, this: Any=this) -> FsCell:
61
+ return c.Copy()
62
+
63
+ return FsCellsCollection_createFromCells_Z21F271A4(map(mapping, FsCellsCollection__GetCells(this)))
64
+
65
+
66
+ def FsCellsCollection_copy_Z2740B3CA(cells_collection: FsCellsCollection) -> FsCellsCollection:
67
+ return FsCellsCollection__Copy(cells_collection)
68
+
69
+
70
+ def FsCellsCollection_IncrementUsage_71185086(dictionary: Any, key: int) -> None:
71
+ match_value: int | None = Dictionary_tryGet(key, dictionary)
72
+ if match_value is None:
73
+ add_to_dict(dictionary, key, 1)
74
+
75
+ else:
76
+ count: int = match_value or 0
77
+ dictionary[key] = count + 1
78
+
79
+
80
+
81
+ def FsCellsCollection_DecrementUsage_71185086(dictionary: Any, key: int) -> bool:
82
+ match_value: int | None = Dictionary_tryGet(key, dictionary)
83
+ if match_value is None:
84
+ return False
85
+
86
+ elif match_value > 1:
87
+ count_1: int = match_value or 0
88
+ dictionary[key] = count_1 - 1
89
+ return False
90
+
91
+ else:
92
+ ignore(remove_from_dict(dictionary, key))
93
+ return True
94
+
95
+
96
+
97
+ def FsCellsCollection_createFromCells_Z21F271A4(cells: IEnumerable_1[FsCell]) -> FsCellsCollection:
98
+ fcc: FsCellsCollection = FsCellsCollection__ctor()
99
+ FsCellsCollection__Add_Z21F271A4(fcc, cells)
100
+ return fcc
101
+
102
+
103
+ def FsCellsCollection__Clear(this: FsCellsCollection) -> FsCellsCollection:
104
+ this._count = 0
105
+ this._rowsUsed.clear()
106
+ this._columnsUsed.clear()
107
+ this._rowsCollection.clear()
108
+ this._maxRowUsed = 0
109
+ this._maxColumnUsed = 0
110
+ return this
111
+
112
+
113
+ def FsCellsCollection__Add_2E78CE33(this: FsCellsCollection, row: int, column: int, cell: FsCell) -> None:
114
+ cell.RowNumber = row or 0
115
+ cell.ColumnNumber = column or 0
116
+ this._count = (this._count + 1) or 0
117
+ FsCellsCollection_IncrementUsage_71185086(this._rowsUsed, row)
118
+ FsCellsCollection_IncrementUsage_71185086(this._columnsUsed, column)
119
+ def _arrow156(__unit: None=None, this: Any=this, row: Any=row, column: Any=column, cell: Any=cell) -> Any:
120
+ match_value: Any | None = Dictionary_tryGet(row, this._rowsCollection)
121
+ if match_value is None:
122
+ columns_collection_1: Any = dict([])
123
+ add_to_dict(this._rowsCollection, row, columns_collection_1)
124
+ return columns_collection_1
125
+
126
+ else:
127
+ return match_value
128
+
129
+
130
+ add_to_dict(_arrow156(), column, cell)
131
+ if row > this._maxRowUsed:
132
+ this._maxRowUsed = row or 0
133
+
134
+ if column > this._maxColumnUsed:
135
+ this._maxColumnUsed = column or 0
136
+
137
+ match_value_1: Any | None = Dictionary_tryGet(row, this._deleted)
138
+ if match_value_1 is None:
139
+ pass
140
+
141
+ else:
142
+ del_hash: Any = match_value_1
143
+ ignore(del_hash.delete(column))
144
+
145
+
146
+
147
+ def FsCellsCollection_addCellWithIndeces(row_index: int, col_index: int, cell: FsCell, cells_collection: FsCellsCollection) -> None:
148
+ FsCellsCollection__Add_2E78CE33(cells_collection, row_index, col_index, cell)
149
+
150
+
151
+ def FsCellsCollection__Add_Z334DF64D(this: FsCellsCollection, cell: FsCell) -> None:
152
+ FsCellsCollection__Add_2E78CE33(this, FsAddress__get_RowNumber(cell.Address), FsAddress__get_ColumnNumber(cell.Address), cell)
153
+
154
+
155
+ def FsCellsCollection_addCell(cell: FsCell, cells_collection: FsCellsCollection) -> FsCellsCollection:
156
+ FsCellsCollection__Add_Z334DF64D(cells_collection, cell)
157
+ return cells_collection
158
+
159
+
160
+ def FsCellsCollection__Add_Z21F271A4(this: FsCellsCollection, cells: IEnumerable_1[FsCell]) -> None:
161
+ def action(arg: FsCell, this: Any=this, cells: Any=cells) -> None:
162
+ value: None = FsCellsCollection__Add_Z334DF64D(this, arg)
163
+ ignore(None)
164
+
165
+ iterate(action, cells)
166
+
167
+
168
+ def FsCellsCollection_addCells(cells: IEnumerable_1[FsCell], cells_collection: FsCellsCollection) -> FsCellsCollection:
169
+ FsCellsCollection__Add_Z21F271A4(cells_collection, cells)
170
+ return cells_collection
171
+
172
+
173
+ def FsCellsCollection__ContainsCellAt_Z37302880(this: FsCellsCollection, row_index: int, col_index: int) -> bool:
174
+ match_value: Any | None = Dictionary_tryGet(row_index, this._rowsCollection)
175
+ if match_value is None:
176
+ return False
177
+
178
+ else:
179
+ cols_collection: Any = match_value
180
+ return cols_collection.has(col_index)
181
+
182
+
183
+
184
+ def FsCellsCollection_containsCellAt(row_index: int, col_index: int, cells_collection: FsCellsCollection) -> bool:
185
+ return FsCellsCollection__ContainsCellAt_Z37302880(cells_collection, row_index, col_index)
186
+
187
+
188
+ def FsCellsCollection__RemoveCellAt_Z37302880(this: FsCellsCollection, row: int, column: int) -> None:
189
+ this._count = (this._count - 1) or 0
190
+ row_removed: bool = FsCellsCollection_DecrementUsage_71185086(this._rowsUsed, row)
191
+ column_removed: bool = FsCellsCollection_DecrementUsage_71185086(this._columnsUsed, column)
192
+ if (row == this._maxRowUsed) if row_removed else False:
193
+ class ObjectExpr157:
194
+ @property
195
+ def Compare(self) -> Callable[[int, int], int]:
196
+ return compare_primitives
197
+
198
+ this._maxRowUsed = (max(this._rowsUsed.keys(), ObjectExpr157()) if (not is_empty(this._rowsUsed.keys())) else 0) or 0
199
+
200
+ if (column == this._maxColumnUsed) if column_removed else False:
201
+ class ObjectExpr158:
202
+ @property
203
+ def Compare(self) -> Callable[[int, int], int]:
204
+ return compare_primitives
205
+
206
+ this._maxColumnUsed = (max(this._columnsUsed.keys(), ObjectExpr158()) if (not is_empty(this._columnsUsed.keys())) else 0) or 0
207
+
208
+ match_value: Any | None = Dictionary_tryGet(row, this._deleted)
209
+ if match_value is None:
210
+ del_hash_3: Any = set([])
211
+ ignore(add_to_set(column, del_hash_3))
212
+ add_to_dict(this._deleted, row, del_hash_3)
213
+
214
+ else:
215
+ def _arrow159(__unit: None=None, this: Any=this, row: Any=row, column: Any=column) -> bool:
216
+ del_hash: Any = match_value
217
+ return del_hash.has(column)
218
+
219
+ if _arrow159():
220
+ del_hash_1: Any = match_value
221
+
222
+ else:
223
+ del_hash_2: Any = match_value
224
+ ignore(add_to_set(column, del_hash_2))
225
+
226
+
227
+ match_value_1: Any | None = Dictionary_tryGet(row, this._rowsCollection)
228
+ if match_value_1 is None:
229
+ pass
230
+
231
+ else:
232
+ columns_collection: Any = match_value_1
233
+ ignore(remove_from_dict(columns_collection, column))
234
+ if len(columns_collection) == 0:
235
+ ignore(remove_from_dict(this._rowsCollection, row))
236
+
237
+
238
+
239
+
240
+ def FsCellsCollection_removeCellAt(row_index: int, col_index: int, cells_collection: FsCellsCollection) -> FsCellsCollection:
241
+ FsCellsCollection__RemoveCellAt_Z37302880(cells_collection, row_index, col_index)
242
+ return cells_collection
243
+
244
+
245
+ def FsCellsCollection__TryRemoveValueAt_Z37302880(this: FsCellsCollection, row_index: int, col_index: int) -> None:
246
+ match_value: Any | None = Dictionary_tryGet(row_index, this._rowsCollection)
247
+ if match_value is None:
248
+ pass
249
+
250
+ else:
251
+ cols_collection: Any = match_value
252
+ try:
253
+ get_item_from_dict(cols_collection, col_index).Value = ""
254
+
255
+ except Exception as match_value_1:
256
+ pass
257
+
258
+
259
+
260
+
261
+ def FsCellsCollection_tryRemoveValueAt(row_index: int, col_index: int, cells_collection: FsCellsCollection) -> FsCellsCollection:
262
+ FsCellsCollection__TryRemoveValueAt_Z37302880(cells_collection, row_index, col_index)
263
+ return cells_collection
264
+
265
+
266
+ def FsCellsCollection__RemoveValueAt_Z37302880(this: FsCellsCollection, row_index: int, col_index: int) -> None:
267
+ get_item_from_dict(get_item_from_dict(this._rowsCollection, row_index), col_index).Value = ""
268
+
269
+
270
+ def FsCellsCollection_removeValueAt(row_index: int, col_index: int, cells_collection: FsCellsCollection) -> FsCellsCollection:
271
+ FsCellsCollection__RemoveValueAt_Z37302880(cells_collection, row_index, col_index)
272
+ return cells_collection
273
+
274
+
275
+ def FsCellsCollection__GetCells(this: FsCellsCollection) -> IEnumerable_1[FsCell]:
276
+ def mapping(columns_collection: Any, this: Any=this) -> Any:
277
+ return columns_collection.values()
278
+
279
+ return collect(mapping, this._rowsCollection.values())
280
+
281
+
282
+ def FsCellsCollection_getCells_Z2740B3CA(cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
283
+ return FsCellsCollection__GetCells(cells_collection)
284
+
285
+
286
+ def FsCellsCollection__GetCells_6611854F(this: FsCellsCollection, row_start: int, column_start: int, row_end: int, column_end: int, predicate: Callable[[FsCell], bool]) -> IEnumerable_1[FsCell]:
287
+ final_row: int = (this._maxRowUsed if (row_end > this._maxRowUsed) else row_end) or 0
288
+ final_column: int = (this._maxColumnUsed if (column_end > this._maxColumnUsed) else column_end) or 0
289
+ def _arrow164(__unit: None=None, this: Any=this, row_start: Any=row_start, column_start: Any=column_start, row_end: Any=row_end, column_end: Any=column_end, predicate: Any=predicate) -> IEnumerable_1[FsCell]:
290
+ def _arrow163(ro: int) -> IEnumerable_1[FsCell]:
291
+ match_value: Any | None = Dictionary_tryGet(ro, this._rowsCollection)
292
+ if match_value is None:
293
+ return empty()
294
+
295
+ else:
296
+ columns_collection: Any = match_value
297
+ def _arrow162(co: int) -> IEnumerable_1[FsCell]:
298
+ match_value_1: FsCell | None = Dictionary_tryGet(co, columns_collection)
299
+ (pattern_matching_result, cell_1) = (None, None)
300
+ if match_value_1 is not None:
301
+ if predicate(match_value_1):
302
+ pattern_matching_result = 0
303
+ cell_1 = match_value_1
304
+
305
+ else:
306
+ pattern_matching_result = 1
307
+
308
+
309
+ else:
310
+ pattern_matching_result = 1
311
+
312
+ if pattern_matching_result == 0:
313
+ return singleton(cell_1)
314
+
315
+ elif pattern_matching_result == 1:
316
+ return empty()
317
+
318
+
319
+ return collect(_arrow162, range_big_int(column_start, 1, final_column))
320
+
321
+
322
+ return collect(_arrow163, range_big_int(row_start, 1, final_row))
323
+
324
+ return delay(_arrow164)
325
+
326
+
327
+ def FsCellsCollection_filterCellsFromTo(row_start: int, column_start: int, row_end: int, column_end: int, predicate: Callable[[FsCell], bool], cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
328
+ return FsCellsCollection__GetCells_6611854F(cells_collection, row_start, column_start, row_end, column_end, predicate)
329
+
330
+
331
+ def FsCellsCollection__GetCells_24D826EF(this: FsCellsCollection, start_address: FsAddress, last_address: FsAddress, predicate: Callable[[FsCell], bool]) -> IEnumerable_1[FsCell]:
332
+ return FsCellsCollection__GetCells_6611854F(this, FsAddress__get_RowNumber(start_address), FsAddress__get_ColumnNumber(start_address), FsAddress__get_RowNumber(last_address), FsAddress__get_ColumnNumber(last_address), predicate)
333
+
334
+
335
+ def FsCellsCollection_filterCellsFromToAddress(start_address: FsAddress, last_address: FsAddress, predicate: Callable[[FsCell], bool], cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
336
+ return FsCellsCollection__GetCells_24D826EF(cells_collection, start_address, last_address, predicate)
337
+
338
+
339
+ def FsCellsCollection__GetCells_Z6C21C500(this: FsCellsCollection, row_start: int, column_start: int, row_end: int, column_end: int) -> IEnumerable_1[FsCell]:
340
+ final_row: int = (this._maxRowUsed if (row_end > this._maxRowUsed) else row_end) or 0
341
+ final_column: int = (this._maxColumnUsed if (column_end > this._maxColumnUsed) else column_end) or 0
342
+ def _arrow167(__unit: None=None, this: Any=this, row_start: Any=row_start, column_start: Any=column_start, row_end: Any=row_end, column_end: Any=column_end) -> IEnumerable_1[FsCell]:
343
+ def _arrow166(ro: int) -> IEnumerable_1[FsCell]:
344
+ match_value: Any | None = Dictionary_tryGet(ro, this._rowsCollection)
345
+ if match_value is None:
346
+ return empty()
347
+
348
+ else:
349
+ columns_collection: Any = match_value
350
+ def _arrow165(co: int) -> IEnumerable_1[FsCell]:
351
+ match_value_1: FsCell | None = Dictionary_tryGet(co, columns_collection)
352
+ if match_value_1 is not None:
353
+ return singleton(match_value_1)
354
+
355
+ else:
356
+ return empty()
357
+
358
+
359
+ return collect(_arrow165, range_big_int(column_start, 1, final_column))
360
+
361
+
362
+ return collect(_arrow166, range_big_int(row_start, 1, final_row))
363
+
364
+ return delay(_arrow167)
365
+
366
+
367
+ def FsCellsCollection_getCellsFromTo(row_start: int, column_start: int, row_end: int, column_end: int, cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
368
+ return FsCellsCollection__GetCells_Z6C21C500(cells_collection, row_start, column_start, row_end, column_end)
369
+
370
+
371
+ def FsCellsCollection__GetCells_7E77A4A0(this: FsCellsCollection, start_address: FsAddress, last_address: FsAddress) -> IEnumerable_1[FsCell]:
372
+ return FsCellsCollection__GetCells_Z6C21C500(this, FsAddress__get_RowNumber(start_address), FsAddress__get_ColumnNumber(start_address), FsAddress__get_RowNumber(last_address), FsAddress__get_ColumnNumber(last_address))
373
+
374
+
375
+ def FsCellsCollection_getCellsFromToAddress(start_address: FsAddress, last_address: FsAddress, cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
376
+ return FsCellsCollection__GetCells_7E77A4A0(cells_collection, start_address, last_address)
377
+
378
+
379
+ def FsCellsCollection__TryGetCell_Z37302880(this: FsCellsCollection, row: int, column: int) -> FsCell | None:
380
+ if True if (row > this._maxRowUsed) else (column > this._maxColumnUsed):
381
+ return None
382
+
383
+ else:
384
+ match_value: Any | None = Dictionary_tryGet(row, this._rowsCollection)
385
+ if match_value is None:
386
+ return None
387
+
388
+ else:
389
+ match_value_1: FsCell | None = Dictionary_tryGet(column, match_value)
390
+ if match_value_1 is None:
391
+ return None
392
+
393
+ else:
394
+ return match_value_1
395
+
396
+
397
+
398
+
399
+
400
+ def FsCellsCollection_tryGetCell(row_index: int, col_index: int, cells_collection: FsCellsCollection) -> FsCell | None:
401
+ return FsCellsCollection__TryGetCell_Z37302880(cells_collection, row_index, col_index)
402
+
403
+
404
+ def FsCellsCollection__GetCellsInColumn_Z524259A4(this: FsCellsCollection, col_index: int) -> IEnumerable_1[FsCell]:
405
+ return FsCellsCollection__GetCells_Z6C21C500(this, 1, col_index, this._maxRowUsed, col_index)
406
+
407
+
408
+ def FsCellsCollection_getCellsInColumn(col_index: int, cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
409
+ return FsCellsCollection__GetCellsInColumn_Z524259A4(cells_collection, col_index)
410
+
411
+
412
+ def FsCellsCollection__GetCellsInRow_Z524259A4(this: FsCellsCollection, row_index: int) -> IEnumerable_1[FsCell]:
413
+ return FsCellsCollection__GetCells_Z6C21C500(this, row_index, 1, row_index, this._maxColumnUsed)
414
+
415
+
416
+ def FsCellsCollection_getCellsInRow(row_index: int, cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
417
+ return FsCellsCollection__GetCellsInRow_Z524259A4(cells_collection, row_index)
418
+
419
+
420
+ def FsCellsCollection__GetFirstAddress(this: FsCellsCollection) -> FsAddress:
421
+ if True if is_empty(this._rowsCollection) else is_empty(this._rowsCollection.keys()):
422
+ return FsAddress__ctor_Z37302880(0, 0)
423
+
424
+ else:
425
+ class ObjectExpr168:
426
+ @property
427
+ def Compare(self) -> Callable[[int, int], int]:
428
+ return compare_primitives
429
+
430
+ def _arrow172(__unit: None=None, this: Any=this) -> int:
431
+ def projection(d: Any) -> int:
432
+ class ObjectExpr169:
433
+ @property
434
+ def Compare(self) -> Callable[[int, int], int]:
435
+ return compare_primitives
436
+
437
+ return min(d.keys(), ObjectExpr169())
438
+
439
+ class ObjectExpr170:
440
+ @property
441
+ def Compare(self) -> Callable[[int, int], int]:
442
+ return compare_primitives
443
+
444
+ d_1: Any = min_by(projection, this._rowsCollection.values(), ObjectExpr170())
445
+ class ObjectExpr171:
446
+ @property
447
+ def Compare(self) -> Callable[[int, int], int]:
448
+ return compare_primitives
449
+
450
+ return min(d_1.keys(), ObjectExpr171())
451
+
452
+ return FsAddress__ctor_Z37302880(min(this._rowsCollection.keys(), ObjectExpr168()), _arrow172())
453
+
454
+
455
+
456
+ def FsCellsCollection_getFirstAddress_Z2740B3CA(cells: FsCellsCollection) -> FsAddress:
457
+ return FsCellsCollection__GetFirstAddress(cells)
458
+
459
+
460
+ def FsCellsCollection__GetLastAddress(this: FsCellsCollection) -> FsAddress:
461
+ return FsAddress__ctor_Z37302880(FsCellsCollection__get_MaxRowNumber(this), FsCellsCollection__get_MaxColumnNumber(this))
462
+
463
+
464
+ def FsCellsCollection_getLastAddress_Z2740B3CA(cells: FsCellsCollection) -> FsAddress:
465
+ return FsCellsCollection__GetLastAddress(cells)
466
+
467
+
468
+ __all__ = ["Dictionary_tryGet", "FsCellsCollection_reflection", "FsCellsCollection__get_Count", "FsCellsCollection__set_Count_Z524259A4", "FsCellsCollection__get_MaxRowNumber", "FsCellsCollection__get_MaxColumnNumber", "FsCellsCollection__Copy", "FsCellsCollection_copy_Z2740B3CA", "FsCellsCollection_IncrementUsage_71185086", "FsCellsCollection_DecrementUsage_71185086", "FsCellsCollection_createFromCells_Z21F271A4", "FsCellsCollection__Clear", "FsCellsCollection__Add_2E78CE33", "FsCellsCollection_addCellWithIndeces", "FsCellsCollection__Add_Z334DF64D", "FsCellsCollection_addCell", "FsCellsCollection__Add_Z21F271A4", "FsCellsCollection_addCells", "FsCellsCollection__ContainsCellAt_Z37302880", "FsCellsCollection_containsCellAt", "FsCellsCollection__RemoveCellAt_Z37302880", "FsCellsCollection_removeCellAt", "FsCellsCollection__TryRemoveValueAt_Z37302880", "FsCellsCollection_tryRemoveValueAt", "FsCellsCollection__RemoveValueAt_Z37302880", "FsCellsCollection_removeValueAt", "FsCellsCollection__GetCells", "FsCellsCollection_getCells_Z2740B3CA", "FsCellsCollection__GetCells_6611854F", "FsCellsCollection_filterCellsFromTo", "FsCellsCollection__GetCells_24D826EF", "FsCellsCollection_filterCellsFromToAddress", "FsCellsCollection__GetCells_Z6C21C500", "FsCellsCollection_getCellsFromTo", "FsCellsCollection__GetCells_7E77A4A0", "FsCellsCollection_getCellsFromToAddress", "FsCellsCollection__TryGetCell_Z37302880", "FsCellsCollection_tryGetCell", "FsCellsCollection__GetCellsInColumn_Z524259A4", "FsCellsCollection_getCellsInColumn", "FsCellsCollection__GetCellsInRow_Z524259A4", "FsCellsCollection_getCellsInRow", "FsCellsCollection__GetFirstAddress", "FsCellsCollection_getFirstAddress_Z2740B3CA", "FsCellsCollection__GetLastAddress", "FsCellsCollection_getLastAddress_Z2740B3CA"]
469
+
File without changes
@@ -0,0 +1,214 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ...fable_library.list import (reduce, map, FSharpList, empty, append, is_empty, tail, head)
5
+ from ...fable_library.reflection import (TypeInfo, char_type, union_type, class_type)
6
+ from ...fable_library.string_ import (to_text, printf)
7
+ from ...fable_library.types import (Array, Union, to_string)
8
+ from ..Cells.fs_cell import DataType
9
+ from .expression import (RequiredSource_1__ctor_2B595, RequiredSource_1, OptionalSource_1__ctor_2B595, OptionalSource_1, RequiredSource_1__get_Source, OptionalSource_1__get_Source)
10
+ from .types import (SheetEntity_1, Message__MapText_11D407F6, Message, SheetEntity_1__get_Messages)
11
+
12
+ def _expr261() -> TypeInfo:
13
+ return union_type("FsSpreadsheet.DSL.ReduceOperation", [], ReduceOperation, lambda: [[("Item", char_type)]])
14
+
15
+
16
+ class ReduceOperation(Union):
17
+ def __init__(self, tag: int, *fields: Any) -> None:
18
+ super().__init__()
19
+ self.tag: int = tag or 0
20
+ self.fields: Array[Any] = list(fields)
21
+
22
+ @staticmethod
23
+ def cases() -> list[str]:
24
+ return ["Concat"]
25
+
26
+
27
+ ReduceOperation_reflection = _expr261
28
+
29
+ def ReduceOperation__Reduce_70D1A69E(this: ReduceOperation, values: FSharpList[tuple[DataType, Any]]) -> tuple[DataType, Any]:
30
+ def reduction(a: str, b: str, this: Any=this, values: Any=values) -> str:
31
+ return ((((("" + a) + "") + str(this.fields[0])) + "") + b) + ""
32
+
33
+ def mapping(arg: tuple[DataType, Any], this: Any=this, values: Any=values) -> str:
34
+ return to_string(arg[1])
35
+
36
+ return (DataType(0), reduce(reduction, map(mapping, values)))
37
+
38
+
39
+ def _expr262() -> TypeInfo:
40
+ return class_type("FsSpreadsheet.DSL.CellBuilder", None, CellBuilder)
41
+
42
+
43
+ class CellBuilder:
44
+ def __init__(self, __unit: None=None) -> None:
45
+ self.reducer: ReduceOperation = ReduceOperation(0, ",")
46
+
47
+
48
+ CellBuilder_reflection = _expr262
49
+
50
+ def CellBuilder__ctor(__unit: None=None) -> CellBuilder:
51
+ return CellBuilder(__unit)
52
+
53
+
54
+ def CellBuilder_get_Empty(__unit: None=None) -> SheetEntity_1[FSharpList[tuple[DataType, Any]]]:
55
+ return SheetEntity_1(1, empty())
56
+
57
+
58
+ def CellBuilder__SignMessages_3F89FFFC(this: CellBuilder, messages: FSharpList[Message]) -> FSharpList[Message]:
59
+ def mapping(m: Message, this: Any=this, messages: Any=messages) -> Message:
60
+ def _arrow263(__unit: None=None, m: Any=m) -> Callable[[str], str]:
61
+ clo: Callable[[str], str] = to_text(printf("In Cell: %s"))
62
+ return clo
63
+
64
+ return Message__MapText_11D407F6(m, _arrow263())
65
+
66
+ return map(mapping, messages)
67
+
68
+
69
+ def CellBuilder__Yield_36B9E420(this: CellBuilder, ro: ReduceOperation) -> SheetEntity_1[FSharpList[tuple[DataType, Any]]]:
70
+ this.reducer = ro
71
+ return SheetEntity_1(1, empty())
72
+
73
+
74
+ def CellBuilder__Combine_F07E260(this: CellBuilder, wx1: SheetEntity_1[FSharpList[tuple[DataType, Any]]], wx2: SheetEntity_1[FSharpList[tuple[DataType, Any]]]) -> SheetEntity_1[FSharpList[tuple[DataType, Any]]]:
75
+ (pattern_matching_result, l1, l2, messages1, messages2, messages2_1, messages1_1, f1, messages1_2, messages2_2, f2, messages1_3, messages2_3, messages1_4, messages2_4) = (None, None, None, None, None, None, None, None, None, None, None, None, None, None, None)
76
+ if wx1.tag == 2:
77
+ if wx2.tag == 2:
78
+ pattern_matching_result = 1
79
+ messages2_1 = wx2.fields[0]
80
+
81
+ else:
82
+ pattern_matching_result = 2
83
+ messages1_1 = wx1.fields[0]
84
+
85
+
86
+ elif wx1.tag == 1:
87
+ if wx2.tag == 0:
88
+ pattern_matching_result = 4
89
+ f2 = wx2.fields[0]
90
+ messages1_3 = wx1.fields[0]
91
+ messages2_3 = wx2.fields[1]
92
+
93
+ elif wx2.tag == 1:
94
+ pattern_matching_result = 5
95
+ messages1_4 = wx1.fields[0]
96
+ messages2_4 = wx2.fields[0]
97
+
98
+ else:
99
+ pattern_matching_result = 1
100
+ messages2_1 = wx2.fields[0]
101
+
102
+
103
+ elif wx2.tag == 2:
104
+ pattern_matching_result = 1
105
+ messages2_1 = wx2.fields[0]
106
+
107
+ elif wx2.tag == 1:
108
+ pattern_matching_result = 3
109
+ f1 = wx1.fields[0]
110
+ messages1_2 = wx1.fields[1]
111
+ messages2_2 = wx2.fields[0]
112
+
113
+ else:
114
+ pattern_matching_result = 0
115
+ l1 = wx1.fields[0]
116
+ l2 = wx2.fields[0]
117
+ messages1 = wx1.fields[1]
118
+ messages2 = wx2.fields[1]
119
+
120
+ if pattern_matching_result == 0:
121
+ return SheetEntity_1(0, append(l1, l2), append(messages1, messages2))
122
+
123
+ elif pattern_matching_result == 1:
124
+ return SheetEntity_1(2, append(SheetEntity_1__get_Messages(wx1), messages2_1))
125
+
126
+ elif pattern_matching_result == 2:
127
+ return SheetEntity_1(2, append(messages1_1, SheetEntity_1__get_Messages(wx2)))
128
+
129
+ elif pattern_matching_result == 3:
130
+ return SheetEntity_1(0, f1, append(messages1_2, messages2_2))
131
+
132
+ elif pattern_matching_result == 4:
133
+ return SheetEntity_1(0, f2, append(messages1_3, messages2_3))
134
+
135
+ elif pattern_matching_result == 5:
136
+ return SheetEntity_1(1, append(messages1_4, messages2_4))
137
+
138
+
139
+
140
+ def CellBuilder__Combine_4BCE267E(this: CellBuilder, wx1: RequiredSource_1[None], wx2: SheetEntity_1[FSharpList[tuple[DataType, Any]]]) -> RequiredSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]:
141
+ return RequiredSource_1__ctor_2B595(wx2)
142
+
143
+
144
+ def CellBuilder__Combine_Z2CF9C142(this: CellBuilder, wx1: SheetEntity_1[FSharpList[tuple[DataType, Any]]], wx2: RequiredSource_1[None]) -> RequiredSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]:
145
+ return RequiredSource_1__ctor_2B595(wx1)
146
+
147
+
148
+ def CellBuilder__Combine_583F6A19(this: CellBuilder, wx1: OptionalSource_1[None], wx2: SheetEntity_1[FSharpList[tuple[DataType, Any]]]) -> OptionalSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]:
149
+ return OptionalSource_1__ctor_2B595(wx2)
150
+
151
+
152
+ def CellBuilder__Combine_168D7AF9(this: CellBuilder, wx1: SheetEntity_1[FSharpList[tuple[DataType, Any]]], wx2: OptionalSource_1[None]) -> OptionalSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]:
153
+ return OptionalSource_1__ctor_2B595(wx1)
154
+
155
+
156
+ def CellBuilder__Combine_32507AAF(this: CellBuilder, wx1: RequiredSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]], wx2: SheetEntity_1[FSharpList[tuple[DataType, Any]]]) -> RequiredSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]:
157
+ return RequiredSource_1__ctor_2B595(CellBuilder__Combine_F07E260(this, RequiredSource_1__get_Source(wx1), wx2))
158
+
159
+
160
+ def CellBuilder__Combine_Z3ABF6771(this: CellBuilder, wx1: SheetEntity_1[FSharpList[tuple[DataType, Any]]], wx2: RequiredSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]) -> RequiredSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]:
161
+ return RequiredSource_1__ctor_2B595(CellBuilder__Combine_F07E260(this, wx1, RequiredSource_1__get_Source(wx2)))
162
+
163
+
164
+ def CellBuilder__Combine_Z2BFC83F8(this: CellBuilder, wx1: OptionalSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]], wx2: SheetEntity_1[FSharpList[tuple[DataType, Any]]]) -> OptionalSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]:
165
+ return OptionalSource_1__ctor_2B595(CellBuilder__Combine_F07E260(this, OptionalSource_1__get_Source(wx1), wx2))
166
+
167
+
168
+ def CellBuilder__Combine_245D6C8(this: CellBuilder, wx1: SheetEntity_1[FSharpList[tuple[DataType, Any]]], wx2: OptionalSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]) -> OptionalSource_1[SheetEntity_1[FSharpList[tuple[DataType, Any]]]]:
169
+ return OptionalSource_1__ctor_2B595(CellBuilder__Combine_F07E260(this, wx1, OptionalSource_1__get_Source(wx2)))
170
+
171
+
172
+ def CellBuilder__AsCellElement_6F87C2ED(this: CellBuilder, children: SheetEntity_1[FSharpList[tuple[DataType, Any]]]) -> SheetEntity_1[tuple[tuple[DataType, Any], int | None]]:
173
+ (pattern_matching_result, messages, v, messages_1, vals, messages_2, messages_3) = (None, None, None, None, None, None, None)
174
+ if children.tag == 2:
175
+ pattern_matching_result = 2
176
+ messages_2 = children.fields[0]
177
+
178
+ elif children.tag == 1:
179
+ pattern_matching_result = 3
180
+ messages_3 = children.fields[0]
181
+
182
+ elif not is_empty(children.fields[0]):
183
+ if is_empty(tail(children.fields[0])):
184
+ pattern_matching_result = 0
185
+ messages = children.fields[1]
186
+ v = head(children.fields[0])
187
+
188
+ else:
189
+ pattern_matching_result = 1
190
+ messages_1 = children.fields[1]
191
+ vals = children.fields[0]
192
+
193
+
194
+ else:
195
+ pattern_matching_result = 1
196
+ messages_1 = children.fields[1]
197
+ vals = children.fields[0]
198
+
199
+ if pattern_matching_result == 0:
200
+ return SheetEntity_1(0, (v, None), messages)
201
+
202
+ elif pattern_matching_result == 1:
203
+ return SheetEntity_1(0, (ReduceOperation__Reduce_70D1A69E(this.reducer, vals), None), messages_1)
204
+
205
+ elif pattern_matching_result == 2:
206
+ return SheetEntity_1(2, messages_2)
207
+
208
+ elif pattern_matching_result == 3:
209
+ return SheetEntity_1(1, messages_3)
210
+
211
+
212
+
213
+ __all__ = ["ReduceOperation_reflection", "ReduceOperation__Reduce_70D1A69E", "CellBuilder_reflection", "CellBuilder_get_Empty", "CellBuilder__SignMessages_3F89FFFC", "CellBuilder__Yield_36B9E420", "CellBuilder__Combine_F07E260", "CellBuilder__Combine_4BCE267E", "CellBuilder__Combine_Z2CF9C142", "CellBuilder__Combine_583F6A19", "CellBuilder__Combine_168D7AF9", "CellBuilder__Combine_32507AAF", "CellBuilder__Combine_Z3ABF6771", "CellBuilder__Combine_Z2BFC83F8", "CellBuilder__Combine_245D6C8", "CellBuilder__AsCellElement_6F87C2ED"]
214
+